% 定义变量
a = -5; % alpha0
h = 0.1; % 步长
x = 0; % 左端点
y = 2; % 右端点
num = (y-x)/h+1; % 端点数
t = linspace(x,y,num); % 时间变量
u = zeros(num,1); % 解变量
u(1) = 1; % u0
u(2) = (1+h*h)^2; % 附加u1
% 线性二步法
for i = 2 : (num-1)
u(i+1) = (1+a)*u(i)-a*u(i-1)+0.5*h*((3-a)*f_function(t(i),u(i))-(1+a)*f_function(t(i-1),u(i-1)));
end
% 输出
for i = 1 : num
fprintf("u(%f)=%.7f\n",t(i),u(i));
end
matlab 运行上述代码结果:
北太天元软件运行上诉代码结果: