matlab运动背景位移矢量,[Matlab科学绘图] 绘制平面位移云图

[Matlab科学绘图] 绘制平面位移云图

[Matlab科学绘图] 绘制平面位移云图

在用MATLAB做有限元分析的时候,难免需要绘制云图,网上的资料又很少,且不通用。自己实现之后在此记录一下,希望也能帮助到其他人。

平台:Win7+Matlab 2020a

问题描述:假设一个悬臂梁受到均布力作用,如下图所示,通过有限元法计算得到单元节点位移。

695a411eed6bbaa8323cc624b44f58d8.png

单元划分和节点编号如下:

dd73f9fa14db93246a2339e0d39d6366.png

单元类型:双线性四边形单元,节点编号顺序如下

bfa8bcf99cd376f6344aa861f0a6ffdc.png

假设有限元计算结果如下:

节点编号1,7,132,8,143,9,154,10,165,11,176,12,18

X方向节点位移Ux012345

使用patch函数绘制位移云图

clc;clear

set(0,'defaultfigurecolor','w')%设置背景色为白色

nodex = [0, 0.2, 0.4, 0.6, 0.8, 1.0,...

0, 0.2, 0.4, 0.6, 0.8, 1.0,...

0, 0.2, 0.4, 0.6, 0.8, 1.0]; %节点X坐标

nodey = [0, 0, 0, 0, 0, 0,...

0.2, 0.2, 0.2, 0.2, 0.2, 0.2,...

0.4, 0.4, 0.4, 0.4, 0.4, 0.4];%节点Y坐标

nodeUx = [0, 1, 2, 3, 4, 5,...

0, 1, 2, 3, 4, 5,...

0, 1, 2, 3, 4, 5];%节点X方向位移

nel = 10;%单元数

nelx = 5;%X方向单元数

nely = 2;%Y方向单元数

X = [];

Y = [];

Ux = [];

for j = 1:nely

for i = 1:nelx

X0 = [nodex((j-1)*(nelx+1)+i), nodex((j-1)*(nelx+1)+i+1),...

nodex(j*(nelx+1)+i+1), nodex(j*(nelx+1)+i)]';

X = [X X0];

Y0 = [nodey((j-1)*(nelx+1)+i), nodey((j-1)*(nelx+1)+i+1),...

nodey(j*(nelx+1)+i+1), nodey(j*(nelx+1)+i)]';

Y = [Y Y0];

Ux0 = [nodeUx((j-1)*(nelx+1)+i), nodeUx((j-1)*(nelx+1)+i+1),...

nodeUx(j*(nelx+1)+i+1), nodeUx(j*(nelx+1)+i)]';

Ux = [Ux Ux0];

end

end

patch(X,Y,Ux); %填充

shading interp; %色彩平滑

colorbar;

% axis equal;

结果下图所示

5a862666b4ff42f8684870672c07f5bb.png

节点位移云图

[Matlab科学绘图] 绘制平面位移云图相关教程

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值