从具有多个维度的阵列绘制MATLAB数据

时间:2013-01-26 00:54:32

标签: arrays matlab plot matlab-figure

考虑三维数组

A = rand(3,4,5);
B = rand(3,4,5);

plot(A(:,1,1),B(:,1,1))
plot(A(1,:,1),B(1,:,1))

这一切都很好,但是

>> plot(A(1,1,:),B(1,1,:))
Error using plot
Data may not have more than 2 dimension

除了使用reshape()

之外,是否可以快速解决此问题

1 个答案:

答案 0 :(得分:3)

您应该使用squeeze删除单身尺寸:

plot(squeeze(A(1,1,:)),squeeze(B(1,1,:)))

另一种选择是使用shiftdim

来移动矩阵维度
plot(shiftdim(A(1,1,:),1),shiftdim(B(1,1,:),1),'o')