生成蜂窝结构的Matlab程序

生成蜂窝结构的Matlab程序

有时候需要用到蜂窝结构,matlab中的六边形生成方法:

pgon = nsidedpoly(6,'Center',[X Y],'Radius',15);
V = pgon.Vertices;% 获得六个顶点坐标

通过六边形生成蜂窝结构比较麻烦。

以下程序可以快速生成

rc=12;dy=2*rc;dx=rc*sqrt(3);
A = 1:7;
A=pi/3*A;%圆周6等分
num=0;
for yk=[0:dy:100,0:-dy:-100]
    yfun=inline(['sqrt(3)*x/3+',num2str(yk)]);%内联函数
    for xk=[0:dx:100,0:-dx:-100]
        xp=xk;
        yp=yfun(xp);
        if -50<xp && xp<50 && -50<yp && yp<50
            T = [xp+1i*yp]+rc*exp(1i*A)*2/sqrt(3);%复数形式
%             Vertx = real(T)'+50;
%             Verty = imag(T)'+50;
%             V = [Vertx,Verty];%六个角点的坐标
            num=num+1;
            fprintf('第%d个六边形加粗\n',num);
            plot(T)
            hold on;
            plot(xp,yp)
        end
    end
end

其中V就是每个六边形的顶点坐标。想要获得所有顶点也比较容易。

通过上程序就可以快速重构蜂窝结构用于二维的数值模拟了。

posted on 2021-08-31 10:26  MultiSimOpt  阅读(1759)  评论(0)    收藏  举报

导航