Matlab绘制二维应力云图

    自己研究了下用Matlab绘制二维应力云图的方法,三维应力云图的绘制可以以此类推。


    实现的方法主要是运用fill函数,三维情形应该是fill3函数。


    这里我们以一个四边形的例子来说明。


Matlab绘制二维应力云图_第1张图片


    如上图所示的四个点,其坐标x,y和对应的应力值stress为:

x=[0 1 1 0 0];
y=[0 0 1 1 0];
stress=[1 2 3 4 1];

    然后利用fill函数就可以得到改四边形的stress云图。代码如下:

fill(x,y,stress);
shading interp;
colorbar;
axis equal;


    结果如下:

Matlab绘制二维应力云图_第2张图片

    利用这个思路,我们在得到有限元计算的所有节点的应力值后,可以

单元进行每个子单元的应力云图绘制,循环完所有的单元后就可以得

整体区域的应力云图了。

    绘制代码如下所示:

hold on;
for e=1:ne
    i=Conn(e,:);%Connectivity Matrix
    x=X(i);
    y=Y(i);
    s=Sress(i);
    fill(x,y,s,'FaceColor','interp');
end
shading interp;
hold off;
axis equal


这里以1/4带孔方板为例,我们得到的应力云图如下:

Matlab绘制二维应力云图_第3张图片


你可能感兴趣的:(Matlab)