作业帮 > 综合 > 作业

求用Matlab的ode45编一个双线性方程

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 06:17:17
求用Matlab的ode45编一个双线性方程
X''+20X'+40πX=sin(t);X>=0
X''+20X'+20πX=sin(t);X
ode45解一阶 所以降阶
设p1=x p2=x‘ 所以 p1’=p2 p2‘=x’‘=sin(t)-20p2-40πp1 或p2‘=x’‘=sin(t)-20p2-20πp1
编写m文件
function pdot = F(t,p)
%UNTITLED1 Summary of this function goes here
% Detailed explanation goes here
if p(1)>=0
c=20;
w=40*pi;
else
c=20;
w=20*pi;
end
g=sin(t);
pdot=zeros(size(p));
pdot(1)=p(2);
pdot(2)=g-c*p(2)-w*p(1);
>> p0=[0 0]
>> [t p]=ode45('spring1',[-1 1],p0);
>> plot(t,p(:,1))
>> plot(p(:,1),p(:,2))
再问: 你运行了么。。。为什么我运行说p(1)没有定义