如何在 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))
输出会像这张图
希望这对您有所帮助,抱歉我的英语不好
我有以下数组:
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))
输出会像这张图
希望这对您有所帮助,抱歉我的英语不好