首页 文章

在MATLAB中绘制一组值的线图

提问于
浏览
0

我希望在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方式)而不是曲折线简单地连接到下一个邻居 .

Is there any way to fix Figure 1?

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

1 回答

  • 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);
    

    这会产生以下输出:

    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

相关问题