Matlab程序设计
作业
学院:信息科学与技术学院
专业:通信工程
姓名:***
学号:************
班级:通信4班
教师:***
日期:2014年11月9日
文件1
%学号:201313070404
%姓名:刘潇
clear all %清除工作空间的所有变量
clf %清除图形窗口的内容
mfilename('fullpath') %返回当前正在运行的函数所在文件的文件名
echo on
%本m文件运行后会输出6个图形
subplot(2,3,1) %subplot(m,n,p)是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,p表示图所在的位置。
t = 0:0.1:10;
z = impulse(1, [1 1 1], t);
stairs(t(1:5:end),z(1:5:end)) %stairs函数用于绘制阶梯状图,在图中为蓝色的那根线
hold on %hold on 表示保留原来的图
plot(t,z,'r') %绘图函数,在图中为红色的那根连续的线
plot([0 t(end)], [0 0], 'k:') %绘图函数,在图中为水平虚线,左边对准了0刻度线
title('Impulse Response - (STAIRS)') %在图形上方添上标题
subplot(2,3,2) %此函数表示接下来的图形绘制在第二个位置
theta = 2*pi*(0:74)/75;
x = cos(theta);
y = sin(theta);
z = abs(fft(ones(10,1), 75))';
stem3(x, y, z) %stem3函数绘制离散序列数据的三维杆图
title('Polar FFT - (STEM3)') %在图形上方添上标题
subplot(2,3,3) %此函数表示接下来的图形绘制在第三个位置
[X,Y,Z] = peaks(-2:0.25:2);
[U,V] = gradient(Z, 0.25);
contour(X,Y,Z,10); %该函数用于绘制矩阵的等高线
hold on %hold on 表示保留原来的图
quiver(X,Y,U,V); %使用箭头绘制矢量图
title('Surface Gradient - (CONTOUR & QUIVER)') %在图形上方添上标题
theta = 0:0.1:4*pi;
[x,y] = pol2cart(theta(1:5:end), theta(1:5:end));
subplot(2,3,4) %此函数表示接下来的图形绘制在第四个位置
polar(theta,theta)
axis([-13 13 -12.5 14.5])
title('Spiral Plot - (POLAR)') %在图形上方添上标题
subplot(2,3,5) %此函数表示接下来的图形绘制在第五个位置
compass(x,y) %在一个圆形带网格的区域内,使用带箭头的线条绘制从原点出发的若干向量。绘制出来的效果图就像一个罗盘
axis([-13 13 -12.5 14.5])
title('Direction Vectors - (COMPASS)') %在图形上方添上标题
subplot(2,3,6) %此函数表示接下来的图形绘制在第六个位置
feather(x(1:19),y(1:19)) %feather复平面图形,把复数矩阵中的元素的相角和幅值显示成沿横轴等间隔辐射的箭头
axis([1 21 -5 10])
title('Direction Vectors - (FEATHER)') %在图形上方添上标题
set(gcf,'Position', [64 111 887 564])
echo off
shg
文件1运行后输出的图形为
文件2
%学号:201313070404
%姓名:刘潇
clear all %清除工作空间的所有变量
clf %清除图形窗口的内容
echo on
%本m文件运行后会输出6个图形
data = [10 2 3 5; 5 8 10 3; 9 7 6 1; 3 5 7 2; 4 7 5 3];
subplot(2,3,1) %subplot(m,n,p)是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,p表示图所在的位置。
bar(data, 'stacked'); %绘制直方图
title('Bar Graph - (BAR, ''stacked'')'); %在图形上方添上标题
subplot(2,3,2) %此函数表示接下来的图形绘制在第二个位置
bar3h(data); %绘制三维水平直方图
title('Horizontal Bar Graph - (BAR3H, ''grouped'')'); %在图形上方添上标题
subplot(2,3,3) %此函数表示接下来的图形绘制在第三个位置
hist(randn(1000,3)); %绘制直方图函数
title('Histogram - (HIST)'); %在图形上方添上标题
subplot(2,3,4) %此函数表示接下来的图形绘制在第四个位置
area(data); %area是填充画图区域的命令
title('Area Plot - (AREA)'); %在图形上方添上标题
subplot(2,3,5) %此函数表示接下来的图形绘制在第五个位置
pie3(sum(data), [0 0 1 0]); %画3维饼图的函数
title(['3-D Pie Chart';' (PIE3) ']); %在图形上方添上标题
subplot(2,3,6) %此函数表示接下来的图形绘制在第六个位置
rose(5/3*randn(1000,1), 18); %使用rose函数可以绘制玫瑰图
title('Polar Histogram - (ROSE)'); %在图形上方添上标题
set(gcf,'Position',[184 248 740 424]) %设置对象的属性
echo off
shg
文件2运行后输出的图形为
文件3
%学号:201313070404
%姓名:刘潇
echo on
%本m文件运行后会输出6个图形
subplot(2,3,1) %subplot(m,n,p)是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,p表示图所在的位置。
x = -3:0.3:3; y = x;
[X,Y]=meshgrid(x,y); % meshgrid()生成绘制3-D图形所需的网格数据
[theat,R] = cart2pol(X,Y); %在MATLAB中, 该函数用于把笛卡尔坐标转换为极坐标(柱坐标)
Z = sinc(R);
contourf(peaks(30), 10) %contourf()填充二维等高线图。即先画出不同等高线,然后相邻的等高线之间用同一颜色进行填充。填充用的颜色决定于当前的色图颜色
colorbar
grid on %打开网格线
title('Peaks Function - (CONTOURF & COLORBAR)') %在图形上方添上标题
subplot(2,3,2) %此函数表示接下来的图形绘制在第二个位置
plot3(X,Y,Z) %plot3(x,y,z)用来绘制3维曲线图
grid on %打开网格线
axis([-3 3 -3 3 -1 1])
title('Sinc Function - (PLOT3)') %在图形上方添上标题
subplot(2,3,3) %此函数表示接下来的图形绘制在第三个位置
waterfall(membrane(1)); %waterfall函数,绘制三维表面网格图,只是它的网格线在x轴方向出现,具有瀑布效果
title('L-shaped Membrane - (WATERFALL)') %在图形上方添上标题
subplot(2,3,4) %此函数表示接下来的图形绘制在第四个位置
contour3(peaks(30), 25); %三维空间等高线图,该命令生成一个定义在矩形格栅上曲面的三维等高线图
title('Peaks Function - (CONTOUR3)') %在图形上方添上标题
subplot(2,3,5) %此函数表示接下来的图形绘制在第五个位置
mesh(X,Y,Z) %生成由X,Y和Z指定的网线面
axis([-3 3 -3 3 -1 1])
title('Sinc Function - (MESH)') %在图形上方添上标题
subplot(2,3,6) %此函数表示接下来的图形绘制在第六个位置
surf(membrane(1)) %画三维曲面图
title('L-shaped Membrane - (SURF)') %在图形上方添上标题
set(gcf,'Position',[211 248 713 413]) %设置对象的属性
echo off
shg
文件3运行后输出的图形为
部分函数的具体用法
subplot函数
使用方法:subplot(m,n,p)或者subplot(m n p)。
subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表
示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
plot函数
plot(x):x为长度为n的数值向量,坐标的纵坐标是向量x,横坐标为matlab系统根据x向量的元素序号自动生成的从1开始的向量。
plot(x,y):纵坐标是y,横坐标是x。x,y向量的数目必须相等。
plot(x):x为m*n的矩阵, plot(x)命令为矩阵的每一列画出一条线,共n条,曲线的横坐标为向量1:m,m是矩阵的行数。
plot(z): 可以复制复向量曲线 它与(plot(real(z),imag(z))等效,以实部为横坐标,虚部为纵坐标。
plot(x1,y1,x2,y2...) : 绘制多条曲线。
stem3函数
函数绘制离散序列数据的三维杆图,常用格式为: stem3(z) ,stem3(x,y,z)。
axis函数
axis(v):v是一维向量,形式可以是[xmin xmax ymin ymax],定义二维图形x轴和y轴坐标轴的范围,其中v向量中的元素必须满足:xmin polar()进行极坐标系的绘图 polar(theta,rho):以弧度为theta和半径为rho在极坐标中进行绘图,其中两个输入参数满足极坐标下rho=f(theta),其作用相当于直坐标中的plot(x,y)。 hist函数 hist()绘制直方图 hist(y,n)将y的取值范围分成等差的n段,然后将所有元素分别分类到该n段中,根据每段元素个数绘制直方图的高度,n可以省略,默认值为10。 Hist(y,x)将y的取值分成等差的length(x)份,将y中的元素放到各个分段中,然后以x中元素指定的位置为中心的直方图。 Area(x,y)函数 area(x,y):若x和y是向量,则以x中的元素为横坐标,y中的元素为纵坐标,并且填充线条和x轴之间的空间,如果y是矩阵,则绘制y中每一列的和。 bar(x,y)或barh(x,y)函数 在指定的横坐标x上画出y,参数x为单调增加的。如果y为矩阵,则将每个行向量画出。 contour()绘制等高线图,contourf()绘制经过填充的等高线图 contour(z):绘制矩阵z的等高线。 Contour(x,y,z):在坐标(x,y)的值为矩阵z的等高线 Contour(z,n):绘制n条等高线。 Contour(x,y,z,[v v]):绘制高度为v的等高线。 compass函数:罗盘图 用法说明: compass(x,y)函数绘制一个由原点出发由(x,y)组成的向量箭头图形; compass(z)等价于compass(real(z),imag(z)); compass(...,LineSpec)函数用参量LineSpec指定箭头的线型、标记符号、颜色等属性; h = compass(...)函数返回line对象的句柄给h。 feather函数 feather复平面图形,把复数矩阵中的元素的相角和幅值显示成沿横轴等间隔辐射的 箭头,格式feather(z),feather(x,y)等价于feather(x+y*i),feather(z,str),str是确定的线形绘制箭头。 rose函数 使用rose函数可以绘制玫瑰图,rose函数使用的基本方法是rose(t),其中t是随机数,绘制出来的图形为线性。 plot3函数 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…) 其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot的选项一样。当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵的列数。 mesh(x,y,z,c)函数 surf(x,y,z,c)函数 一般情况下,x,y,z是维数相同的矩阵,x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。c省略时,Matlab认为c=z,也即颜色的设定是正比于图形的高度的。这样就可以得到层次分明的三维图形。当x,y省略时,把z矩阵的列下标当作x轴的坐标,把z矩阵的行下标当作y轴的坐标,然后绘制三维图形。当x,y是向量时,要求x的长度必须等于z矩阵的列,y的长度必须等于必须等于z的行,x,y向量元素的组合构成网格点的x,y坐标,z坐标则取自z矩阵,然后绘制三维曲线。 pie3函数 绘制三维饼图,常用格式为: pie3(x) x为向量,用x中的数据绘制一个三维饼图。 因篇幅问题不能全部显示,请点此查看更多更全内容