matlab程序画几何图形并进行网格划分.docVIP

matlab程序画几何图形并进行网格划分.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab程序画几何图形并进行网格划分

编写程序,对下图几何区域按有限元法进行网格划分,确定单元中结点数目及位置,并对单元和结点分别进行编号。 二、程序思路 基于MATLAB软件平台,首先画出几何图形,然后对几何区域按照有限元法思想进行三角形网格剖分,最后按顺序依次输出单元及结点编号和坐标。 三、编写源程序: clear; %第一步:画出几何区域 %为按逆时针顺序绘制几何区域 x_up=[3.5,0];y_up=[2,2]; %上固体边界数组 x_l=[0,0];y_l=[2,0]; %入流左边界x_low=[0,2.5];y_low=[0,0]; %下边界=linspace(pi,pi/2,n); r=1; %圆弧半径变量r x_c=r*cos(c)+3.5; y_c=r*sin(c); %三角函数表示圆柱左上部分 x_r=[3.5,3.5];y_r=[1,2]; %出流右边界=[x_low,x_c ,x_r,x_up,x_l]; %整体边界X坐标数组 y=[y_low,y_c ,y_r,y_up,y_l]; %整体边界Y坐标数组 plot(x,y, m); %绘制几何区域 xlabel(x轴);ylabel(y轴); title(几何区域); hold on l=k*(pi/2)*r; x_up(3)=3.5-l; y_up(3)=2; cut_point=[x_up(3), y_up(3)]; x_up(3)=x_up(2);y_up(3)=y_up(2); x_up(2)= cut_point(1); y_up(2)= cut_point(2); %将上边界点坐标按顺序重排 x_cutline=[ x_up(2),x_low(2)]; y_cutline=[ y_up(2),y_low(2)]; %分割线数组 plot(x_cutline, y_cutline); %绘制分割线 n1=6; %上边界左半部分n1等分变量 x_upcp1=linspace(x_up(2),x_up(3),n1+1); %上边界半部分等分y_upcp1=linspace(y_up(2),y_up(3),n1+1); x_lowcp1=linspace(x_low(2),x_low(1),n1+1); %下边界n1等分 y_lowcp1=linspace(y_low(2),y_low(1),n1+1); x_upcp2=linspace(x_up(1),x_up(2),n+1); %上边界右半部分n等分 y_upcp2=linspace(y_up(1),y_up(2),n+1); x_upper=[ x_upcp2,x_upcp1]; %上固体边界坐标数组 y_upper=[ y_upcp2,y_upcp1]; c1=linspace(pi*3/2,pi,n+1); x_c1=cos(c1)+3.5; y_c1=abs(sin(c1)) ; x_lower=[x_c1,x_lowcp1]; y_lower=[y_c1,y_lowcp1]; for i=1:n1+n+2 %画竖线 plot([x_upper(i) x_lower(i)],[ y_upper(i) y_lower(i)],m); end m=7; for i=n+n1+2:-1:1 plot([x_upper(i) x_lower(i)],[ y_upper(i) y_lower(i)],m);%绘制竖线 x1(i,:)=linspace(x_upper(i),x_lower(i),m+1); %竖线m等分 y1(i,:)=linspace(

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档