用matlab解二阶微分方程
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/15 22:19:05
用matlab解二阶微分方程
y''(t)= -3 cos(2t) +2sin(t)+t-3.8
使用ode23或ode45
y''(t)= -3 cos(2t) +2sin(t)+t-3.8
使用ode23或ode45
function Myexamp1
clear,clc,
tspan = [0 20]; % t 的取值范围
y0=[0;1]; % 初始值 y(t0) 和 y'(t0)
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4]);
[t,y] = ode45(@fun,tspan,y0 ,options);
plot(t,y(:,1),'-',t,y(:,2),'-.')
title('y''(t)= -3 cos(2t) +2sin(t)+ t-3.8')
function dy = fun(t,y)
dy = zeros(2,1);
dy(1) = y(2);
dy(2) = -3-cos(2*t) + 2*sin(t)+t-3.8;
clear,clc,
tspan = [0 20]; % t 的取值范围
y0=[0;1]; % 初始值 y(t0) 和 y'(t0)
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4]);
[t,y] = ode45(@fun,tspan,y0 ,options);
plot(t,y(:,1),'-',t,y(:,2),'-.')
title('y''(t)= -3 cos(2t) +2sin(t)+ t-3.8')
function dy = fun(t,y)
dy = zeros(2,1);
dy(1) = y(2);
dy(2) = -3-cos(2*t) + 2*sin(t)+t-3.8;