python - 方程组 SciPy
问题描述
我想解决这样一个方程组:
21.7424698112 = A + B*2^{-x}
22.4531418345 = A + B*3^{-x}
23.8033967265 = A + B*4^{-x}
我编写了一个脚本来查找 A、B 和 x 变量:
#!/usr/bin/env python
import numpy as np
from scipy.optimize import root
def your_funcs(X):
A, B, x = X
f = [21.7424698112-A-B*(1/2**x),
22.4531418345-A-B*(1/3**x),
23.8033967265-A-B*(1/4**x)]
return f
sol = root(your_funcs, [1.0, 1.0, 1.0])
print(sol.x)
这种方法导致以下解决方案:
[ 22.66633613 -50.69139062 105.89893632]
我检查了解决方案,结果发现这些值不满足上述方程。我究竟做错了什么?我应该知道什么吗?
解决方案
推荐阅读
- bash - 有没有更好的方法将 MacOS Volume 作为整数值?(重击)
- mysql - 检查点是否在多个多边形 MySQL
- c# - 如何在 Entity Framework Core 中调试和修复“Nullable object must have a value”?
- c# - Roslyn 中 VisualBasic.Syntax API 类中 CSharp.Syntax.BlockSyntax 的等价物是什么?
- c# - C# WPF 中 DLL 的资源字典
- java - 如何在wait()之前执行notify(),我尝试使用sleep()但仍然无法正常工作
- java - 这是“静态 Bean”的一个例子吗?
- html - 下载 XML 页面的 HTML 版本
- microcontroller - 使用 UART 和微控制器 (AT90CAN64) 的 XBee Pro S3B/XSC 问题
- azure-devops - YAML 发布阶段的内置发布变量和变量组