matlab中options函數(shù) 如何使用fsolve函數(shù)?
如何使用fsolve函數(shù)?*對于非線性方程組f(x)=0,用f函數(shù)求解。fsolve函數(shù)的調用格式為:x=fsolve(“fun”,x0,option)其中x是返回的解,fun是用于定義需求解的非線性
如何使用fsolve函數(shù)?
*對于非線性方程組f(x)=0,用f函數(shù)求解。fsolve函數(shù)的調用格式為:
x=fsolve(“fun”,x0,option)
其中x是返回的解,fun是用于定義需求解的非線性方程的函數(shù)文件名,x0是根過程的初始值,option是優(yōu)化工具箱的選項設置。優(yōu)化工具箱提供了20多個選項,用戶可以使用optimset命令顯示這些選項。如果要更改其中一個選項,可以調用optimset()函數(shù)。例如,display選項確定調用函數(shù)時如何顯示中間結果,其中“off”表示不顯示,“ITER”表示顯示每個步驟,“final”僅顯示最終結果。Optimset(“display”,“off”)將顯示選項設置為“off”。
例如,得到了(0.5,0.5)附近以下非線性方程的數(shù)值解。
(1)創(chuàng)建函數(shù)文件myfun。M.
函數(shù)q=myfun(P)
x=P(1)
y=P(2)
q(1)=x-0.6*sin(x)-0.3*cos(y)
q(2)=y-0.6*cos(x)0.3*sin(y)
(2)在給定的初始值x0=0.5,Y0=0.5中,調用fsolve函數(shù)來找到方程的根。
X=fsolve(“myfun”,[0.5,0.5]”,optimset(“display”,“off”)
X=
0.6354
0.3734
將解替換回原始方程,檢查結果是否正確。順序如下:
Q=myfun(x)
Q=
1.0e-009*
0.2375 0.2957
可以看出,得到的結果精度更高。
如何使用fsolve函數(shù)?
X=fsolve(fun,x0)求解fun(X)=0的解,x0是初值,fun是函數(shù),X是解,因為fsolve使用迭代法求解方程,所以必須有一個迭代初值,這個初值就是你給出的x0。例如,求解方程組x(1)。^2個(2)。^2=1 x(1)=2*x(2)可以寫成F=@(x)([x(1))。^2個(2)。^2-1 x(1)-2*x(2)])x=fsolve(F,[1,1]),其中[1,1]是初始值,實際上初始值一般可以自由給定。