half.m
来自「数学建模各种模型的MATLAB源码,包括灰色模型、回归模型及回归检验、最小生成树」· M 代码 · 共 40 行
M
40 行
%half.m 该函数用来调整自适应
function [u2,v2,h,err]=half(x1,y1,h)
u1=x1;%u1为x1的备份,供步长为h/2时计算下一个节点时使用
v1=y1;%v1为y1的备份,供步长为h/2时计算下一节点数值解时使用
%用四阶经典公式计算步长为h时第1个节点处的数值解
k1=f(x1,y1);
k2=f(x1+h/2,y1+h*k1/2);
k3=f(x1+h/2,y1+h*k2/2);
k4=f(x1+h,y1+h*k3);
y2=y1+h*(k1+2*k2+2*k3+k4)/6;
%四阶经典公式计算步长为h/2时的第一个节点处的数值解
h=h/2;
for i=1:2
k1=f(u1,v1);
k2=f(u1+h/2,v1+h*k1/2);
k3=f(u1+h/2,v1+h*k2/2);
k4=f(u1+h,v1+h*k3);
v2=v1+h*(k1+2*k2+2*k3+k4)/6;
u2=u1+h;
u1=u2;
v1=v2;
end
err=abs(y2-v2);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?