【发布时间】:2020-04-26 15:27:37
【问题描述】:
我试图在 20 个快照中说明 2D 矩阵。我使用slice 绘制它,但除了顶部矩阵之外,其余的都看不到。有没有办法增加切片之间的空间以便能够看到每个平面?也有人可以建议另一种方法来显示t=1:20 的4x8 矩阵的时间演变吗?
这是我用来绘制数据的小代码:
T2=20;
Xc = zeros(8,4,T2);
for j = 1:T2
Xc(:,:,j) = mdp2(j).X{1};
end
hs = slice(Xc,[],[],1:T2) ;
lightangle(-45,45);
view([-25 30]);
xticks(linspace(0,20,41));
axis on;
【问题讨论】:
-
您查看坐标区的 DataAspectRatio 属性了吗?在 z 轴上拉伸图形应该可以做到。
-
@CrisLuengo 感谢您的回复。我有一个问题:我正在尝试在 20 个切片中绘制
4x8矩阵,但使用slice似乎它显示了3x7矩阵。例如imagesc清楚地显示了4x8矩阵的值。有什么方法可以结合imagesc和slice例如? -
slice将数据放在顶点处,您有 4x8 个顶点,它们构成 3x7 矩形。您需要在切片中添加一行和一列,并适当设置插值以将数据显示为 4x8 矩形。这里有一个问答环节,我相信 Google 会为您提供。 -
@CrisLuengo 我一直在谷歌搜索,但找不到答案。我们如何向
slice添加行和列?对不起,我的问题可能。对你来说似乎很天真,但我最近才开始在 matlab 中编码,而且我对它还很陌生。谢谢。 -
我找不到问答。您应该以
Xc = zeros(9,5,T2);开头,然后复制Xc(1:8,1:4:,j) = mdp2(j).X{1};。看看这是否能改善你的身材。
标签: arrays matlab matrix slice matlab-figure