matlab画图问题(关于微分方程)function ydoc=myfun (t,y)k1=1;k2=1;k3=0.5;k4=1.5;k5=5;l1=0.01;l2=0.6;l3=0.2;a1=0.75;a2=0.75;vd=-k1*tanh(l1*y(2));wd=-k2*tanh(l2*y(3))+k3*tanh(l3*y(1))*sin(t);ydoc=[(y(5)+wd)*y(2);-(y(5)+wd)*y(1)+y(4)+vd;y(5)+
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 00:36:48
![matlab画图问题(关于微分方程)function ydoc=myfun (t,y)k1=1;k2=1;k3=0.5;k4=1.5;k5=5;l1=0.01;l2=0.6;l3=0.2;a1=0.75;a2=0.75;vd=-k1*tanh(l1*y(2));wd=-k2*tanh(l2*y(3))+k3*tanh(l3*y(1))*sin(t);ydoc=[(y(5)+wd)*y(2);-(y(5)+wd)*y(1)+y(4)+vd;y(5)+](/uploads/image/z/5438207-47-7.jpg?t=matlab%E7%94%BB%E5%9B%BE%E9%97%AE%E9%A2%98%EF%BC%88%E5%85%B3%E4%BA%8E%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%EF%BC%89function+ydoc%3Dmyfun+%28t%2Cy%29k1%3D1%3Bk2%3D1%3Bk3%3D0.5%3Bk4%3D1.5%3Bk5%3D5%3Bl1%3D0.01%3Bl2%3D0.6%3Bl3%3D0.2%3Ba1%3D0.75%3Ba2%3D0.75%3Bvd%3D-k1%2Atanh%28l1%2Ay%282%29%29%3Bwd%3D-k2%2Atanh%28l2%2Ay%283%29%29%2Bk3%2Atanh%28l3%2Ay%281%29%29%2Asin%28t%29%3Bydoc%3D%5B%28y%285%29%2Bwd%29%2Ay%282%29%3B-%28y%285%29%2Bwd%29%2Ay%281%29%2By%284%29%2Bvd%3By%285%29%2B)
matlab画图问题(关于微分方程)function ydoc=myfun (t,y)k1=1;k2=1;k3=0.5;k4=1.5;k5=5;l1=0.01;l2=0.6;l3=0.2;a1=0.75;a2=0.75;vd=-k1*tanh(l1*y(2));wd=-k2*tanh(l2*y(3))+k3*tanh(l3*y(1))*sin(t);ydoc=[(y(5)+wd)*y(2);-(y(5)+wd)*y(1)+y(4)+vd;y(5)+
matlab画图问题(关于微分方程)
function ydoc=myfun (t,y)
k1=1;k2=1;k3=0.5;k4=1.5;k5=5;
l1=0.01;l2=0.6;l3=0.2;
a1=0.75;a2=0.75;
vd=-k1*tanh(l1*y(2));
wd=-k2*tanh(l2*y(3))+k3*tanh(l3*y(1))*sin(t);
ydoc=[(y(5)+wd)*y(2);
-(y(5)+wd)*y(1)+y(4)+vd;
y(5)+wd;
-k4*sign(y(4))*(abs(y(4)))^a1;
-k5*sign(y(5))*(abs(y(5)))^a2];
我要画出(vd导数,wd导数)如何画?
我想过利用方程解出vd,wd的导数,可是太复杂了,还老出错!
有没有好的办法,利用直接的命令?
matlab画图问题(关于微分方程)function ydoc=myfun (t,y)k1=1;k2=1;k3=0.5;k4=1.5;k5=5;l1=0.01;l2=0.6;l3=0.2;a1=0.75;a2=0.75;vd=-k1*tanh(l1*y(2));wd=-k2*tanh(l2*y(3))+k3*tanh(l3*y(1))*sin(t);ydoc=[(y(5)+wd)*y(2);-(y(5)+wd)*y(1)+y(4)+vd;y(5)+
你没给出初值,我们没法解,你参考微分方程数值解法ode45函数的用法
我假定了一个初值y0=[1 1 1 1 1].';
ts=[0,20];
[t,y]=ode45(@myfun,ts,y0);
vd=-k1*tanh(l1*y(:,2));
wd=-k2*tanh(l2*y(:,3))+k3*tanh(l3*y(:,1))*sin(t);
% 到这里vd 和 wd 的数值解都有了
% 你的问题是想画(vd关于t的导数,wd关于t的导数)吗? 若是的话,
plot(diff(vd)./diff(t),diff(wd)./diff(t))
导数一般用差分代替,函数是diff,但这时候差分以后少了一个数,画图的时候自变量也要少用一个数。