系统的数学模型为: 0.1 1.0 . .. y+ y+ y = ,初始值为 0。 请分别用欧拉法、二阶龙—库法、四阶龙—库法编写MATLAB代码
时间: 2023-12-03 20:46:30 浏览: 136
欧拉法:
```matlab
% 设置参数
y0 = 0; % 初始值
h = 0.1; % 步长
t = 0:h:1; % 时间范围
n = length(t); % 时间节点数
% 初始化解向量
y = zeros(1,n);
% 使用欧拉法求解
y(1) = y0;
for i = 2:n
y(i) = y(i-1) + h*(1-y(i-1));
end
% 绘制图像
plot(t,y,'-o');
xlabel('t');
ylabel('y');
```
二阶龙-库法:
```matlab
% 设置参数
y0 = 0; % 初始值
h = 0.1; % 步长
t = 0:h:1; % 时间范围
n = length(t); % 时间节点数
% 初始化解向量
y = zeros(1,n);
% 使用二阶龙-库法求解
y(1) = y0;
for i = 2:n
k1 = h*(1-y(i-1));
k2 = h*(1-(y(i-1)+k1));
y(i) = y(i-1) + 0.5*(k1+k2);
end
% 绘制图像
plot(t,y,'-o');
xlabel('t');
ylabel('y');
```
四阶龙-库法:
```matlab
% 设置参数
y0 = 0; % 初始值
h = 0.1; % 步长
t = 0:h:1; % 时间范围
n = length(t); % 时间节点数
% 初始化解向量
y = zeros(1,n);
% 使用四阶龙-库法求解
y(1) = y0;
for i = 2:n
k1 = h*(1-y(i-1));
k2 = h*(1-(y(i-1)+0.5*k1));
k3 = h*(1-(y(i-1)+0.5*k2));
k4 = h*(1-(y(i-1)+k3));
y(i) = y(i-1) + (1/6)*(k1+2*k2+2*k3+k4);
end
% 绘制图像
plot(t,y,'-o');
xlabel('t');
ylabel('y');
```
阅读全文