繁体   English   中英

从具有多个维度的数组中绘制MATLAB数据

[英]Plotting MATLAB data from arrays with several dimensions

考虑三维数组

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()之外,还有其他解决方法吗?

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

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

另一种选择是使用shiftdim移位矩阵尺寸

plot(shiftdim(A(1,1,:),1),shiftdim(B(1,1,:),1),'o')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM