java解非线性方程组_Scipy - 非线性方程组的所有解
我有一個非線性方程組,其中任何n都可以選擇,因此向量x =(x1,...,xn)的長度可以不同 . 例如,系統(tǒng)可以是這樣的:
f1(x1,...,xn) = sum( xi + xi^2 ) = 0, i={1,n}
f2(x1,...,xn) = sum( e^xi + xi + sin(xi*pi) ) = 0, i={1,n}
根據(jù)this example,我使用scipy庫的fsolve()來解決這樣的NLE,但是對于每個* x = x0的初始近似,它只返回一個解 . 但由于n可能很大(例如,n = 100),并且可能存在大量解決方案,因此找到每個解決方案的初始條件x = x0并不是非常有用 .
所以,請你舉個例子,如何在這種情況下通過fsolve()找到 All 解決方案?或者通過任何其他簡單的方法?
Additional 例如,我有一個簡單的系統(tǒng):
def equations(p):
x, y = p
return (x**2-1, x**3-1)
對于不同的初始條件我有不同的解:x,y = fsolve(方程,(0,0))(0.0,0.0)
x, y = fsolve(equations, (1, 1))
(1.0, 1.0)
x, y = fsolve(equations, (-1, 1))
(-0.47029706057873205, 0.41417128904566508)
是否可以使用任何Scipy函數(shù)(如fsolve())來查找所有解(根),例如:x,y = some_scipy_solver(equation,(x0,y0))1 . (1.0,1.0)2 . (0.0,0.0)3 . ( - 0.47029706057873205,0.41417128904566508)...
其中(x0,y0)=任何初始近似值:(0,0),(1,1),( - 1,1),(0.1,10.0)等,我只確定x0,y0的約束,像這樣:-1.0 <= x0 <1.0,0.0 <= x0 <11.0 .
總結(jié)
以上是生活随笔為你收集整理的java解非线性方程组_Scipy - 非线性方程组的所有解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 中断线程 wait_Java
- 下一篇: java isodate格式_fmt:f