Heim  >  Artikel  >  Computer-Tutorials  >  Detaillierte Erläuterung der Implementierungsmethode der iterativen Methode nichtlinearer Gleichungen in Matlab

Detaillierte Erläuterung der Implementierungsmethode der iterativen Methode nichtlinearer Gleichungen in Matlab

WBOY
WBOYnach vorne
2024-01-08 16:06:35839Durchsuche

Detaillierte Beschreibung der Matlab-Implementierung der Iterationsmethode für nichtlineare Gleichungssysteme

Newton-Iterationsmethode:

Funktion[x0,n]=Newton(fx,dfx,x0,tol,N)

% Newton-Iterationsmethode

% Der erste Parameter fx ist der gewünschte Funktionsausdruck über die Variable x.

% Der zweite Parameter dfx ist die erste Ableitung von fx.

% x0 ist der Anfangswert der Iteration.

% Tol ist die Iterationsfehlergrenze.

% N Maximale Anzahl von Iterationen.

x=x0;f0=eval(fx);df0=eval(dfx);

n=0;

disp('[ n xn xn+1 delta ]');

während n

x1=x0-f0/df0;

x=x1;f1=eval(fx);df1=eval(dfx);

delta=abs(x0-x1);

% X=[n,x0,x1,delta];

disp(X); % wird verwendet, um Zwischenergebnisse anzuzeigen

wenn Delta

fprintf('Iterationsberechnung erfolgreich')

Rückkehr

sonst

n=n+1;

x0=x1;f0=f1;df0=df1;

Ende

Ende

wenn n==N+1

fprintf('Iterationsberechnung fehlgeschlagen')

Ende

Die anderen beiden können auf dieser Grundlage leicht modifiziert werden.

MATLAB-Programm zur Verwendung der Newton-Iteration zur Lösung nichtlinearer Gleichungen

Geben Sie eine Vollversion:

% Newtons Methode zur Lösung nichtlinearer Gleichungen

Funktion main()

clc; alles löschen;

f = @(x)log(x+sin(x)); % Testfunktion

df = @(x)(1+cos(x))/(x+sin(x)); % Ableitungsfunktion

x0 = 0,1; % Iterationsanfangswert

x = TestNewton(f, df, x0) % Newtons Methode

Funktion x = TestNewton(fname, dfname, x0, e, N)

% Zweck: Newton-Iterationsmethode zur Lösung der nichtlinearen Gleichung f(x)=0

% fname und dfname repräsentieren jeweils das M-Funktionshandle oder den eingebetteten Funktionsausdruck von f(x) und seiner Ableitungsfunktion

% x0 ist der Anfangswert der Iteration, e ist die Genauigkeit (Standardwert 1e-7)

% x gibt die numerische Lösung zurück und zeigt den Berechnungsprozess an. Legen Sie die Obergrenze der Anzahl der Iterationen N fest, um Divergenz zu verhindern (Standard 500 Mal)

% Eingabeparameter

wenn Nargin

N = 500;

Ende

wenn Nargin

e = 1e-7;

Ende

x = x0; % Anfangswert

x0 = x+2*e; % float

k = 0; % Anzahl der Schritte

fprintf('x[%d]=%12.9fn', k, x) % Druckinformationen

while abs(x0-x)>e & k

k = k+1; % notieren Sie die Anzahl der Schritte

x0 = x; % Aktualisierung x(k)

x = x0 - feval(fname,x0)/feval(dfname,x0); % update x(k+1)

fprintf('x[%d]=%12.9fn', k, x) % Druckinformationen

Ende

wenn k == N

fprintf('Die maximale Anzahl von Iterationen wurde erreicht'); % Iteration endet

Ende

Ergebnis:

Detaillierte Erläuterung der Implementierungsmethode der iterativen Methode nichtlinearer Gleichungen in Matlab

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Implementierungsmethode der iterativen Methode nichtlinearer Gleichungen in Matlab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen