선형 다 보 (Adams) 와 예상 교정 법 (개 선 된 오로라 법) 의 비교
13002 단어 알고리즘
상 미분 방정식 을 풀 려 면: {d y d x = x 3 − y x, y (1) = 2 5. \ \ \ \ \ {cases} \ \ \ \ \ dfrac{D} {dx} = x ^ 3 - \ frac {y}} {x} \ \ \ \ \ \ \ \ y (1) = \ \ frac {2} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ x ^ 4 + \ frac {1} {5x}. y = 51 x4 + 5x1.
두 걸음 의 암시 적 Adams 공식
y n + 1 = y n + h 2 (f (x n + 1, y n + 1) + f (x n, y n, y n). y {n + 1} = y n + 1} = y n + \ \ frac {h} {2} (f (x {n + 1}, y {n + 1} + f (x n, y n). y + 1 = yn + 1 = yn + + + 2 h (f (xn + 1, yn + 1, y + 1) + f (xn + 1, n + f (xn + 1) + f (xn, n + n, yn) + f (x {n + 1}, y n + n + 1). 이 문제 에 대해 서 는 다음 과 같이 쓸 수 있 습 니 다. (1 + h 2, 2 x n + 1 + h 2 (x n + 1 3 + x n 3). (1 + \ frac {h} {2x {n + 1}}) y {n + 1} = (1 - \ frac {h} {2x n})y_n+\frac{h}{2}(x_{n+1}^3+x_n^3). (1+2xn+1h)yn+1=(1−2xnh)yn+2h(xn+13+xn3).
개 선 된 오로라 공식
{ y n + 1 ∗ = y n + h f ( x n , y n ) , y ( n + 1 ) = y n + h 2 ( f ( x n , y n ) + f ( x n + 1 , y n + 1 ∗ ) ) . \begin{cases} y_{n+1}^{*}=y_n+hf(x_n,y_n),\\ y(n+1)=y_n+\frac{h}{2}(f(x_n,y_n)+f(x_{n+1},y_{n+1}^{*})). \end{cases} {yn+1∗=yn+hf(xn,yn),y(n+1)=yn+2h(f(xn,yn)+f(xn+1,yn+1∗)).
오차 단계
오차 단계 (l ∞ l \ infty l ∞)
Adams
개 선 된 오로라 법
h=0.1
2.000274
1.999845
h=0.05
2.000068
1.999961
h=0.001
2.000003
1.999998
h=0.0005
2.000001
2.000000
MATLAB 코드
% error_order.m
clear all,close all,clc
[error1,error2]=shili(0.005);
e1=[norm(error1,inf),norm(error2,inf)];
[error1,error2]=shili(0.0025);
e2=[norm(error1,inf),norm(error2,inf)];
format long
error_order_linf=log2(e1./e2)
% shili.m
%clear all,close all,clc
function [error1,error2]=shili(h)
f=@(x,y)x^3-y/x;
%h=0.1;
x=[1:h:2];
N=size(x,2)-1;
%% Adams
y1=[2/5,zeros(1,N)];
for n=1:N
mid=(1-h/(2*x(n)))*y1(n)+h/2*(x(n+1)^3+x(n)^3);
y1(n+1)=mid/(1+h/(2*x(n+1)));
end
%% Improved Euler method
y2=[2/5,zeros(1,N)];
for n=1:N
y2(n+1)=y2(n)+h*f(x(n),y2(n));
y2(n+1)=y2(n)+h/2*(f(x(n),y2(n))+f(x(n+1),y2(n+1)));
end
y=1/5*x.^4+1./(5*x); % Exact solution
error1=y-y1;
error2=y-y2;
end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.