主题: [MATLAB毕业设计] 救命啊各位!!
查看单个帖子
旧 2009-05-04, 12:43   #2
yfl
高级会员
 
yfl 的头像
 
注册日期: 2009-04-11
年龄: 38
帖子: 138
声望力: 19
yfl 正向着好的方向发展
默认 回复: 救命啊各位!!

可以用ode解,先从输出函数中解出u0的表达式,再将其代入两个微分方程,即可解得u1和u2,最后再将其合成即可。一下是我的代码,参考一下:
function udot=jd(t,u)
w0=62.8;R1=1000;k1=3;k2=20;
u0=u(1)*(k1*R1+u(1)*k2+R1)/(R1+u(1)*k2);
udot=[w0*(k1-k2*(u0-u(1)/R1-1)*u(1)-u(2))
w0*(k1-k2*(u0-u(1)/R1)*u(1)-u(2))];
>> k1=3;k2=20;R1=1000;
>> uo=u(:,1).*(k1*R1+u(:,1).*k2+R1)/(R1+u(:,1).*k2);
>> plot(t,uo)
其中u0的表达式我用的是绝对值取‘+’时的,你可以自己算出取‘-’时的将它代入即可。要是有问题请联系我,QQ:602561167
要是解答有问题也请你批评指正,本人也在学习中。
yfl 当前离线   回复时引用此帖