matlab中plot(x,y,'*')画出散点图,用plot(x,y)将点连起来,为什么趋势线不对?

如图,图1是用plot(x,y,'*')画的,想变成实现相连的图,所以换成plot(x,y),得到的图为什么变成了图2????

举个简单的例子: x=0:0.1:24; y=7+7*sin(x); plot(x,y,'-*') axis([0,24,0,15]); axis square 这里画了个正弦曲线。你说的横纵坐标设置就是axis([0,24,0,15])这句,前两个数字为横坐标起始和结束值,后两个数字为纵坐标的。你把图画出来后,最后加上这句,调整数字,即可得到你想要的坐标范围。 axis square 只是把坐标轴那个框调整成正方形,你可以不管。。。具体可参加axis的帮助说明(在主窗口中键入help axis即可)。 然后你的题目,“matlab中怎么画画散点图并平滑”。 如果只是要散点,而不要连线的话,可以把plot(x,y,'-*')改成plot(x,y,'*')。。然后如果要采取其他样的散点,可以把plot(x,y,'*')改成plot(x,y,'+')等。。具体可以参加 help plot。 至于如何平滑,我不知道你具体意思了。。最简单的方式可能是增加数据密度了。因为matlab中画图是通过在横坐标挨着的两个点间用直线相连完成的。。也就是横坐标越密,图就越平滑了。。如把上面的x=0:0.1:24;改成x=0:1:24;试试就知道了。。。当然可能我理解错了你的意思,那要是其他高深的平滑方法,一时我也想不起来。。 数据导入的话,一方面是向这个例子中一样直接输入了。也可以从其他文件中导入。主窗口中:file-import data 。。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-17
首先需要有对应的离散数据。
这里以二维的数据举例
clc,clear
x=[1 5 3 6 10];
y=[12 16 8 33 20];
plot(x,y,'o')本回答被网友采纳
第2个回答  2018-01-25
图1的顺序是按x,y轴数据大小的顺序显示,直接连线是根据你数组的存放顺序显示。两个顺序之间不一样,显示结果肯定不同,想达到你要的结果得先把数据顺序存放。
第3个回答  2020-06-12
你这是x,y对应关系不对吧。。。
相似回答