[t,y]=ode45(@ode,tspan,[0 0]);
subplot(3,1,1)
plot(t,y(:,1))
xlabel('time');
ylabel('i');
subplot(3,1,2)
plot(t,y(:,2))
xlabel('time');
ylabel('\omega');
subplot(3,1,3)
plot(t,v(t))
xlabel('time');
ylabel('voltage');
function dy=ode(t,y)
R=0.8;
L=0.003;
KT=0.05;
Ke=0.05;
c=0;
J=0.00008;
dy=zeros(2,1);
dy(1)=(-Ry(1)-Key(2)+v(t))/L;
dy(2)=(KTy(1)-cy(2))/J;
end
function v=v(t)
if (0<=t)&&(t<0.05)
v=400*t;
elseif (0.05<=t)&&(t<=0.2)
v=20;
elseif (0.2<t)&&(t<=0.25)
v=-400*(t-0.2)+20;
elseif t>0.25
v=0;
end
end
最后的v-t图总是显示不出来
你看下12行v(t)的结果是什么,t是个一维向量,v(t)需要跟t一样长度