Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-04-30
帖子: 3
声望力: 0 ![]() |
![]()
这个的程序如何编写啊???要求的是u0的波形
其中w0=62.8rad/s R1=1K k1=3 k2=20 u1(0)=0v u2(0)=0.1v 求u0的波形 |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2009-04-11
年龄: 38
帖子: 138
声望力: 19 ![]() |
![]()
可以用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 要是解答有问题也请你批评指正,本人也在学习中。 |
![]() |
![]() |