1、首先,随机产生三组范围不同的数据,数据量都为500,他们的边界分别为[10,15],[23,38],,[38,58]。方法如下:
x1=10+5*rand(500,1)
x2=23+15*rand(500,1)
x3=38+20*rand(500,1)
2、下面,要分别画出x1,x2,x3对应的曲线,用MATLAB的内置函数plot进行 *** 作,分别用三个plot进行绘图,结果如下:
plot(x1,'r')
plot(x2,'b')
plot(x3,'g')
3、可以看到,图中只有一条曲线,并没有其他两条曲线。这是因为后面plot的语句画的图会将前面plot画的图覆盖掉。因此需要用一个语句来保留前面所绘制的图,在需要保留的图的后面加一句holdon,即可将该图保留,使它不被后面的图所覆盖,具体语法如下:
plot(x1,'r')
holdon
plot(x2,'b')
holdon
plot(x3,'g')
这样就可以将三条曲线画在一张图上,为了区别,要分别给这三条曲线定义不同的颜色,
4、为了图的美观,可以用gridon添加网格线,还需要添加横纵坐标轴标题。方法如下:
xlabel('样本序列')
ylabel('值')
5、除此之外,因为画的是多条曲线,因此还需要添加图例,语法如下:
legend('变量1','变量2','变量3')
括号里面按照画图的顺序分别写每条曲线代表的意义即可,
6、完成效果图。
可以用subplot命令画曲线。
如果曲线的条数比较少,例如3条,使用plot命令就可完成任务,具体命令如plot(x1,y1,x2,y2,x3,y3)
但如果曲线条数很多,如30条,那该怎么办?写成plot(x1,x2,...,x30,y30)岂不是很烦?其实有个小技巧可以让你轻松以循环的方式在一幅图上画曲线,那就是命令hold。
hold这个命令设定是否保持当前figure的属性,如果执行hold off,表示每次调用plot时都将当前figure设置成默认状态,即清空前面的曲线;如果执行hold on,表示每次调用plot时都只是在当前figure上添加曲线,以前的曲线继续保留。
假设30条曲线的坐标存在矩阵x、y中,每行表示一条曲线,则画曲线的示意命令如下所示:
figure
hold on
for i=1:30
plot(x(i,:),y(i,:))
end
方法步骤如下:
1、首先打开计算机,启动matlab,主界面如图所示,在命令行窗口中直接键入代码。
2、代码如下图所示。可以看到matlab自动为其选择了不同个颜色进行区分,但是并不容易看出那条曲线是那个函数的。
3、下面通过定点标记,来给出明显的区分。命令中的s代表方块,也就是说第一条曲线用方块画出;命令中的*表示星号,也就是说第二条曲线用星号画出。
4、下面的命令将第一条曲线用叉号标记,第二条曲线用圆圈标记。
5、下面的命令用五角星标记第一条曲线,用加号标记第二条曲线即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)