有关matlab解二阶微分方程
有关matlab解二阶微分方程图片是要求的微分方程,,下面是我写的程序,运行的时候说未定义x。该怎么改呢?functionydot=DyDt(t,y)a=0.04;b=1...
有关matlab解二阶微分方程图片是要求的微分方程,,下面是我写的程序,运行的时候说未定义x。该怎么改呢?
function ydot=DyDt(t,y)
a=0.04;
b=1;
c=0.15;
u=0.2;
v=0.2;
y(1)=x;
y(2)=dxdt;
ydot=[y(2);-a*y(2)-b*y(1)-c*y(1)^3+u*cos(0.01*t)+v*cos(0.02*t)];
end 展开
function ydot=DyDt(t,y)
a=0.04;
b=1;
c=0.15;
u=0.2;
v=0.2;
y(1)=x;
y(2)=dxdt;
ydot=[y(2);-a*y(2)-b*y(1)-c*y(1)^3+u*cos(0.01*t)+v*cos(0.02*t)];
end 展开
1个回答
更多追问追答
追问
能给我那个具体的程序吗?非常感谢🙏因为我matlab 不太熟练
追答
x0=[0,0];
[t,x]=ode45(@odefun,[0 10],x0)
plot(t,x),grid on
legend('x(t)','dx/dt')
xlabel('t'),ylabel({'x(t)','dx/dt'})
function ydot=odefun(t,x)
a=0.04;b=1;c=0.15;u=0.2;v=0.2;
ydot=[x(2);-delta*x(2)-alpha*x(1)-beta*x(1)^3+u*cos(0.01*t)+v*cos(0.02*t)];
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询