er 是想说明我目前做的模拟是在200*200大小的数组中,由rand生成随机数后按照一定的规则进行运算,所以所得结果还是比较复杂,不能用手画出来的,附件所附图形只是示意简图。
matlab能否做出上面所说的分界线呢?
之前我是用contour作等高线,但数组一复杂后,图形就会出现一些不应该出现的空白区,目前还是无法解决。。。不过看到文献说OpenGL能实现这要求,但那个我还没用过。。。
%v为矩阵
imagesc(v);
hold on;
%l为line,r为row
%hx,hy为矩阵行、列数
for l=1:hx
for r=1:hy
x1=[];x2=[];y1=[];y2=[];
if r~=hy
if v(l,r)~=v(l,r+1)
x1=[l-0.5,l+0.5];
y1=[r+0.5,r+0.5];
line(y1,x1,'Color','k','LineWidth',3)
end
end
if l~=hx
if v(l,r)~=v(l+1,r)
x2=[l+0.5,l+0.5];
y2=[r-0.5,r+0.5];
line(y2,x2,'Color','k','LineWidth',3)
end
end
end
end