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

Arrays 如何在Matlab中将线阵保存为图形,arrays,matlab,plot,save,figure,Arrays,Matlab,Plot,Save,Figure,我有以下阵列: x = [1,2,3;,4,5,6]; y = [0,1,2]; 我想画出每一行X和Y。通常,我在X和Y之间做了一个for循环,然后分别绘制。我意识到我们可以写作 绘图(x,y) 它自动地做同样的事情。一个问题是Matlab说这是一个线阵列。如何应用saveas命令?我试过了,但出现了以下错误: Conversion to matlab.graphics.chart.primitive.Line from cell is not possible. Error in save

我有以下阵列:

x = [1,2,3;,4,5,6];
y = [0,1,2];
我想画出每一行X和Y。通常,我在X和Y之间做了一个for循环,然后分别绘制。我意识到我们可以写作

绘图(x,y)

它自动地做同样的事情。一个问题是Matlab说这是一个线阵列。如何应用saveas命令?我试过了,但出现了以下错误:

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

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


谢谢

您可以为您的目的报告,并避免循环。。。像下面的代码

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绘制每一列)

输出将类似于此图片


我希望这会对你有所帮助,我的英语也很抱歉

如果你想绘制像“f(x)=y”这样的函数,那是不可能的,因为每个y有两个x值。但是你可以试试“f(x)=y”,也就是“plot(y,x)”。@nassertahani:两者都可以@mle0312:您能告诉我们您使用saveas的方式吗?
 plot(x.',y_new.')     % plot(transpose(x),transpose(y))