【问题标题】:Plotting continuous lines from a matrix on MATLAB在 MATLAB 上从矩阵绘制连续线
【发布时间】:2013-10-03 10:47:45
【问题描述】:

我正在尝试绘制这个数组:

A=[

   1     1     3    3     3     3;

   2     3     2    2     2     2;

   3     2     1    1     1     1]

其中X轴必须是每列的索引(1,2,3,4,5,6),Y轴必须是矩阵每一列的数字,所以我将有三行绘图.因此,对于值“1”,我将沿 X 轴绘制一个连续线图,对于值“2”,另一个连续线和另一个“3”。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%

我为上面的例子做了一个图。我希望 matlab 从一个巨大的矩阵中制作这种图形。

我在绘制这个矩阵时遇到问题

结果是:

请,如果您将图形与矩阵进行比较,它与 debería ser 不同。如果您在 Y=1 中看到 de E(4,1)=10,那么您在 Y=2 上看到相同的数字,我可以说数字 10 从 row = '4' 到 row = '10' ,但是与图形比较是不一样的(就像我想要的那样)。

【问题讨论】:

  • @Dan 绝对笼统地说,应该是plot(A.')
  • 谢谢。但是,我必须使 Y 轴下降。 @丹
  • 拜托,有人可以解释为什么这种方式有效吗? @LuisMendo
  • @OscarSantacruz 你的数据没有下降。所以我认为你需要重申你的问题,并可能包括一个你希望情节看起来像的例子
  • @OscarSantacruz 来自help plot:“PLOT(Y) 绘制 Y 的列与其索引”。所以plot(Y.') 绘制 Y 的行与它们的索引。

标签: matlab matrix plot


【解决方案1】:

绘制A的行并使y轴降序:

plot(A.')
axis ij

解释:

  • 来自help plot:“PLOT(Y) 绘制 Y 的列与其索引的关系”。所以 plot(Y.') 绘制 Y 的行与它们的索引。
  • 来自help axis:“AXIS IJ 将 MATLAB 置于其‘矩阵’轴模式。坐标系原点在左上角。i 轴是垂直的,从上到下编号。j 轴是水平的并且从左到右编号。”

如果您想为每一列绘制给定数字在哪一行(根据您编辑的问题):

[E_sort ind] = sort(E);
plot(ind.')
axis ij

如果E 中包含的数字集没有间隙,则此方法有效。

【讨论】:

  • 你能解决我现在遇到的问题吗,编辑上面的问题!
  • 这是一个不同的问题!如果我正确理解了您现在想要的内容:请参阅我的答案的第二部分。
  • 谢谢,但我不明白“ind”的意思是什么
  • 它只是一个索引变量。它为每一列提供每个数字所在的行的索引。通过键入help sortdoc sort 查看sort 的文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-15
  • 2015-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多