我希望在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最终会连接两个不连续的点?
答案 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