fsolve函數(shù)實(shí)例 如何使用fsolve函數(shù)?
如何使用fsolve函數(shù)?X=fsolve(fun,x0)求解fun(X)=0的解,x0是初值,fun是函數(shù),X是解,因?yàn)閒solve使用迭代法求解方程,所以必須有一個(gè)迭代初值,這個(gè)初值就是你給出的x
如何使用fsolve函數(shù)?
X=fsolve(fun,x0)求解fun(X)=0的解,x0是初值,fun是函數(shù),X是解,因?yàn)閒solve使用迭代法求解方程,所以必須有一個(gè)迭代初值,這個(gè)初值就是你給出的x0。例如,求解方程組x(1)。^2個(gè)(2)。^2=1 x(1)=2*x(2)可以寫成F=@(x)([x(1))。^2個(gè)(2)。^2-1 x(1)-2*x(2)])x=fsolve(F,[1,1]),其中[1,1]是初始值,實(shí)際上初始值一般可以自由給定。
MATLAB用fsolve解方程?
[x,F(xiàn)val,exitflag]=fsolve(fun,x0)
您可以使用fsolve函數(shù)再返回兩條消息
一條是返回x對應(yīng)的函數(shù)值Fval,另一條是函數(shù)返回狀態(tài)exitflag
fsolve不是萬能的,不是所有函數(shù)都能找到解決方案
特別是當(dāng)您的初始值選擇遠(yuǎn)離正確的解
或者函數(shù)有更多的奇點(diǎn)和不連續(xù)點(diǎn)]]在這種情況下,可以使用Fval和exitflag來判斷返回的解是否正確
Fval對應(yīng)于X的返回值,它是原函數(shù)的值
如果x是正確的解,如果exitflag等于1,則為最后一種情況,表示找到了滿足精度要求的解
如果exitflag不等于1,則表示存在某個(gè)問題,則解x不可信,或者甚至是錯(cuò)誤的
下面是exitflag你可以要求fsolve返回這兩個(gè)信息并根據(jù)它們得到正確的解
如果你不能得到正確的解,你可以嘗試更改初始值
更改錯(cuò)誤要求或最大計(jì)算步驟
你好,我不是不,我很高興為你回答。你所說的不是一個(gè)由四個(gè)變量組成的線性方程組。一般情況下,非線性方程組只能用數(shù)值方法求解,不能用函數(shù)求解。利用fsolve得到合適的初值可以解決更多的專業(yè)科普知識,歡迎關(guān)注我。如果你喜歡我的回答,也請給我表揚(yáng)或轉(zhuǎn)發(fā),你的鼓勵(lì)是支持我寫下來的動(dòng)力,謝謝。