线性二步法计算不稳定值时输出结果有偏差

标签: 程序

小乃禾 2023-03-19 15:53:31

% 定义变量

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 运行上述代码结果:

matlab运行结果.png



北太天元软件运行上诉代码结果:


北太天元运行结果.png


1658 0 0 收藏 回复

回复

回复

重置 提交