%% 定义计算的步长, 设置变量的初始值
clear;clc;close all
Delta=0.001; % 定义步长
t=0:Delta:20; % 定义自变量 t
n=length(t);
Y(:,1)=[2;0]; % 定义 x y 的初始值
%% 自定义改进的欧拉法, 求解微分方程组
for k=1:n-1
F1=f(t(k),Y(:,k));
F2=f(t(k+1),Y(:,k)+Delta*f(t(k),Y(:,k)));
Y(:,k+1)=Y(:,k)+Delta*(F1+F2)/2;
end
x=Y(1,:);
y=Y(2,:);
%% 绘制 x y 的求解结果
figure
set(gcf,'units','normalized','position',[0.15 0.2 0.7 0.6]); % 设置 figure 窗口的位置和尺寸
subplot(1,2,1)
plot(t,x,'b')
xlabel('t')
ylabel('x')
subplot(1,2,2)
plot(t,y,'r')
xlabel('t')
ylabel('y')
基于Matlab实现改进欧拉法求解常微分方程组(源码+说明).rar
版权申诉
5星 · 超过95%的资源 43 浏览量
2023-06-05
12:43:47
上传
评论 4
收藏 119KB RAR 举报
Matlab仿真实验室
- 粉丝: 2w+
- 资源: 2179