《matlab第3章基本图形处理功能》由会员分享,可在线阅读,更多相关《matlab第3章基本图形处理功能(84页珍藏版)》请在金锄头文库上搜索。
1、物理与电气工程学院,1,第3章 基本图形处理功能,离散点 连续点 实验和工程测量中处理对象是离散数据, 用MATLAB绘图表现这些数据,可以帮助我们从观察图形中宏观地看出这些离散数据间的关系。,2,第1节 二维图形 一、基本绘图函数 、二维曲线绘图函数plot plot(y) 单参数格式 y为实数矢量,y表示纵坐标,横坐标是从1开始逐个增加的正整数矢量:1 2 3 4 ,矢量的长度=length(y),y为m*n的矩阵,每一列矢量生成一条曲线,横坐标是列矢量1 2 3 m。这样共n条曲线,物理与电气工程学院,3,【例3-1】 绘制单矢量曲线图。 y=0 0.6 2.3 5 8.3 11.7 1
2、5 17.7 19.4 20; plot(y) hold on Z=5 4 3 ;3 2 1;2 1 -1 plot(Z,r),物理与电气工程学院,4,plot(x,y) 双参数格式 x,y为同长度的实数矢量,x为横坐标,y为纵坐标 x是矢量,y是一个矩阵:多重曲线绘制_后 x和y都是矩阵:多重曲线绘制_后,plot(x1,y1,x2,y2)绘制多对数据,plot(x,y,PropertyName,PropertyValue) 曲线设置属性值 如: linewidth表示线的粗细,【例3-2】 绘制双矢量曲线图。 x=0:0.05:4*pi %生成0至4,间隔为0.05的自变量 y=sin(x
3、) z=cos(x) plot(x,y,r,x,z,b, linewidth,6),2、对数坐标曲线命令 semilogx横坐标为对数坐标 semilogy纵坐标为对数坐标 loglog双对数坐标:横、纵轴均为对数坐标 调用格式同plot函数,6,【例3-3】使用例3-1的数据绘制线性坐标图和三种对数坐标图。 y=0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20; subplot(2,2,1) %创建第一个子图 plot(y);title(plot(y) subplot(2,2,2) %创建第二个子图 semilogx(y);title(semilogx(y) subp
4、lot(2,2,3) %创建第三个子图 semilogy(y);title(semilogy(y) subplot(2,2,4) %创建第四个子图 loglog(y);title(loglog(y),7,【例3-4】绘制函数 的极坐标图形。 t=0:.01:2*pi; r=sin(2*t).*cos(2*t) subplot(2,1,1);polar(t,r) subplot(2,1,2);x,y=pol2cart(t,r); plot(x,y);axis(square),3、极坐标绘图 极坐标绘图函数:直接在极坐标系下表达坐标值矩阵制成连线图 格式: polar( theta, rho, s
5、) theta:弧度; rho:极半径; S:控制图形线型的字符串,极坐标转换为直角坐标 x,y=pol2cart(TH,R),物理与电气工程学院,8,4、复数绘图 格式:plot(y) Z为复矢量,等效于plot(real(y),imag(y),即将复数的实部和虚部分别作为横坐标和纵坐标,【例3-5】绘制20边的多边形,顶角用小圆圈表示 t=0:pi/10:2*pi y=exp(i*t) plot(y,-o) axis(square),9,plot函数中只有一个复数对象时,绘制实、虚部曲线 ;但当出现2个参数时,则其中复数对象以实部为绘图数据,忽略虚部数据。 Imaginary parts
6、of complex x and/or Y arguments ignored.,【例3-6】复矩阵绘图比较。 t=0:pi/10:2*pi; x=exp(i*t); y=x 1.2*x 1.4*x 1.6*x; plot(y); axis(square) %在复平面绘制实部对于虚部的关系图 figure, plot(x,y); axis(equal) %在实平面绘制实部图,虚部被忽略,10,二、多重曲线绘图 plot(x,y) 1、一组变量 x是矢量,y是一个矩阵:x的长度与矩阵y的行数或列数相等,系统自动寻找与矢量长度相同的维绘图 ; 若y为方阵时,x与y的列矢量对应作图,各组曲线颜色不同
7、 (列优先),【例3-7】当x为矢量,y为矩阵时绘制多重曲线图。 x=0:pi/50:2*pi; y(1,:)=sin(x); y(2,:)=0.6*sin(x); y(3,:)=0.3*sin(x); plot(x,y),物理与电气工程学院,11,【例3-8】当x为矩阵,y为矢量时绘制多重曲线图。 x(1,:)=0:pi/50:2*pi; x(2,:)=pi/4:pi/50:2*pi+ pi/4;%右移pi/4 x(3,:)=pi/2:pi/50:2*pi+ pi/2;%右移pi/2 y=sin(x(1,:); %列矢量 plot(x,y),y是矢量,x是一个矩阵:y的长度与矩阵x的行数或列
8、数相等,12,x和y都是矩阵,且行数和列数都相同:按列与列对应方式作图,【例3-9】当x和y为同样大小的矩阵时,绘制多重曲线图 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(1,:); y(3,:)=0.3*sin(x(1,:); plot(x,y) %101条线 x=x ; y=y; %行列转换 figure %创建新的图形窗口 plot(x,y) %3条线,13,Plot函数小结,14,2、多组变量绘图 pl
9、ot(x1,y1,x2,y2xi,yi) 在同一个图形窗口中同时绘制多对条曲线 各条曲线颜色不同,【例3-10】使用多组变量,绘制多重曲线图。 x1=0:pi/50:3*pi; %生成151个数据点 x2=0:pi/30:2*pi; %生成61个数据点 x3=0:pi/15:1*pi; %生成16个数据点 y1=sin(x1); y2=0.6*cos(x2); y3=0.3*sin(x3); plot(x1,y1,x2,y2,x3,y3),各曲线的采样点数可以不同,物理与电气工程学院,15,3、双y轴绘图 plotyy(x1,y1,x2,y2)命令在一个窗口中用双y轴同时绘出两条曲线,曲线(x
10、1,y1)用左y轴、曲线(x2,y2)用右y轴,plotyy(x1,y1,x2,y2,fun) 用fun字符串所给的绘图函数(如plot,semilogx,semilogy, loglog)绘图,plotyy(x1,y1,x2,y2,fun1,fun2) 用fun1,fun2字符串所给绘图函数(如plot, semilogx,semilogy,loglog)分别绘制这两条曲线,物理与电气工程学院,16,【例3-11】在一个图形窗口中绘制双Y轴曲线 x=0:0.3:12; y=exp(-0.3*x).*sin(x)+0.5; plotyy(x,y,x,y,plot,stem),【例3-12】使用
11、不同的Y坐标,在一个图形窗口中绘制两组数据曲线。 t=0:900; A=1000; a=0.005; b=0.005; z1=A*exp(-a*t); z2=sin(b*t); plotyy(t,z1,t,z2,semilogy,plot);,17,三、 曲线形式和颜色 plot函数 可以设置和 管理曲线的 线段类型、 点标记和 线段颜色, 且不分先后,c:cyan m:magenta; k:black;,18,s:square; d :diamond; v:triangle(down); p:pentagram; h:hexagram,物理与电气工程学院,19,s缺省,则以实线型,格式:pl
12、ot(x,y,s) s为类型说明参数,是字符串,包含上表中的一些控制符,plot一般情况下,执行前刷新图形窗口, 如要保留老窗口图形及坐标轴参数可以使用命令:hold on hold off:不保护原窗口图形及参数,物理与电气工程学院,20,【例3-13】使用不同的线型绘图。 t=0:pi/100:2*pi; y=sin(t); y2=sin(t-0.25); y3=sin(t-0.5); plot(t,y,-,t,y2,-r,t,y3,:),【例3-14】使用不同的标记点绘图。 t=0:pi/20:2*pi; y=sin(t); y2=sin(t-0.25); y3=sin(t-0.5);
13、plot(t,y,o,t,y2,*,t,y3,+),物理与电气工程学院,21,第2节 常用信号波形的产生,一、周期波形,1、方波 x=sqrare(t) x=square(t,duty) 周期2,峰峰值1 Duty:占空百分比,缺省为50%,物理与电气工程学院,22,【例square_wave】 绘制周期方波信号曲线 t=-2*pi:0.01:2*pi; x=square(t); %周期为2pi,占空比为50% y=square(2*pi*t,30); %周期为1,占空比为30% subplot(2,1,1); plot(t,x); axis(-3*pi 3*pi -1.5 1.5) subp
14、lot(2,1,2) plot(t,y); axis(-pi pi -1.5 1.5),物理与电气工程学院,23,2、锯齿波或三角波sawtooth x=sawtooth(t) x=sawtooth(t,width) 周期2,峰峰值1 width为01之间的标量,指定在一个周期内最大值出现的位置,是该位置横坐标与周期的比值,缺省值为1 width=1时,产生锯齿波 width=0.5时,产生三角波,物理与电气工程学院,24,【例sawtooth_wave】 绘制周期三角波信号曲线 t=-3*pi:0.01:3*pi; x=sawtooth(t); %周期为2pi,峰值在2*k*pi处 y=sa
15、wtooth(2*pi*t,0.3); %周期为2pi/(2pi)=1,峰值1在k处,峰值1在ki+0.3*1处 subplot(2,1,1) plot(t,x); axis(-3*pi 3*pi -1.5 1.5) subplot(2,1,2) plot(t,y); axis(-pi pi -1.5 1.5),物理与电气工程学院,25,二、特殊波形,1、单位阶跃信号 y=(t0) 2、单位冲激信号 y=zeros(size(t); y(0)=1;,物理与电气工程学院,26,【例unit_test 】产生单位阶跃信号和单位冲激信号 t=-3*pi:0.01:3*pi; x=unitstep(t); %单位阶跃信号 y=unitpulse(t,0);%单位冲激信号,t=0处无穷大 subplot(2,1,1); plot(t,x); axis(-3*pi 3*pi -1.5 1.5); subplot(2,1,2); plot(t,y); axis(-3*pi 3*pi -1.5 1.5);,27,3、方波脉冲信号 y=rectpuls(t,width) 以t=0为中心;width:方波的宽度,【例rectpuls_ware