如何在 Matlab 中将线阵列保存为图形

How to save a Line Array as figure in Matlab

我有以下数组:

x = [1,2,3;,4,5,6];
y = [0,1,2];

我想绘制 X 与 Y 的每一行。通常,我对 X 进行 for 循环并单独绘制。我意识到我们可以写

plot(x,y)

它会自动执行相同的操作。一个问题是 Matlab 说这是一个线阵。如何应用 saveas 命令?我试过了,但出现以下错误:

Conversion to matlab.graphics.chart.primitive.Line from cell is not possible.

Error in saveas (line 75)
                h(n) = hP;

请帮忙。

谢谢

您可以根据自己的目的重新设置并避免 for 循环...就像下面的代码

x = [1 2 3 ; 4 5 6];           %XData (2-by-3)

y = [ 0 , 1 , 2];              %Ydata (1-by-3)

nrx = size(x , 2);             % number of x rows

y_new = repmat(y, nrx , 1 );   % repeat y along row direction

所以输出将如下所示

y_new = repmat(y, nrx , 1 )

y_new =

 0     1     2
 0     1     2

最后绘制数据(请记住,您必须转置数据,因为 MATLAB 绘制每一列)

 plot(x.',y_new.')     % plot(transpose(x),transpose(y))

输出会像这张图

希望这对您有所帮助,抱歉我的英语不好