如何在 Matlab 中将线阵列保存为图形
Posted
技术标签:
【中文标题】如何在 Matlab 中将线阵列保存为图形【英文标题】:How to save a Line Array as figure in Matlab 【发布时间】:2017-05-06 08:01:44 【问题描述】:我有以下数组:
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;
请帮忙。
谢谢
【问题讨论】:
如果你想绘制像“f(x)=y”这样的函数,这是不可能的,因为每个y都有两个x值。但你可以试试“f(x)=y”,即“plot(y,x)”。 @nassertahani :你可以两者都做。 @mle0312 : 你能告诉我们你使用saveas
的方式吗?
【参考方案1】:
您可以根据您的目的重新设置 y 并避免 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))
输出会像这张图片
我希望这对你有帮助,对不起我的英语
【讨论】:
以上是关于如何在 Matlab 中将线阵列保存为图形的主要内容,如果未能解决你的问题,请参考以下文章