Matlab学习笔记(一)--绘图

1、固定坐标轴

1.1  axis函数

axis([xmin xmax ymin ymax zmin zmax])

如果只给出前4个参数,则MATLAB按照给出的x,y的最小值和最大值选择坐标系的范围,以便绘制二维曲线。如果给出全部参数,则系统按照给出的3个坐标轴的最小值和最大值选择坐标系的范围,以便绘制出合适的三维曲线。

axis函数功能丰富,常用格式还有:

axis equal:横、纵坐标采用等长刻度;

axis square:产生正方形坐标系(缺省为矩形);

axis auto:使用缺省设置;

axis off:取消坐标轴;

axis on:显示坐标轴。

给坐标加网格线用grid命令来控制,grid on表示加网格线,grid off表示不加网格线,不带参数的grid命令在两种状态之间进行切换。

例:输入命令:

>>axis([-1,7,-1,7])

>>hold  on  //固化屏幕

此时画图窗口坐标从(-1,-1)到(7,7).

 

1.2  set函数

使用set可以设置坐标轴的一些属性

例:

axis([0 255 0 15000]);

set(gca,'xtick',[0:50:255]);%设置横坐标轴的间距

set(gca,'ytick',[0:1000:15000]);%设置纵坐标轴的间距

set(gca,'color','g');%设置绘图区域的颜色

1.3  xlim及ylim

例:

xlim([-2 30]);%设置x轴范围

ylim([12 90]);%设置y周范围

hold on;

说明:当仅设置一个坐标轴的范围时候,另外一个坐标轴将采用’auto’方式.

1.4设置绘图窗口的绘图区域位置

haxes=axes('Position',[0.05,0.45,0.9,0.53]);

上面是使用的相对坐标,也可以使用绝对坐标.

1.5获取坐标轴范围

h=get(gca,'xlim');%获取x的范围

k=get(gca,'ylim');%获取y的范围

 

2、绘图属性设置

作图的一些属性如下表:

         符号

含义

W

白色

k

黑色

r

红色

y

黄色

m

洋红色

g

绿色

c

青绿色

 b

蓝色

:.

点划线

.

实心圆

X

叉号符

*

星号

:

虚线

S

正方形

 o (字母o)

空心圆

-- (两个减号)

双划线

+

加号符

d

菱形

^

上三角形

-(减号)

实线(默认)

V

下三角形

>

右三角形

<

左三角形

P

五角星

H

六边形

注:要同时使用上面的多种属性时,直接放在一起就行.例如:plot([0,3],[0,3],'b:'),则画的直线为蓝色的虚线.

cla命令可以清除绘图窗口已有的图形.

3、绘制直线

3.1使用plot函数

【例一】

画从(0,1)到(2,3)的直线(实线)

plot([0,2],[1,3],'m')

 

【例二】

画从(0,0)到(6,3)的直线(虚线)

plot([0,6],[0,3],':')

 

【例三】:通过复数画直线

画从(0,1)到(2,3)的直线(实线)

x = [i , 2 + 3 * i];

polt(x,’m’)

 

3.2使用line函数

使用line函数可以绘制直线,可以在二维平面画直线,也可以在三维平面画直线.

【例一】:

axis([-2 2 -2 2]);

hold on ;

t = 0:(2*pi/50):(2*pi) ;

plot(sin(t),cos(t),'-r');

line(sin(12*t),cos(12*t),'Marker','.','LineStyle','-','color','b');

【例二】:

axis([-2 2 -2 2]);

hold on ;

axis square ;   

t = 0:(2*pi/50):(2*pi) ;

plot(sin(t),cos(t));

%通过定义一个结构体来设置属性

PS.Color=[0.8 0.9 0.2];

PS.LineWidth=2;

PS.Marker = '*';

line(sin(12*t),cos(12*t),PS);

【例三】:小球运动

% 产生封闭的运动轨线

t1=(0:1000)/1000*10*pi;x1=cos(t1);y1=sin(t1);z1=-t1;

t2=(0:10)/10;x2=x1(end)*(1-t2);y2=y1(end)*(1-t2);z2=z1(end)*ones(size(x2));

t3=t2;z3=(1-t3)*z1(end);x3=zeros(size(z3));y3=x3;

t4=t2;x4=t4;y4=zeros(size(x4));z4=y4;

x=[x1 x2 x3 x4];y=[y1 y2 y3 y4];z=[z1 z2 z3 z4];

plot3(x,y,z,'b'),         axis off               % 绘制曲线

% 定义"线"色、"点"型(点)、点的大小(40)

h=line('Color',[1 0 0],'Marker','.','MarkerSize',40);

% 使小球运动

n=length(x);i=1;

while 1                                                                                                                    

   set(h,'xdata',x(i),'ydata',y(i),'zdata',z(i)); 

   drawnow;                                                                                                        

   pause(0.0005)                                                                                                

   i=i+1;

   if i>n

      break;

   end

end

 

4、图形标注

4.1  text函数

【例一】

在坐标(1,-0.2)出输出字符’3’

text(1,-0.2,num2str(3))

注:num2str()函数功能是将数字转换成字符串

【例二】

在(2,3)处标出其坐标

text(2,3,'(2,3)')

 

4.2  legend函数

legend函数可以对同一绘图窗口的多条曲线进行标注.

使用示例:

代码:

figure;

x = -pi:pi/20:pi;

plot(x,cos(x),'-ro',x,sin(x),'-.b')

legend('cos_x','sin_x');

4.3其它标注

title(图形名称)

xlabel(x轴说明)

ylabel(y轴说明)

zlabel(z轴说明)

title和xlabel,ylabel,zlabel函数分别用于说明图形名称和坐标轴的名称。

 

5、设置曲线样式

图4-1 线型选项

选项

线型

选项

线型

-

实线(默认值)

-.

点划线

:

虚线

--

双划线

 

图4-2 颜色选项

序号

选项

颜色

序号

选项

颜色

1

b (blue)

蓝色

5

m (magenta)

品红色

2

g (green)

绿色

6

y (yellow)

黄色

3

r (red)

红色

7

k (black)

黑色

4

c (cyan)

青色

8

w (white)

白色

 

图4-3 标记符号选项

选项

标记符号

选项

标记符号

.

v

朝下三角符号

o(字母)

圆圈

^

朝上三角符号

x(字母)

叉号

<

朝左三角符号

+

加与

>

朝右三角符号

*

星号

p (pentagram)

五角星符

s (square)

方块符

h (hexagram)

六角星符

d (diamond)

菱形符

 

 

6、使用双坐标轴绘制图形

plotyy函数可以在双坐标轴上绘制曲线.

使用格式:

[AX,h1,h2] = plotyy(x1,y1,x2,y2)

说明:

AX为绘图的纵坐标的句柄,AX(1)代表左边纵坐标的句柄,AX(2)代表右边纵坐标的句柄;h1为左边图形的句柄;h2为右边图形的句柄.

使用示例:

figure;

x = -pi:pi/20:pi;

[AX,hl,hr] = plotyy(x,10*cos(x),x,sin(x));

set(hl,'LineStyle','--');%设置左边图形属性

set(hr,'LineStyle','.');%设置右边图形属性

set(get(AX(1),'Ylabel'),'String','余弦曲线') ;

set(get(AX(2),'Ylabel'),'String','正弦曲线') ;

 

7、图形窗口的分割

subplot函数的调用格式为:

subplot(m,n,p)

该函数将当前图形窗口分成m×n个绘图区,即m行n列个绘图区,区号按行优先编号,且选定第p个区为当前活动区。在每个绘图区允许以不同的坐标系单独绘制图形。

8、隐函数绘图

MATLAB提供了一个ezplot函数绘制隐函数图形,下面介绍其用法。

(1) 对于函数f = f(x),ezplot函数的调用格式为:

ezplot(f):在默认区间-2π<x<2π绘制f = f(x)的图形。

ezplot(f, [a,b]):在区间a<x<b绘制f = f(x)的图形。

(2) 对于隐函数f = f(x,y),ezplot函数的调用格式为:

ezplot(f):在默认区间-2π<x<2π和-2π<y<2π绘制f(x,y) = 0的图形。

ezplot(f, [xmin,xmax,ymin,ymax]):在区间xmin<x<xmax和ymin<y<ymax绘制f(x,y) = 0的图形。

ezplot(f, [a,b]):在区间a<x<b和a<y< b绘制f(x,y) = 0的图形。

(3) 对于参数方程x = x(t)和y = y(t),ezplot函数的调用格式为:

ezplot(x,y):在默认区间0<t<2π绘制x=x(t)和y=y(t)的图形。

ezplot(x,y, [tmin,tmax]):在区间tmin < t < tmax绘制x=x(t)和y=y(t)的图形。

【例一】

x = 'sin(2*t^2)' ;

y = 'sin(t)+2*cos(t)';

ezplot(x,y,[-5,5]);

【例二】

f = ezplot('x^2+y^2=2',[-2,2]);

set(f,'color','red');

【例三】

z = 'x.^2+2*cos(y)';

f = ezplot(z,[-2,2,-pi,pi]);

set(f,'color','red');

猜你喜欢

转载自blog.csdn.net/huzhizhewudi/article/details/84438592
今日推荐