>컴퓨터 튜토리얼 >컴퓨터 지식 >MATLAB의 비선형 방정식의 반복법 구현 방법에 대한 자세한 설명

MATLAB의 비선형 방정식의 반복법 구현 방법에 대한 자세한 설명

WBOY
WBOY앞으로
2024-01-08 16:06:35881검색

비선형 방정식 시스템 반복 방법의 MATLAB 구현에 대한 자세한 설명

뉴턴 반복 방법:

함수[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('반복 계산 실패')

이를 기반으로 나머지 두 개도 약간 수정될 수 있습니다.

뉴턴 반복을 사용하여 비선형 방정식을 푸는 MATLAB 프로그램

정식 버전 제공:

% 뉴턴의 비선형 방정식 풀이 방법

함수 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제