ホームページ > 記事 > コンピューターのチュートリアル > matlabにおける非線形方程式の反復法の実装方法を詳しく解説
ニュートン反復法:
関数[x0,n]=ニュートン(fx,dfx,x0,tol,N)
% ニュートン反復法
% 最初のパラメータ fx は、変数 x に関する目的の関数式です。
% 2 番目のパラメーター dfx は、fx の 1 次導関数です。
% x0 は反復の初期値です。
% tol は反復誤差の制限です。
% N 最大反復回数。
x=x0;f0=eval(fx);df0=eval(dfx);
n=0;
disp('[ n xn xn 1 デルタ ]');
while n
x1=x0-f0/df0;
x=x1;f1=eval(fx);df1=eval(dfx);
デルタ=abs(x0-x1);
% X=[n,x0,x1,デルタ];
disp(X); % は中間結果を表示するために使用されます
if デルタ fprintf('反復計算が成功しました') n=n 1; x0=x1;f0=f1;df0=df1; if n==N 1 fprintf('反復計算が失敗しました') 他の 2 つは、これに基づいて少し変更できます。 ニュートン反復を使用して非線形方程式を解く MATLAB プログラム 完全版を提供します: % 非線形方程式を解くためのニュートン法 関数 main() clc;すべてクリア; df = @(x)(1 cos(x))/(x sin(x)); % 微分関数 x0 = 0.1; % 反復初期値 x = TestNewton(f, df, x0) % ニュートン法の解 関数 x = TestNewton(fname, dfname, x0, e, N) % 目的: 非線形方程式 f(x)=0 % fname と dfname はそれぞれ、f(x) とその導関数の M 関数ハンドルまたは埋め込み関数式を表します % x0 は反復の初期値、e は精度 (デフォルト値 1e-7) % x は数値解を返し、計算過程を表示します 発散を防ぐための反復回数 N の上限を設定します (デフォルトは 500 回) % 入力パラメータ if ナルギン
N = 500; if ナルギン
e = 1e-7;
k = 0; % ステップ数
###終わり###
###終わり###
###結果:###
f = @(x)log(x sin(x)); % テスト関数
以上がmatlabにおける非線形方程式の反復法の実装方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。