在MATLAB中绘制一组值的线图

时间:2017-11-23 08:03:08

标签: 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的默认折线图。

但是,出于某种原因,情节显示如下:Incorrect Plot

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

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

有没有办法解决图1?

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

1 个答案:

答案 0 :(得分:6)

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); 函数确实以您指定点的顺序绘制线条。我猜你正在寻找一条从最左边的点开始直到最右边的一条线。要达到此目标,您必须按升序x值对点进行排序。

docker run -d -p 80:80 my_image service nginx start

这会产生以下输出:

  

0.00000 0.07690 0.23080 0.46150 0.69230 1.00000

     

0.00000 0.66670 1.00000 1.00000 1.00000 1.00000

enter image description here