MATLAB plot函数

来源:互联网 发布:人人分销v2 源码 .zip 编辑:程序博客网 时间:2024/06/06 20:07

plot函数

 

plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:

 

(1) plot(x)  当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制曲线。

(2)plot(x)  当x 为一m×n矩阵时,则可以按列绘制n条曲线,其中每一列上元素的值为纵坐标,元素在列中的序号为横坐标。

(3)plot(x,y1,x,y2) 以公共的x元素为横坐标值,y1,y2分别为纵坐标绘制两条曲线。

 

在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专门提供了这方面的参数选项。如下表:


线型

 

标记符

 

颜色

 

-

实线(默认)

+

 

r

红色

--

双划线

o

 

g

绿色

:

虚线

*

 

b

蓝色

-.

点划线

.

 

c

青绿色

 

 

×

 

m

洋红

 

 

s

正方形

y

黄色

 

 

d

菱形

k

黑色

 

 

 

 

w

白色



设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说’-r*’、'-*r'、'*-r'等形式是等效的,都表示使用红色实线连接各个节点,各节点使用’*’标识。

例1.画出一条正弦曲线和一条余弦曲线。

>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,'-*r',x,y2,':+b')


另外,MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。

grid on /off        给当前图形标记添加(取消)网络

xlabel(‘string’)   标记横坐标

ylabel(‘string’)   标记纵坐标

title(‘string’)      给图形添加标题

text(x,y,’string’)   在图形的任意位置增加说明性文本信息

gtext(‘string’)       利用鼠标添加说明性文本信息,前提是已经有图,输入该代码之后打开图就提示你确定输入位置了

axis([xmin xmax ymin ymax])     设置坐标轴的范围,表明x的范围(xmin,xmax)y的范围(ymin,ymax)

2.给例1的图形添加横纵坐标标题,坐标轴范围,图形标题。

>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,'-*r',x,y2,':+b'),xlabel('x坐标'),ylabel('y坐标'),title('sin,cos曲线图'),axis([0.5*pi 1.5*pi -1 1])


在一般默认的情况下,MATLAB 每次使用plot 函数绘图,将重新产生一个图形窗口,但有时希望后续的图形能够和前面所绘制的图形进行比较。一般来说有两种方法:

(1) 采用hold on命令,将新产生的图形曲线叠加到已有的图形上,hold off 关闭此功能;

(2) 采用subplot(m,n,k)函数,将图形窗口分隔成m×n个子图,并选择第个子图作为当前图形,然后在同一个视图窗口中画出多个小图形。

3.利用subplot(m,n,k)命令绘制多子图。

>> x=linspace(0,2*pi,60);>> y=sin(x);>> subplot(2,2,1)>> plot(x,y,':.')>> subplot(2,2,2)>> plot(x,y,'--')>> subplot(2,2,3)>> plot(x,y,':')>> subplot(2,2,4)>> plot(x,y,'-.')

4.利用hold on命令绘图。

>>x=linspace(0,2*pi,60);>>y=sin(x);>>z=cos(x);>>plot(x,y,'*-b'),xlabel('自变量x'),ylabel('因变量'),title('sin(x),cos(x)曲线对比图'),axis([0 2*pi -2 2]);>>hold on;>>plot(x,z,'+:r');>> legend('sin(x)','cos(x)');>> hold off;



另外:

1.linspace(x1,x2,N)

功能:用于创建向量,意思是以x1为起点,x2为终点,将区间(x1,x2)分为N-1段。

2.legend()

功能:用于给你的图形添加标注的,legend(‘y1’,’y2’,’y3’)y1,y2,y3的顺序应该严格跟你前面所画图的顺序保持一致。

5

>> y1=rand(1,10);>> y2=rand(1,10);>> y3=rand(1,10);>> plot(y1,'r+-');>> hold on;>> plot(y2,'b*-');>> hold on;>> plot(y3,'yo:');>> legend('y3','y2','y1');



上图中代码里面替换先后顺序之后,所画出的图就与真实不同,如代码中y1用的是红线,而图中显示是黄线。


另外:

clc 清屏

clear 清除变量


0 0
原创粉丝点击