- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在 scipy 中使用 root-finder 时,我似乎遇到了错误。我想知道是否有人可以指出我做错了什么。
我找到的根源函数只是一个简单的例子,并不是特别重要。
如果我使用 scipy 0.9.0 运行此代码:
import numpy as np
from scipy.optimize import fsolve
tmpFunc = lambda xIn: (xIn[0]-4)**2 + (xIn[1]-5)**2 + (xIn[2]-7)**3
x0 = [3,4,5]
xFinal = fsolve(tmpFunc, x0 )
print xFinal
我收到以下错误消息:
Traceback (most recent call last):
File "tmpStack.py", line 7, in <module>
xFinal = fsolve(tmpFunc, x0 )
File "/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py", line 115, in fsolve
_check_func('fsolve', 'func', func, x0, args, n, (n,))
File "/usr/lib/python2.7/dist-packages/scipy/optimize/minpack.py", line 26, in _check_func
raise TypeError(msg)
TypeError: fsolve: there is a mismatch between the input and output shape of the 'func' argument '<lambda>'.
最佳答案
看来我试图错误地使用这个例程。该例程需要与我提供的具有三个变量的一个方程相同数量的方程和变量。因此,如果要最小化的函数的输入是 3-D 数组,则输出也应该是 3-D 数组。此代码有效:
import numpy as np
from scipy.optimize import fsolve
tmpFunc = lambda xIn: np.array( [(xIn[0]-4)**2 + xIn[1], (xIn[1]-5)**2 - xIn[2]) \
, (xIn[2]-7)**3 + xIn[0] ] )
x0 = [3,4,5]
xFinal = fsolve(tmpFunc, x0 )
print xFinal
表示同时求解三个方程。
关于python - scipy.optimize.fsolve 中的输入/输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10505378/
为什么下面的代码会返回 ValueError? from scipy.optimize import fsolve import numpy as np def f(p,a=0): x,y =
我没有太多使用 Python 的经验,但我决定尝试用它来求解以下方程组: x = A * exp (x+y) y = 4 * exp (x+y) 我想求解这个系统并绘制 x 和 y 作为 A 的函数。
我用 Python 编写了一个脚本,它使用 fsolve 找到一个相当复杂的函数的零。它的工作方式如下。有一个类只是简单地存储函数的参数。该类有一个 evaluate 方法,它根据存储的参数返回一个值
有没有办法在 MATLAB 中使用 fsolve,指定解的边界?即所有解决方案变量 > 0 最佳答案 不是直接的,但解决这个问题的一个方法是在你的方程式中添加一个项来约束你的问题。 我没有优化工具箱,
每当 fsolve 完成时,它都会给出输出 Equation solved. fsolve completed because the vector of function values is nea
我正在求解一个包含许多常数的非线性方程。 我创建了一个函数来解决这样的问题: def terminalV(Vt, data): from numpy import sqrt ro_p,
我有下面的工作功能。我有一个函数,可以从中计算一阶和二阶导数。然后我需要找到一阶导数为零而第二个导数为负的 theta 值。我必须为大量点计算这个。点数等于K1和K2的长度。使用 sympy 我计算一
我想使用 fsolve 求解 alpha 和 beta(来自 Beta 发行版) import numpy as np from scipy.optimize import fsolve def me
我一直在尝试找到一种方法,使用另一个已知变量来求解函数的一个变量。例如。 def f(x,y): return x+y sol=scipy.optimize.fsolve(f(x,1),0)
有了函数 f(x,y,z),我需要求解限制 f(x,y,z) = 0,然后绘制它。我试图为每一对 (y,z) 找到 f(x,y,z) = 0 的值 x: from numpy import * fro
我试图通过在 python 2.7 中使用 scipy.optimize.fsolve 找到方程组的解。目标是计算化学系统的平衡浓度。由于问题的性质,一些常量非常小。现在对于某些组合,我确实得到了适当
我试图找到一个二维优化问题的根,形式如下(下面不是实际的方程,因为它很长,这只是问题类型的一个例子)。 def my_function(a,b): c = exp(a) + b d =
我目前正在尝试从我的代码(粘贴在下面)中找到 2 个方程的截距。我正在使用 fsolve 并且在一部分中成功地使用了它,但我无法让它在第二部分工作。 令人困惑的是,它没有显示错误,如果您将此代码粘贴到
根据我得到的帮助here我一直在尝试在我的脚本中实现它,但我未能巧妙地运行它。 我需要对 4072x3080 图像的每个像素使用此算法,整个过程大约需要 1 小时 30 秒,所以我尝试以某种方式强制它
scipy.optimize.fsolve 似乎不适用于调用自身的函数。这是一个 MWE from scipy.optimize import fsolve def f(x): if f.n=
我想使用 Python 求解 6 个非线性方程组。我发现我可以很容易地使用 scipy 的 fsolve 来求解 3 个非线性方程组。然而,当我将其扩展到更大的系统时,我发现该解并不能解决方程组。有什
我有以下功能: Eq = @(x1, x2) [x1-6, x2+3]; fsolve(Eq, [4 1]) 但出现以下错误: ??? Input argument "x2" is undefined
fsolve 从起始估计中找到非线性方程(系统)的解。我可以对我的函数调用进行矢量化,以在多个起点上使用 fsolve 并可能找到多个解决方案,如 here 所解释的那样。在 this问题描述了如何使
我正在使用此代码获取非线性函数的零点。最肯定的是,该函数应该有 1 个或 3 个零 import numpy as np import matplotlib.pylab as plt from sci
我在 matlab 上有一个程序,但我想在 python 中转换,我的 matlab 代码是: function [f]=equation1(x) %options = optimoptions('f
我是一名优秀的程序员,十分优秀!