作业帮 > 综合 > 作业

Matlab怎么画常微分方程的图像

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/27 06:49:23
Matlab怎么画常微分方程的图像
函数是D2y-Dy+y=0;初值条件是D2y(0)=0,Dy(0)=0,y(0)=1,求在(0,100)上的图像,怎么写程序呀.
首先D2y(0)他不可能等于0,二阶微分方程只可能有两个初始值.你想想Dy(0)=0,y(0)=1带进去D2y(0)-Dy(0)+y(0)=0 ,D2y(0)自然就出来了
先定义微分方程组函数,建立rigid.m文件
function dy = rigid(t,y)
dy = zeros(2,1); % a column vector
dy(1) = y(2) ;
dy(2) = y(2) - y(1);
保存,然后另开一个脚本文件
%options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-5]);
[T,Y] = ode45(@rigid,[0 100],[1 0]),%options);
%[0 10]是时间轴
%[1 0]是初始值
%options可以不写
plot(T,Y(1),'r');%位移向量
hold on
plot(T,Y(2),'g');%速度向量