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))