我有一个例程,迭代地改变矩阵的结构,我想为该过程设置动画,以便用户可以实际看到结构发生变化。
如果我的矩阵是nxn,我想将矩阵显示为nxn表
e.g。
然后使用'情节'命令我希望有一个包含以下内容的数字:
(不需要网格线) 我的实际矩阵可能是25x25 / 100x100
答案 0 :(得分:1)
这段简短的代码
n = 25 ;
A = randi(100, n, n) ;
figure ;
xlim([0 n+2]) ;
ylim([0 n+2]) ;
axis off ;
tt = cell(n,n) ;
for i = 1:n
for j = 1:n
tt{i,j} = text(j,n-i,sprintf('%d',A(i,j))) ;
end
end
for k = 1:100
% Get random coordinates
i = randi(n) ;
j = randi(n) ;
% Get random value
v = randi(100) ;
% Remove & update text
delete(tt{i,j}) ;
tt{i,j} = text(j,n-i,sprintf('%d',v)) ;
% Force figure plot
drawnow() ;
% Wait a bit
pause(0.02) ;
end
在网格上打印矩阵,没有线条。然后随机查找坐标并更改其值。 我不确定添加行是否有助于提高清晰度。如果真的需要,你可以简单地使用情节添加它们。
您可以调整sprintf,以便很好地显示您的数据。 如果数字全部相互叠加,只需拖动窗口的一角即可增加图形的大小。