📄 e861.m
字号:
%------------------------------------------------------------------
% Example 8.6.1: Extrapolation Method
%------------------------------------------------------------------
clc
clear
q = 5000;
n = 3;
m = 9;
alpha = 0;
beta = 4.0;
h = (beta-alpha)/(m-1);
tol = 1.e-7;
x0 = [1 -3 6]';
p = zeros (m-1,1);
t = zeros (m,1);
e = zeros (m-1,1);
X = zeros (m,n);
E = zeros (m-1,n);
% Exact solution
fprintf ('Example 8.6.1: Extrapolation Method\n');
for k = 1 : m
t(k) = (k - 1)*h;
X(k,1) = -t(k)*exp(-t(k)) + exp(-2*t(k));
X(k,2) = (t(k)-1)*exp(-t(k)) - 2*exp(-2*t(k));
X(k,3) = (2-t(k))*exp(-t(k)) + 4*exp(-2*t(k));
end
graphxy (t,X,'Exact Solution','t','x')
% Extrapolation method
for k = 1 : m-1
[x0,e(k),p(k)] = bsext0 (x0,t(k),t(k+1),tol,q,'funf861');
for j = 1 : n
E(k,j) = x0(j) - X(k+1,j);
end
end
% Display results
fprintf ('\n t evaluations ||E||(local) ||E||(global)\n');
fprintf ('------------------------------------------------\n');
for k = 1 : m-1
fprintf ('%3.1f %8i %12.7e %12.7e\n',...
t(k+1),p(k),e(k),norm(E(k,:),inf));
end
fprintf ('------------------------------------------------\n');
wait
%------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -