matlab中画图的时各种设置
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29
2)坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出
来,为隐去坐标系,可用axis off;axis on则显示坐标轴
(缺省值).
3)通常MATLAB的坐标系是长方形,长宽比例大约是4:3,为了得到一个
正方形的坐标系可用:axis square
4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例
'MarkerFaceColor','y',... %设置标记点填充颜色为黄色
'MarkerSize',10) %设置标记点的尺寸为10
绘出图形如下:
00.511.522.533.5
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
34
4.双Y轴绘图:plotyy()函数.
其调用格式为:
plotyy(x1,y1,x2,y2)------绘制由x1,y1和x2,y2确定的两组曲线,其中x1,
y1的坐标轴在图形窗口的左侧,x2,y2的坐标轴在
图形窗口的右侧.
Plotyy(x1,y1,x2,y2, 'function1','function2')------功能同上,function是指那些
5.打开图形窗口的方法有三种:
1)调用绘图函数时自动打开;
2)用File---New---Figure新建;
3)figure命令打开,close命令关闭.
在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已
打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗
口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.
6.窗口中的图形打印:用图形窗口的File菜单中的Print项.
7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜
单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属
性.
二.坐标系
1.一个图形必须有其定位系统,即坐标系;
2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;
数.
1)semilogx( )------绘制以X轴为对数坐标轴的对数坐标图.
其调用格式为:semilogx(x,y,'属性选项')
其中属性选项同plot函数.
该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.
2)semilogy( )------绘制以Y轴为对数坐标轴的对数坐标图.
其调用格式为:semilogy(x,y,'属性选项')
3.每个坐标系都有唯一的标识符,即句柄值;
4.当前坐标系句柄可以由MATLAB函数gca获得;
5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指
定坐标系句柄值.
6.一些有关坐标轴的函数:
1)定义坐标范围:一般MATLAB自动定义坐标范围,如用户认为设定的不
合适,可用:axis([Xmin, Xmax, Ymin, Ymax])来重新设定;
该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.
35
3)loglog( )------绘制X,Y轴均为对数坐标轴的图形.
其调用格式为:loglog(x,y,'属性选项')
该函数分别对横,纵坐标都进行对数变换.
例:x=0:0.1:6*pi;
y=cos(x/3)+1/9;
subplot(221), semilogx(x,y);
色,不同的线型及标记点表示出来.这些选项如下表所示:
各种颜色属性选项
选项意义选项意义
'r'红色'm'粉红
'g'绿色'c'青色
32
'b'兰色'w'白色
'y'黄色'k'黑色
各种线型属性选项
选项意义选项意义
'-'实线'--'虚线
':'点线'-.'点划线
各种标记点属性选项
选项意义选项意义
'.'用点号绘制各数据点'^'用上三角绘制各数据点
x=x';
y=y';
figure
31
plot(x,y)
在这个例子中,x------ 3x101,y------3x101,所以第一个plot按列画出
101条曲线,每条3个点;而x'------101x3,y'------ 101x3,所以第二个plot
按列画出3条曲线,每条101个点.
012345678
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
012345678
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
3.多组变量绘图:plot(x1, y1,选项1, x2, y2,选项2,……)
上面的plot格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点
而设定的曲线的属性.MATLAB在多组变量绘图时,可将曲线以不同的颜
例如:极坐标模型为:3145/)/)cos((+ =θρ, ],[πθ80∈则绘出极坐标图
的程序为:theta=0:0.1:8*pi;
p=cos((5*theta)/4)+1/3;
polar(theta,p)
0.5
1
1.5
30
210
60
240
90
270
120
300
150
330
1800
四.绘制多个子图:subplot( )函数
色的'+'号绘制曲线.
注意:1)表示属性的符号必须放在同一个字符串中;
2)可同时指定2~3个属性;
3)与先后顺序无关;
4)指定的属性中,同一种属性不能有两个以上.
例:t=0:0.1:2*pi;
y1=sin(t);
y2=cos(t);
y3=sin(t).*cos(t);
plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')
该程序还可以按下面的方式写:
t=0:0.1:2*pi;
y1s(t);
plot(t,y1, '-r')
hold on
plot(t,y2, ':g')
plot(t,y3, '*b')
hold off
注:在MATLAB中,如画图前已有打开的图形窗口,则再画图系统将自动
MATLAB
受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图
功能.本章主要介绍2维图形对象的生成函数及图形控制函数的使用方法,还将
简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的
方法.
第一节图形窗口与坐标系
一.图形窗口
1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.
subplot(222), semilogy(x,y);
subplot(223), loglog(x,y);
4)MATLAB还提供了一个实用的函数:logspace( )函数,可按对数等间距地分
布来产生一个向量,其调用格式为:
x=logspace(x1,x2,n)
这里,x1表示向量的起点;x2表示向量的终点;n表示需要产生向量点的
y(2,:)=0.3*sin(x);
plot(x,y)
或者还可以这样用:
x=0:pi/50:2*pi;
y=[ sin(x); 0.6*sin(x); 0.3*sin(x)];
plot(x,y)
01234567
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
3)如果x,y是同样大小的矩阵,则plot(x,y)绘出y中各列相应于x中各列的
擦掉坐标系中已有的图形对象,但设置了hold on后,可以保持坐标系中已绘出
的图形.
33
01234567
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
图(a)
还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色
(MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)
2.在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的
句柄.MATLAB通过管理图形窗口的句柄来管理图形窗口;
3.当前窗口句柄可以由MATLAB函数gcf获得;
4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口);
figure(h)----将句柄为h的窗口设置为当前窗口;
图形.
例:x(1,:)=0:pi/50:2*pi;
x(2,:)=pi/4:pi/50:2*pi+pi/4;
x(3,:)=pi/2:pi/50:2*pi+pi/2;
y(1,:)=sin(x(1,:));
y(2,:)=0.6*sin(x(2,:));
y(3,:)=0.3*sin(x(3,:));
plot(x,y)
以y的列数据作为一组绘图数据;如果y阵中行,列均与x向量的长度相
同,则以y的每列数据作为一组绘图数据.
例:下面的程序可同时绘出三条曲线.MATLAB在绘制多条曲线时,会
按照一定的规律自动变化每条曲线的的颜色.
x=0:pi/50:2*pi;
y(1,:)=sin(x);
y(2,:)=0.6*sin(x);
MATLAB允许在一个图形窗口上绘制多个子图(如对于多变量系统的输
出),允许将窗口分成nxm个部分.
分割图形窗口用subplot函数来实现,其调用格式为:
subplot(n,m,k)或subplot(nmk)------n,m分别表示将窗口分割的行数和列数,
36
k表示要画图部分的代号,表示第几个图形,nmk三个数可以连写,中间不用
的坐标系,可用:axis equal
第二节二维图形的绘制
一. plot函数
plot函数是最基本的绘图函数,其基本的调用格式为:
1.plot(y)------绘制向量y对应于其元素序数的二维曲线图,如果y为复数向量,
则绘制虚部对于实部的二维曲线图.
例:绘制单矢量曲线图.
y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];
符号分开.
例如:将窗口划分成2x2=4个部分,可以这样写:
subplot(2,2,1),plot(……)
subplot(2,2,2),……
subplot(2,2,3),……
'+'用'+'号绘制各数据点'v'用下三角绘制各数据点
'*'用'*'号绘制各数据点'>'用右三角绘制各数据点
' .'用'.'号绘制各数据点'<'用左三角绘制各数据点
's'或squar用正方形绘制各数据点'p'用五角星绘制各数据点
'd'或diamond用菱形绘制各数据点'h'用六角星绘制各数据点
这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿
plot(y)
由于y矢量有10个元素,x坐标自动定义为[1 2 3 4 5 6 7 8 9 10].图形为:
12345678910
0
2
4
6
8
10
12
14
16
18
20
2.plot(x,y)------绘制由x,y所确定的曲线.
1)x,y是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x为
stem:绘制stem形式的曲线(上端带圈的竖线).
绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜
色相对应,左边的Y轴坐标对应的是plot形式的曲线,右边的Y坐标对应的
是stem形式的曲线.
二.对数坐标图绘制函数:
在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy和loglog函
个数(一般可以不给出,采用默认值50).
在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面
还要讲到.
三.极坐标图的绘制函数:
绘极坐标图可用polar( )函数.其调用格式如下:
polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性
内容与plot函数基本一致.
绘图函数如:plot,semilogx,
loglog等.
例如:在一个图形窗口中绘制双Y轴曲线.
x=0:0.3:12;
y=exp(-0.3*x).*sin(x)+0.5;
plotyy(x,y,x,y,'plot','stem')
图形如下:
024681012
0
0.5
1
1.5
024681012
0
0.5
1
1.5
等其它绘图属性.
例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小.
t=0:pi/20:pi;
y=sin(4*t).*sin(t)/2;
plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2
'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色
横坐标,y为纵坐标的图形.
如:画正弦曲线:
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
2)当plot(x,y)中,x是向量,y是矩阵时,则绘制y矩阵中各行或列对应于
30
向量x的曲线.如果y阵中行的长度与x向量的长度相同,则以y的行
数据作为一组绘图数据;如果y阵中列的长度与x向量的长度相同,则
2)坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出
来,为隐去坐标系,可用axis off;axis on则显示坐标轴
(缺省值).
3)通常MATLAB的坐标系是长方形,长宽比例大约是4:3,为了得到一个
正方形的坐标系可用:axis square
4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例
'MarkerFaceColor','y',... %设置标记点填充颜色为黄色
'MarkerSize',10) %设置标记点的尺寸为10
绘出图形如下:
00.511.522.533.5
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
34
4.双Y轴绘图:plotyy()函数.
其调用格式为:
plotyy(x1,y1,x2,y2)------绘制由x1,y1和x2,y2确定的两组曲线,其中x1,
y1的坐标轴在图形窗口的左侧,x2,y2的坐标轴在
图形窗口的右侧.
Plotyy(x1,y1,x2,y2, 'function1','function2')------功能同上,function是指那些
5.打开图形窗口的方法有三种:
1)调用绘图函数时自动打开;
2)用File---New---Figure新建;
3)figure命令打开,close命令关闭.
在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已
打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗
口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.
6.窗口中的图形打印:用图形窗口的File菜单中的Print项.
7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜
单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属
性.
二.坐标系
1.一个图形必须有其定位系统,即坐标系;
2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;
数.
1)semilogx( )------绘制以X轴为对数坐标轴的对数坐标图.
其调用格式为:semilogx(x,y,'属性选项')
其中属性选项同plot函数.
该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.
2)semilogy( )------绘制以Y轴为对数坐标轴的对数坐标图.
其调用格式为:semilogy(x,y,'属性选项')
3.每个坐标系都有唯一的标识符,即句柄值;
4.当前坐标系句柄可以由MATLAB函数gca获得;
5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指
定坐标系句柄值.
6.一些有关坐标轴的函数:
1)定义坐标范围:一般MATLAB自动定义坐标范围,如用户认为设定的不
合适,可用:axis([Xmin, Xmax, Ymin, Ymax])来重新设定;
该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.
35
3)loglog( )------绘制X,Y轴均为对数坐标轴的图形.
其调用格式为:loglog(x,y,'属性选项')
该函数分别对横,纵坐标都进行对数变换.
例:x=0:0.1:6*pi;
y=cos(x/3)+1/9;
subplot(221), semilogx(x,y);
色,不同的线型及标记点表示出来.这些选项如下表所示:
各种颜色属性选项
选项意义选项意义
'r'红色'm'粉红
'g'绿色'c'青色
32
'b'兰色'w'白色
'y'黄色'k'黑色
各种线型属性选项
选项意义选项意义
'-'实线'--'虚线
':'点线'-.'点划线
各种标记点属性选项
选项意义选项意义
'.'用点号绘制各数据点'^'用上三角绘制各数据点
x=x';
y=y';
figure
31
plot(x,y)
在这个例子中,x------ 3x101,y------3x101,所以第一个plot按列画出
101条曲线,每条3个点;而x'------101x3,y'------ 101x3,所以第二个plot
按列画出3条曲线,每条101个点.
012345678
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
012345678
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
3.多组变量绘图:plot(x1, y1,选项1, x2, y2,选项2,……)
上面的plot格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点
而设定的曲线的属性.MATLAB在多组变量绘图时,可将曲线以不同的颜
例如:极坐标模型为:3145/)/)cos((+ =θρ, ],[πθ80∈则绘出极坐标图
的程序为:theta=0:0.1:8*pi;
p=cos((5*theta)/4)+1/3;
polar(theta,p)
0.5
1
1.5
30
210
60
240
90
270
120
300
150
330
1800
四.绘制多个子图:subplot( )函数
色的'+'号绘制曲线.
注意:1)表示属性的符号必须放在同一个字符串中;
2)可同时指定2~3个属性;
3)与先后顺序无关;
4)指定的属性中,同一种属性不能有两个以上.
例:t=0:0.1:2*pi;
y1=sin(t);
y2=cos(t);
y3=sin(t).*cos(t);
plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')
该程序还可以按下面的方式写:
t=0:0.1:2*pi;
y1s(t);
plot(t,y1, '-r')
hold on
plot(t,y2, ':g')
plot(t,y3, '*b')
hold off
注:在MATLAB中,如画图前已有打开的图形窗口,则再画图系统将自动
MATLAB
受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图
功能.本章主要介绍2维图形对象的生成函数及图形控制函数的使用方法,还将
简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的
方法.
第一节图形窗口与坐标系
一.图形窗口
1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.
subplot(222), semilogy(x,y);
subplot(223), loglog(x,y);
4)MATLAB还提供了一个实用的函数:logspace( )函数,可按对数等间距地分
布来产生一个向量,其调用格式为:
x=logspace(x1,x2,n)
这里,x1表示向量的起点;x2表示向量的终点;n表示需要产生向量点的
y(2,:)=0.3*sin(x);
plot(x,y)
或者还可以这样用:
x=0:pi/50:2*pi;
y=[ sin(x); 0.6*sin(x); 0.3*sin(x)];
plot(x,y)
01234567
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
3)如果x,y是同样大小的矩阵,则plot(x,y)绘出y中各列相应于x中各列的
擦掉坐标系中已有的图形对象,但设置了hold on后,可以保持坐标系中已绘出
的图形.
33
01234567
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
图(a)
还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色
(MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)
2.在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的
句柄.MATLAB通过管理图形窗口的句柄来管理图形窗口;
3.当前窗口句柄可以由MATLAB函数gcf获得;
4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口);
figure(h)----将句柄为h的窗口设置为当前窗口;
图形.
例:x(1,:)=0:pi/50:2*pi;
x(2,:)=pi/4:pi/50:2*pi+pi/4;
x(3,:)=pi/2:pi/50:2*pi+pi/2;
y(1,:)=sin(x(1,:));
y(2,:)=0.6*sin(x(2,:));
y(3,:)=0.3*sin(x(3,:));
plot(x,y)
以y的列数据作为一组绘图数据;如果y阵中行,列均与x向量的长度相
同,则以y的每列数据作为一组绘图数据.
例:下面的程序可同时绘出三条曲线.MATLAB在绘制多条曲线时,会
按照一定的规律自动变化每条曲线的的颜色.
x=0:pi/50:2*pi;
y(1,:)=sin(x);
y(2,:)=0.6*sin(x);
MATLAB允许在一个图形窗口上绘制多个子图(如对于多变量系统的输
出),允许将窗口分成nxm个部分.
分割图形窗口用subplot函数来实现,其调用格式为:
subplot(n,m,k)或subplot(nmk)------n,m分别表示将窗口分割的行数和列数,
36
k表示要画图部分的代号,表示第几个图形,nmk三个数可以连写,中间不用
的坐标系,可用:axis equal
第二节二维图形的绘制
一. plot函数
plot函数是最基本的绘图函数,其基本的调用格式为:
1.plot(y)------绘制向量y对应于其元素序数的二维曲线图,如果y为复数向量,
则绘制虚部对于实部的二维曲线图.
例:绘制单矢量曲线图.
y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];
符号分开.
例如:将窗口划分成2x2=4个部分,可以这样写:
subplot(2,2,1),plot(……)
subplot(2,2,2),……
subplot(2,2,3),……
'+'用'+'号绘制各数据点'v'用下三角绘制各数据点
'*'用'*'号绘制各数据点'>'用右三角绘制各数据点
' .'用'.'号绘制各数据点'<'用左三角绘制各数据点
's'或squar用正方形绘制各数据点'p'用五角星绘制各数据点
'd'或diamond用菱形绘制各数据点'h'用六角星绘制各数据点
这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿
plot(y)
由于y矢量有10个元素,x坐标自动定义为[1 2 3 4 5 6 7 8 9 10].图形为:
12345678910
0
2
4
6
8
10
12
14
16
18
20
2.plot(x,y)------绘制由x,y所确定的曲线.
1)x,y是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x为
stem:绘制stem形式的曲线(上端带圈的竖线).
绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜
色相对应,左边的Y轴坐标对应的是plot形式的曲线,右边的Y坐标对应的
是stem形式的曲线.
二.对数坐标图绘制函数:
在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy和loglog函
个数(一般可以不给出,采用默认值50).
在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面
还要讲到.
三.极坐标图的绘制函数:
绘极坐标图可用polar( )函数.其调用格式如下:
polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性
内容与plot函数基本一致.
绘图函数如:plot,semilogx,
loglog等.
例如:在一个图形窗口中绘制双Y轴曲线.
x=0:0.3:12;
y=exp(-0.3*x).*sin(x)+0.5;
plotyy(x,y,x,y,'plot','stem')
图形如下:
024681012
0
0.5
1
1.5
024681012
0
0.5
1
1.5
等其它绘图属性.
例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小.
t=0:pi/20:pi;
y=sin(4*t).*sin(t)/2;
plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2
'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色
横坐标,y为纵坐标的图形.
如:画正弦曲线:
t=0:0.1:2*pi;
y=sin(t);
plot(t,y)
2)当plot(x,y)中,x是向量,y是矩阵时,则绘制y矩阵中各行或列对应于
30
向量x的曲线.如果y阵中行的长度与x向量的长度相同,则以y的行
数据作为一组绘图数据;如果y阵中列的长度与x向量的长度相同,则