在MATLAB中绘制一组值的线图

the*_*der 0 matlab plot matlab-figure

我希望在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的默认线图.

但是,出于某种原因,情节显示如下:不正确的情节

值的散点图可以看作如下:散点图

在检查散点图时,可以看出这些点适合曲线,但可以通过线段(通常的MATLAB方式)而不是曲折线简单地连接到下一个邻居.

有没有办法解决图1?

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

Geo*_* W. 6

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);
Run Code Online (Sandbox Code Playgroud)

这会产生以下输出:

0.00000 0.07690 0.23080 0.46150 0.69230 1.00000

0.00000 0.66670 1.00000 1.00000 1.00000 1.00000

在此输入图像描述