뉴턴 반복 방법:
함수[x0,n]=뉴턴(fx,dfx,x0,tol,N)
% 뉴턴 반복 방법
% 첫 번째 매개변수 fx는 변수 x에 대해 원하는 함수 표현식입니다.
% 두 번째 매개변수 dfx는 fx의 1차 미분입니다.
% x0은 반복 초기값입니다.
% tol은 반복 오류 제한입니다.
% N 최대 반복 횟수.
x=x0;f0=평가(fx);df0=평가(dfx);
n=0;
disp('[ n xn xn+1 delta ]');
n
x1=x0-f0/df0;
x=x1;f1=평가(fx);df1=평가(dfx);
delta=abs(x0-x1);
% X=[n,x0,x1,델타];
disp(X) %는 중간 결과를 표시하는 데 사용됩니다
델타 fprintf('반복 계산 성공') 반품 그밖에 n=n+1; x0=x1;f0=f1;df0=df1; 끝 끝 n==N+1인 경우 fprintf('반복 계산 실패') 끝 이를 기반으로 나머지 두 개도 약간 수정될 수 있습니다. 정식 버전 제공: % 뉴턴의 비선형 방정식 풀이 방법 함수 main() clc 모두 지우기; f = @(x)log(x+sin(x)) % 테스트 함수 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은 각각 M 함수 핸들 또는 f(x) 및 해당 파생 함수의 내장 함수 표현을 나타냅니다. % x0은 반복 초기 값, e는 정확도(기본값 1e-7) % x는 수치해를 반환하고 계산 과정을 표시합니다. 발산을 방지하기 위해 반복 횟수 N의 상한을 설정합니다(기본값은 500회) % 입력 매개변수 나긴 인 경우
N = 500; 끝 나긴 인 경우
e = 1e-7; 끝 x = x0% 초기값 x0 = x+2*e % float k = 0; % 걸음수 fprintf('x[%d]=%12.9fn', k, x) % 인쇄 정보 while abs(x0-x)>e & k k = k+1; % 걸음 수 기록 x0 = x; % 업데이트 x(k) x = x0 - feval(fname,x0)/feval(dfname,x0) % 업데이트 x(k+1) fprintf('x[%d]=%12.9fn', k, x) % 인쇄 정보 끝 k == N fprintf('최대 반복 횟수에 도달했습니다.') % 반복 종료 끝 결과: 뉴턴 반복을 사용하여 비선형 방정식을 푸는 MATLAB 프로그램
위 내용은 MATLAB의 비선형 방정식의 반복법 구현 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!