當前位置:編程學習大全網 - 編程軟體 - 求壹道用matlab編程解非線性方程組

求壹道用matlab編程解非線性方程組

對於非線性方程組F(X)=0,用fsolve函數求其數值解。fsolve函數的調用格式為: X=fsolve('fun',X0,option) 其中X為返回的解,fun是用於定義需求解的非線性方程組的函數文件名,X0是求根過程的初值,option為最優化工具箱的選項設定。最優化工具箱提供了20多個選項,用戶可以使用optimset命令將它們顯示出來。如果想改變其中某個選項,則可以調用optimset()函數來完成。例如,Display選項決定函數調用時中間結果的顯示方式,其中‘off’為不顯示,‘iter’表示每步都顯示,‘final’只顯示最終結果。optimset(‘Display’,‘off’)將設定Display選項為‘off’。 例如:求下列非線性方程組在(0.5,0.5) 附近的數值解。 (1) 建立函數文件myfun.m。 function 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函數求方程的根。 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 可見得到了較高精度的結果。

  • 上一篇:2022北京冬奧會的主題口號是什麽?
  • 下一篇:51編程中文
  • copyright 2024編程學習大全網