声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: mechanic05

[动力学和稳定性] 幅频响应曲线的MATLAB画法

[复制链接]
 楼主| 发表于 2007-9-6 16:33 | 显示全部楼层
烦劳各位高手给看看上面MATLAB的作图问题.我折腾了半天也没从书中找出相关问题的解决办法.书上一般都讲的很简单.高手指教!!谢谢!
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-9-6 18:41 | 显示全部楼层
矩阵维数不相等
 楼主| 发表于 2007-9-6 20:45 | 显示全部楼层

回复 #17 21172485 的帖子

谢谢!麻烦给修改一下哈.我折腾了一个下午都不成.谢谢!
发表于 2007-9-6 20:49 | 显示全部楼层

请教!多自由度方程组的幅频响应怎么求??

请教高手指点?
非常感谢!
 楼主| 发表于 2007-9-6 20:53 | 显示全部楼层

回复 #19 fineshang 的帖子

我正在学习,有进展的话一定交流,互相提高!那摸上面我说的问题有无遇到,你怎摸解决的?
 楼主| 发表于 2007-9-6 20:56 | 显示全部楼层

回复 #17 21172485 的帖子

运行时是显示维数不相等.只能画出前半部分.可我怎摸该都不行.可能我的书上讲的太简略.
 楼主| 发表于 2007-9-6 21:09 | 显示全部楼层
我这样改了一下,看起来维数应该相等呀.可还是只画出一半图.
u1=0.3;
u2=0.25;
w0=1;
gv=0.3;
a1=4;a2=0.5;a3=0.2;
b1=1;
t1=5*gv./8;
t2=(3*a1-3*a2+a3)./8;
q1=b1./2;
a=0.1:0.001:1.53;
p=u1+u2*a-t1*a.^4;
m=q1./a;
k=sqrt(m.^2-p.^2);
f1=(t2*a.^2-k);
f2=(t2*a.^2+k);
plot(f1,a,'.');
hold on
a=0.1:0.001:0.17;
plot(f2,a,':');
hold on
a=0.171:0.001:1.53;
plot(f2,a,'-.')
为啥呀?大侠指教!!
发表于 2007-9-7 08:37 | 显示全部楼层
你对MATLAB还不是很熟悉
不相等说明其他的参数都不符合要求
所以应重新运行一下上面的程序就好了
clc
clear
u1=0.3;
u2=0.25;
w0=1;
gv=0.3;
a1=4;a2=0.5;a3=0.2;
b1=1;
t1=5*gv./8;
t2=(3*a1-3*a2+a3)./8;
q1=b1./2;
a=0.1:0.01:1.53;
p=u1+u2*a-t1*a.^4;
m=q1./a;
k=sqrt(m.^2-p.^2);
f1=(t2*a.^2-k);
f2=(t2*a.^2+k);
plot(f1,a);
hold on
a=0.1:0.001:0.17;
u1=0.3;
u2=0.25;
w0=1;
gv=0.3;
a1=4;a2=0.5;a3=0.2;
b1=1;
t1=5*gv./8;
t2=(3*a1-3*a2+a3)./8;
q1=b1./2;
a=0.17:0.01:1.53;
p=u1+u2*a-t1*a.^4;
m=q1./a;
k=sqrt(m.^2-p.^2);
f1=(t2*a.^2-k);
f2=(t2*a.^2+k);
plot(f2,a);
sec.jpg
 楼主| 发表于 2007-9-10 10:53 | 显示全部楼层
谢谢前辈关注!!:@)
可能你没明白我的意思,我希望画出的图能随意分段用不同的图型线来表示.不过这个问题已经解决.我觉得就是方法有些笨.现在贴出来大家探讨.我的方法是每一段单独算出来,再画图.
fupinchenggong.jpg
 楼主| 发表于 2007-9-10 10:54 | 显示全部楼层
clc
clear
u1=0.3;
u2=0.25;
w0=1;
gv=0.3;
a1=4;a2=0.5;a3=0.2;
b1=1;
t1=5*gv./8;
t2=(3*a1-3*a2+a3)./8;
q1=b1./2;
a1=0.1:0.001:1.53;
a2=0.1:0.001:0.45;
a3=0.45:0.001:1.53;
p1=u1+u2*a1-t1*a1.^4;
p2=u1+u2*a2-t1*a2.^4;
p3=u1+u2*a3-t1*a3.^4;
m1=q1./a1;
m2=q1./a2;
m3=q1./a3;
k1=sqrt(m1.^2-p1.^2);
k2=sqrt(m2.^2-p2.^2);
k3=sqrt(m3.^2-p3.^2);
f1=(t2*a1.^2-k1);
f2=(t2*a2.^2+k2);
f3=(t2*a3.^2+k3);
plot(f1,a1,'x');
hold on
plot(f2,a2,'x');
hold on
plot(f3,a3,'r*');
发表于 2007-9-19 14:51 | 显示全部楼层

回复 #15 mechanic05 的帖子

直接用ezplot指令就可以了阿!
 楼主| 发表于 2007-9-19 17:23 | 显示全部楼层

回复 #26 huabanyu 的帖子

谢谢关注!但这样做不能分段表示出各个区域的不同.比如稳定区域与不稳定区域.不知道还有别的更好的方法吗?高手接招!!:@)
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-12 00:21 , Processed in 0.075997 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表