Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-05-01, 21:09   #1
zysqq2009
初级会员
 
注册日期: 2009-04-30
帖子: 3
声望力: 0
zysqq2009 正向着好的方向发展
默认 救命啊各位!!

这个的程序如何编写啊???要求的是u0的波形
其中w0=62.8rad/s
R1=1K
k1=3
k2=20
u1(0)=0v
u2(0)=0.1v
求u0的波形
上传的附件
文件类型: rar 要求的方程.rar (8.6 KB, 4 次查看)
zysqq2009 当前离线   回复时引用此帖
旧 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 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 09:08


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.