【问题标题】:Plot multidimensional array in Matlab在 Matlab 中绘制多维数组
【发布时间】:2012-03-21 14:03:41
【问题描述】:

我有一个矩阵,比如说:

size P = zeros(2,2,100);

让我们尝试绘制每个矩阵的第一个元素,如下所示:

plot(1:1:100, P(1,1,:))

这不起作用。正确的做法是什么?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    尝试绘图(squeeze(P(1,1,:))。

    squeeze() 函数删除单件维度(大小为 1 的维度)。

    【讨论】:

      【解决方案2】:

      解决方案:手动创建数组。不是很优雅,但很有效。

      % tl = top left, br = bottom right, etc.
      for i=1:1:100
          tlplot(i) = P(1, 1, i);
          trplot(i) = P(1, 2, i);
          blplot(i) = P(2, 1, i);
          brplot(i) = P(2, 2, i);
      end
      

      那么,例如:

      plot(1:1:100, tlplot)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-04
        相关资源
        最近更新 更多