Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-06-25, 21:34   #1
s_city_cn
初级会员
 
注册日期: 2008-06-25
年龄: 41
帖子: 1
声望力: 0
s_city_cn 正向着好的方向发展
默认 [求助]显示受力区域

大家好,本人新手,有一个力学问题,请大家多指点。

我做的一个小课题是关于飞机尾翼受力。我把XY平面划定了6个尾翼的区域,然后根据不同的XY值套入相应的公式得到Z值作为所受应力。

做完以后发现所受应力表示出来了,但是无法看出所对应的XY区域。

查help的过程中,希望能找到类似阴影或则light的命令,让所受应力的曲面下产生阴影,或者在mesh(X,Y,Z)的同时能够相应的画出(X,Y)的图像。这样在同一幅图里可以看到受力区域和所受应力,可是没有找到相应的表达。:(

不知道大家能不能解答这个问题。祝大家晚上看球愉快!

附:受应力图(2张);matlab的code.

CODE:

x02=549;
x03=200;
x04=49;
x05=295;
h1=280;
h2=545;
h3=610;
h4=1415;
h5=1405;
h6=1478;
xi=-x02:1:x03;
zi=0:1:h6;
wquer=203;
g=9.8;
[X,Z]=meshgrid(xi,zi);
for i=1:1:size(X,1)
for j=1:1:size(X,2)
x=xi(j);
z=zi(i);
% Area 1
if(x<=0 && z<=h1 && z+(h1/x02)*x>=0)
b=x02*(z/h1);
pquer=2*wquer*g;
Y(i,j)=公式1;
% Area 2
elseif(x<=0 && z>h1 && z<=h2 && z<=x*(h6-h1)/(x02-x05)+x02*(h6-h1)/(x02-x05)+h1)
b=x02+((z-h1)/(h6-h1))*(x05-x02);
pquer=2*wquer*g;
Y(i,j)=公式2;
% Area 3
elseif(x<=0 && z>h2 && z<=h3 && z<=x*(h6-h1)/(x02-x05)+x02*(h6-h1)/(x02-x05)+h1)
a=x03*(z-h2)/(h3-h2);
b=x02+((z-h1)/(h6-h1))*(x05-x02);
pquer=2*wquer*g*(a+b)/(5*a+b);
Y(i,j)=公式3.1;
elseif(x>0 && z<=h3 && z>=((h3-h2)/x03)*x+h2)
a=x03*(z-h2)/(h3-h2);
b=x02+((z-h1)/(h6-h1))*(x05-x02);
pquer=2*wquer*g*(a+b)/(5*a+b);
Y(i,j)=公式3.2;
% Area 4
elseif(x>0 && z>h3 && z<=h5 && z<=-((h5-h3)/(x03-x04))*x+((h5-h3)/(x03-x04))*x03+h3)
a=x03+((z-h3)/(h5-h3))*(x04-x03);
b=x02+((z-h1)/(h6-h1))*(x05-x02);
pquer=2*wquer*g*(a+b)/(5*a+b);
Y(i,j)=公式4.1;
elseif(x<=0 && z>h3 && z<=h5 && z<=x*(h6-h1)/(x02-x05)+x02*(h6-h1)/(x02-x05)+h1)
a=x03+((z-h3)/(h5-h3))*(x04-x03);
b=x02+((z-h1)/(h6-h1))*(x05-x02);
pquer=2*wquer*g*(a+b)/(5*a+b);
Y(i,j)=公式4.2;
% Area 5
elseif(x>0 && z>h5 && z<=-((h4-h5)/x04)*x+h4)
a=x04+((z-h5)/(h4-h5))*(0-x04);
b=x02+((z-h1)/(h6-h1))*(x05-x02);
pquer=2*wquer*g*(a+b)/(5*a+b);
Y(i,j)=公式5.1;
elseif(x<=0 && z>=h5 && z<h4 && z<=x*(h6-h1)/(x02-x05)+x02*(h6-h1)/(x02-x05)+h1)
a=x04+((z-h5)/(h4-h5))*(0-x04);
b=x02+((z-h1)/(h6-h1))*(x05-x02);
pquer=2*wquer*g*(a+b)/(5*a+b);
Y(i,j)=公式5.2;
% Area 6
elseif(z>=h4 && z<=-((h4-h5)/x04)*x+h4 && z<=x*(h6-h1)/(x02-x05)+x02*(h6-h1)/(x02-x05)+h1)
b=x02+((z-h1)/(h6-h1))*(x05-x02)-x05*(z-h4)/(h6-h4);
pquer=2*wquer*g;
Y(i,j)=公式6;

else
Y(i,j)=NaN;
end
end
end
figure;
mesh(-X,Z,Y);

view(0,120)
上传的图像
文件类型: jpg neulastverteilung_3.jpg (24.7 KB, 9 次查看)
文件类型: jpg neulastverteilung_2_30_45.jpg (26.6 KB, 9 次查看)
s_city_cn 当前离线   回复时引用此帖
回复


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

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


相似的主题
主题 主题作者 版面 回复 最后发表
【求助】问题出现了,怎么改呢? babyspring111 MATLAB论坛 4 2008-09-21 15:10
Measuring Test Completeness Using the Code Coverage Tool TechnicalArticles MATLAB技术文章 0 2008-07-30 02:55
几行S函数代码,请达人帮修改一下 rongyihit MATLAB论坛 1 2008-06-03 22:08
问高手画三维图的问题 rocflying MATLAB论坛 0 2008-05-23 10:57
【求助】请问:在matlab中有画切线的函数吗? zhengxiaojiao MATLAB论坛 0 2007-07-16 22:59


所有时间均为北京时间。现在的时间是 14:53


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