damsonlee 发表于 2008-8-23 23:13

怎样用matlab画圆柱壳体模态振型?

有人用matlab画过圆柱壳体模态振型吗?

比如,对于m=2,n=2阶的振型,其柱坐标表达式为
Z = A*cos(m*pi*z/L)*(cos(n*s-fy))
S = B*sin(m*pi*z/L)*(sin(n*s-fy))
R = C*sin(m*pi*z/L)*(cos(n*s-fy))
其中:Z是轴向位移,S是圆周方向的位移,R是径向位移;z是轴向坐标(0~1m),s是角坐标(0~2*pi), L是圆柱壳体长度(L=1m), fy是初始相位角(可取fy=0);A, B, C是常数(可取A=B=C=1)

我用下面的方法好像有些问题,画出来的图很怪:
m=2;
n=2;
L=1;
fy=0;
A=1;
B=1;
C=1;
for z = 0:0.1:1;
s = 0:pi/50:2*pi;
Z = A*cos(m*pi*z/L)*(cos(n*s-fy))
S = B*sin(m*pi*z/L)*(sin(n*s-fy))
R = C*sin(m*pi*z/L)*(cos(n*s-fy))
= pol2cart(S,R,Z);
plot3(X,Y,Z)
hold on
end

有高手能指点一下吗?谢谢!

82563341 发表于 2012-6-12 07:56

本帖最后由 82563341 于 2012-6-12 07:57 编辑

希望大家多多指点如何绘制圆柱壳的模态振型?

82563341 发表于 2012-10-31 12:58

如图所示的圆柱壳振型是怎么绘制的呢?请大家多多指点,谢谢

ChaChing 发表于 2012-10-31 21:37

clc; clear;
m=2; n=2; L=1; fy=0; A=1; B=1; C=1;
z = (0:0.1:1)'; s = 0:pi/50:2*pi;
Z = A*cos(m*pi*z/L)*(cos(n*s-fy));
S = B*sin(m*pi*z/L)*(sin(n*s-fy));
R = C*sin(m*pi*z/L)*(cos(n*s-fy));
= pol2cart(S,R,Z); surf(X,Y,Z);不知道图形应该如何, 所以不知道对否!?
自己再修订下

82563341 发表于 2012-11-20 02:17

ChaChing 发表于 2012-10-31 21:37 static/image/common/back.gif
不知道图形应该如何, 所以不知道对否!?
自己再修订下

绘制出来的图形如图所示,无法修订成圆柱形状,麻烦再帮忙看看。,谢谢

happy 发表于 2012-11-22 21:06

本帖最后由 happy 于 2012-11-22 21:08 编辑

Z是轴向位移,S是圆周方向的位移,R是径向位移
你这是位移,而不是空间位置坐标,所以做出来的图形并不是模态,应该根据初始位置+位移后得到各点的空间坐标位置,然后绘图,才会出来你需要的模态

xuning0418 发表于 2012-11-26 19:09

happy 发表于 2012-11-22 21:06 static/image/common/back.gif
你这是位移,而不是空间位置坐标,所以做出来的图形并不是模态,应该根据初始位置+位移后得到各点的空间坐 ...

请问一下空间位置坐标应该如何设置哈,新手,

82563341 发表于 2012-11-27 02:33

happy 发表于 2012-11-22 21:06 static/image/common/back.gif
你这是位移,而不是空间位置坐标,所以做出来的图形并不是模态,应该根据初始位置+位移后得到各点的空间坐 ...

恩那,谢谢happy教授的回答。麻烦问一下,绘制后正常是按照Z坐标来设置颜色的,对于圆柱壳,应该按照R方向来设置吧,即Y方向。另外如果仅想绘制变形图,而不带颜色,该如何实现呢?如附件所示。谢谢

happy 发表于 2012-11-27 09:39

82563341 发表于 2012-11-27 02:33 static/image/common/back.gif
恩那,谢谢happy教授的回答。麻烦问一下,绘制后正常是按照Z坐标来设置颜色的,对于圆柱壳,应该按照R方向 ...

surf(X,Y,Z) 颜色有Z来控制surf(X,Y,Z,C) 这是颜色就由C来控制了

至于不想要彩色的
可以用colormap改变映射的色图,比如改为gray或bone

happy 发表于 2012-11-27 09:40

xuning0418 发表于 2012-11-26 19:09 static/image/common/back.gif
请问一下空间位置坐标应该如何设置哈,新手,

这是你自己给出来的,任何节点在空间总得有个位置吧

82563341 发表于 2012-11-27 12:05

happy 发表于 2012-11-27 09:39 static/image/common/back.gif
颜色有Z来控制这是颜色就由C来控制了

至于不想要彩色的


采用如下命令绘制

= pol2cart(Y+v,R+w,X+u);
h=surf(XX,YY,ZZ);
set(h,'CData',YY);
axis equal

如图1所示。固支的时候两端都应该为蓝色。

另外一个图是有限元软件计算得到的,请问一下怎么能调成和有限元软件一致呢?谢谢

happy 发表于 2012-11-27 14:43

82563341 发表于 2012-11-27 12:05 static/image/common/back.gif
采用如下命令绘制

= pol2cart(Y+v,R+w,X+u);


看9楼的回复,要和有限元结果一直就需要构造C矩阵
不知道你的有限元结果是什么云图
如果是位移云图,那C就要用位移来构造
如果是应力云图,那C就要用应力来构造
色图可以用jet

82563341 发表于 2012-11-27 23:09

本帖最后由 82563341 于 2012-11-28 03:34 编辑

happy 发表于 2012-11-27 14:43 static/image/common/back.gif
看9楼的回复,要和有限元结果一直就需要构造C矩阵
不知道你的有限元结果是什么云图
如果是位移云图,那 ...
谢谢happy教授

吴超牛 发表于 2013-1-18 22:34

matlab的代码可以给我一下吗,我也在做圆柱薄壳的屈曲想画一下它的模态图。

皮卡丘 发表于 2013-5-9 19:13

吴超牛 发表于 2013-1-18 22:34 static/image/common/back.gif
matlab的代码可以给我一下吗,我也在做圆柱薄壳的屈曲想画一下它的模态图。

不知道解决了么 同求~
页: [1]
查看完整版本: 怎样用matlab画圆柱壳体模态振型?