MATLAB程序如下: d=0.02;r1=0.3; x=-r1:d:r1;y=-r1:d:r1;%赋值:x=[-0.3 0.3] y=[-0.3 0.3] 跨度都是0.02 for i=3:d:4 if i>=3.5&i<=3.8 %不知道你说的10到15层是什么意思,是将图像中间某些点的数据清空?如果是这样就设置数据i,也许你不是这个意思,但是总之就是查找 X=NaN; Y=NaN; else [X,Y]=meshgrid(x,y);%X=[-0.3 -0.2 …… 0.3;-0.3 -0.2 …… 0.3;……;-0.3 -0.2 …… 0.3] %Y=[-0.3 -0.3 …… -0.3;……;-0.2 -0.2 …… 0.2;……;0.3 0.3 …… 0.3] X(X.^2+Y.^2>((r1)^2))=NaN;%将半径为0.3的圆外的数据清空,也就是画出圆柱形 Y(X.^2+Y.^2>((r1)^2))=NaN;%同上 h2=mesh(X+1,Y+1,X*0+i);hold on%x=[0.7 1.3] y=[0.7 1.3] z=[3 4] %X*0+i 是为了画图时将z设置的与x行、列数一样 end end axis equal %坐标 设置坐标采取等长刻度
d=0.02;r1=0.3;
x=-r1:d:r1;y=-r1:d:r1;
[X,Y]=meshgrid(x,y);
for i=3:d:4
X(X.^2+Y.^2>((r1)^2))=NaN;
Y(X.^2+Y.^2>((r1)^2))=NaN;
h2=mesh(X+1,Y+1,X*0+i);hold on ;
end
axis equal
这个程序能生成如图所示的图形。
我需要在后续的计算中调用图形中的一些位置点,比如将10到15层的某些点赋于NaN。这样就需要能够找出这些点的位置,本人现在初学MATLAB,不知道怎么实现,还请各位高人指点一下!
还有程序中的 h2=mesh(X+1,Y+1,X*0+i);是什么意思?为什么要有X*0呢?
谢谢!!!!