非線形方程式によってMATLAB-fsolveは関数計算

次のテンプレートを適用するためのコードを記録

オプション= optimsetを( 'MaxFunEvals'、1E4、 'MaxIter可能'、1E4); 

[X、FVAL、れるexitflag] = fsolveは(@(X)myfun1(X)、[75; 1.5]、オプション)

関数F = myfun1(X )
F =タン(X(1)* PI / 180) - ((1025 * 9.8 * PI * X(2)/ 4から980)/(0.625 * 4(2-X(2))* 24 * 24 ));%つの未知数のX(1)とx(2)、着信にパラメータを渡す
オプションセットの要件、精度範囲として理解、デフォルトはありませんが、あまり問題ではありません。

[75; 1.5]は、初期値の近傍における最適解を見つけるために、初期値x(1)、X(2)は、同じ番号が初期値と異なる場合、[75 1.5 701]です。理解するために:より最適解があるかもしれない、初期値と同じでない場合は、最適な解決策は同じではありません。ほとんどすべての非線形近似解。初期値の設定方法としては、このようなむしろ1020年度よりも約60度以上の壁にポールの傾斜角、として、問題の分析と組み合わせます。

ケースmyfun1関数を解くと、F = 0です。

FVALは小さく、より良い、エラーを表します。

exitflagをは理想的な時間1のための反復終了基準を表します。

1 fsolveはルートに収束しました。

Xで2変更小さすぎます。

残差ノルムで3変化は小さすぎます。

4コンピュー検索方向小さすぎます。

関数評価または反復の0が多すぎます。

-1出力/プロット機能により停止。

-2ルートではない点に収束します。

-3信頼領域の半径が小さすぎる(信頼領域ドッグレッグ)。

2未知数X(1)とx(2)、それぞれ、最終の2つの値を見つけます。

複数の式は、一般的にリンクされている場合、他の相対的な未知の式により要求した後に得られました。

 

おすすめ

転載: www.cnblogs.com/shoulinniao/p/11440844.html