在 MATLAB 中绘制一组值的线图

Making a line plot of a set of values in MATLAB

我希望在 MATLAB 中获得以下向量的线图:

x=[0 0.6923 0.4615 0.2308 0.0769 1.0000];

y=[0 1.0000 1.0000 1.0000 0.6667 1.0000];

我用了命令 plot(x,y);获取MATLAB默认线图

然而,由于某些原因,剧情是这样的:Incorrect Plot

数值散点图如下:Scatter plot

检查散点图后,可以看出这些点符合曲线,但可以通过线段(MATLAB 常用的方式)而不是锯齿线简单地连接到下一个邻居。

有什么方法可以修复图1吗?

而且,为什么 MATLAB 最终会连接两个不连续的不同点?

plot() 函数确实按照您指定的点的顺序绘制线条。我猜你正在寻找一个从最左边的点开始一直到最右边的线的情节。要达到此目标,您必须按 x 值升序对您的点进行排序。

x=[0    0.6923    0.4615    0.2308    0.0769    1.0000];
y=[0    1.0000    1.0000    1.0000    0.6667    1.0000];
[x,idx] = sort(x);
y = y(idx);
plot(x,y,'o-');
disp(x);
disp(y);

这会产生以下输出:

0.00000 0.07690 0.23080 0.46150 0.69230 1.00000

0.00000 0.66670 1.00000 1.00000 1.00000 1.00000