当前位置:首页 > matlab第四讲习题
-2.2023 -1.0559 0.9863 1.4725 -0.5186 0.0557 0.3274 -1.2173 0.2341 -0.0412 0.0215 -1.1283 -1.0039 -1.3493 -0.9471 -0.2611 -0.3744 0.9535 x=-2:0.5:2; hist(y,x)
程序分析:直方图显示的是y在x附近的元素的个数,如-2附近有一个。产生的随机数不同则得出的直方图也不同。
饼图是用于显示向量中的各元素占向量元素总和的百分比,可以用pie和pie3命令分别绘制二维和三维饼图。 语法:
pie(x,explode,’label’) %画二维饼图 pie3(x,explode,’label’) %画三维饼图
说明:x是向量;explode是与x同长度的向量,用来决定是否从饼图中分离对应的一部分块,非零元素表示该部分需要分离;’label’是用来标注饼图的字符串数组。
【例4.21】绘制四个季度支出额的饼图,如图4.26所示。 y=[200 100 250 400]; %四个季度支出额 explode=[0 0 1 0];
5
pie(y,explode,{'第一季度','第二季度','第三季度','第四季度'})
MATLAB提供了多个绘制离散数据的命令,有stem、stem3、stairs和scatter等。
【例4.22】使用几种绘制离散数据的命令来显示y?e?2xsin(x)的离散数据,如图4.27所示。
x=0:0.1:2*pi;
y=sin(x).*exp(-2*x); subplot(3,1,1)
stem(x,y,'filled') %画火柴杆图 subplot(3,1,2)
stairs(x,y) %画阶梯图 subplot(3,1,3) scatter(x,y) %画点图
程序分析:'filled'参数是来填充火柴杆图的点标记。 1. 对数坐标图形
对数坐标图形有semilogx、semilogy和loglog命令。
6
语法:
semilogx(x,y,'参数') %绘制x为对数坐标的曲线 semilogy(x,y,'参数') %绘制y为对数坐标的曲线
loglog(x,y,'参数') %绘制x、y都为对数坐标的曲线
说明:参数和plot命令一样,只是坐标不同。 【例4.23】求传递函数为G(s)?1的对数幅频特性曲线,如图4.28
s(0.5s?1)所示,横坐标为w按对数坐标。
w=logspace(-2,3,20); %频率w为0.01到1000 Aw=1./(w.*sqrt((0.5*w).^2+1)); %计算幅频 Lw=20*log10(Aw); %计算对数幅频 semilogx(w,Lw)
title('对数幅频特性曲线')
2. 极坐标图
极坐标图由polar命令来实现。
7
语法:
polar(theta,radius,'参数') %绘制极坐标图 说明:theta为相角,radius为离原点的距离。
【例4.23续】用极坐标图表示上述传递函数的Nyquist曲线,如图4.29所示。
w=logspace(-2,3,20); Fw=-90-atan(0.5*w); polar(Fw,Aw) 语法:
contour(Z,n) %绘制Z矩阵的等高线
contour(x,y,z,n) %绘制以x和y指定x、y坐标的等高线 说明:n为等高线的条数,省略时为自动条数。
【例4.24】绘制peaks函数的等高线,如图4.30所示。 [x,y,z]=peaks;
contour(x,y,z) %画二维等高线
contour3(z,30) %画30条三维等高线 1. compass命令
compass绘制的是以原点为起点的一组复向量,因此又称为罗盘图。 语法:
compass(u,v) %画罗盘图 compass(Z)
说明:u、v分别为复向量的实部和虚部;当只有一个参数Z时,则相当于compass(real(Z),imag(Z))。
2. feather命令
feather绘制的是起点为(k,0)的复向量图,又称为羽毛图。 语法:
feather(u,v) %画羽毛图 feather (Z)
【例4.25】用罗盘图和羽毛图绘制复向量,如图4.31所示。 theta=0:0.2:2*pi;
z=sin(theta).*exp(j*theta); compass(z) feather(z)
程序分析:羽毛图的绘制起点是(k,0),k从1~n,n是Z向量的元素序号。
8
共分享92篇相关文档