MATLAB程序设计关于常用绘图函数的运用方法及说明解读.docx
- 文档编号:6525335
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:18
- 大小:442.58KB
MATLAB程序设计关于常用绘图函数的运用方法及说明解读.docx
《MATLAB程序设计关于常用绘图函数的运用方法及说明解读.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计关于常用绘图函数的运用方法及说明解读.docx(18页珍藏版)》请在冰豆网上搜索。
MATLAB程序设计关于常用绘图函数的运用方法及说明解读
MATLAB程序设计作业
陈杰杰201309030207
2014-11-3
MATLAB具有强大的图形处理功能。
下面给出了3个m脚本文件,请在MATLAB环境下运行,观察其输出。
要求根据每个m文件输出的图形(共18个,用中文翻译并解释产生每个输出图形的函数具体是什么?
其功能是什么?
文件1:
clearall%清除工作区间所有的变量
clf%清除图形窗口的内容
mfilename('fullpath'%返回当前正在运行的函数所在文件的文件名(全部路径echoon%显示M文件执行的每一条命令
subplot(2,3,1%使(2*3幅子图中第一个子图成为当前图
t=0:
0.1:
10;%将以0为起点、以10为终点、以0.1为步长的一维矩阵赋值给tz=impulse(1,[111],t;%动力系统的脉冲响应数据,以时间t步长0.1为单位stairs(t(1:
5:
end,z(1:
5:
end%绘制阶梯状图,从第1行开始,间隔5行取1行,到最后1行为止
holdon%保持当前坐标轴和图形,并接受下一次绘制
plot(t,z,'r'%用红线绘制横轴为t、纵轴为z的二维函数图
plot([0t(end],[00],'k:
'%用黑色虚线绘制函数图像,要求经过原点平行于横轴、取值范围为0到t的最后一个值
title('ImpulseResponse-(STAIRS'%将此图命名为ImpulseResponse-(STAIRS(脉冲响应-(阶梯图
subplot(2,3,2%使(2*3幅子图中第二个子图成为当前图
theta=2*pi*(0:
74/75;%将以0为起点、以2*pi*74/75为终点、2*pi/75为步长的一维矩阵赋值给theta
x=cos(theta;%计算cos(theta的值,并赋给x
y=sin(theta;%计算sin(theta的值,并赋给y
z=abs(fft(ones(10,1,75';%ones(10,1生成十行一列的全一矩阵;fft(ones(10,1,75进行快速傅里叶变换;z=abs(fft(ones(10,1,75'取幅值并转置
stem3(x,y,z%绘制三维杆状图
title('PolarFFT-(STEM3'%将此图命名为PolarFFT-(STEM3(极坐标下快速傅里叶变换-(三维针状图
subplot(2,3,3%使(2*3幅子图中第二个子图成为当前图
[X,Y,Z]=peaks(-2:
0.25:
2;%产生-2为起点、2为终点、0.25为步长的guassian分布矩阵,返回峰函数的三个坐标轴空间上的数值,X表示在x轴,Y表示在y轴,Z表示在z轴,这样每个点就对应一个(X,Y,
[U,V]=gradient(Z,0.25;%返回二维数值梯度的U、V部分,这里的0.25指定了沿着梯度的方向取点的间隔为0.25
contour(X,Y,Z,10;%绘制矩阵Z的等高线,绘制的等高线被限定在由X、Y指定的区域内,等高线条数为10
holdon%保持当前坐标轴和图形,并接受下一次绘制
quiver(X,Y,U,V;%使用箭头来直观的显示矢量场,该调用格式表示通过在(X,Y
指定的位置绘制小箭头来表示以该点为起点的向量(U,V
title('SurfaceGradient-(CONTOUR&QUIVER'%将此图命名为SurfaceGradient-(CONTOUR&QUIVER(表面梯度-(等高线图和矢量场图
theta=0:
0.1:
4*pi;%将以0为起点、以4*pi为终点、0.1为步长的一维矩阵赋值给theta
[x,y]=pol2cart(theta(1:
5:
end,theta(1:
5:
end;%把极坐标(theta(1:
5:
end,theta(1:
5:
end转换为对应的二维笛卡尔坐标(x,y,theta(1:
5:
end表示从第一行到最后一行,每五行取一行
subplot(2,3,4%使(2*3幅子图中第四个子图成为当前图
polar(theta,theta%绘制极坐标图像,第一个theta是用弧度制表示的角度,第二个theta是对应的半径
axis([-1313-12.514.5]%横坐标范围为-13到13,纵坐标范围为-12.5到14.5
title('SpiralPlot-(POLAR'%将此图命名为SpiralPlot-(POLAR(螺旋图-极坐标图
subplot(2,3,5%使(2*3幅子图中第五个子图成为当前图
compass(x,y%绘制罗盘图
axis([-1313-12.514.5]%横坐标范围为-13到13,纵坐标范围为-12.5到14.5
title('DirectionVectors-(COMPASS'%将此图命名为DirectionVectors-(COMPASS(方向矢量-罗盘图
subplot(2,3,6%使(2*3幅子图中第六个子图成为当前图
feather(x(1:
19,y(1:
19%绘制羽状图,其中x、y表示一组向量,x是向量的横坐标(x分量,y是向量的纵坐标(y分量。
该调用格式将在水平轴上等间隔的把这些向量用带箭头的线绘制出来
axis([121-510]%横坐标范围为1到21,纵坐标范围为-5到10
title('DirectionVectors-(FEATHER'%将此图命名为DirectionVectors-(FEATHER(方向矢量-羽状图
set(gcf,'Position',[64111887564]%对gcf的位置进行设置,使其在屏幕上的显示位置是以(64,111为原点,长为887,宽为564;gcf是返回当前Figure对象的句柄值
echooff%关闭显示M文件执行的每一条命令
shg%显示图形窗口
(1运行结果为:
(2分析:
首先用subplot(2,3,k设置多子图,k为1至6的整数,将图分为6个子图,令k为1设置左上角为当前图。
第一幅图为“脉冲响应-(阶梯图”,用impulse函数计算连续系统的单位脉冲响应,通过stairs函数绘制阶梯状图。
holdon函数保持当前坐标轴和图形,并接受下一次绘制,plot(t,z,'r'用红线绘制横轴为t、纵轴为z的二维函数图,plot([0t(end],[00],'k:
'用黑色虚线绘制函数图像,要求经过原点平行于横轴、取值范围为0到t的最后一个值,即用黑色虚线显示z的正半轴:
第二幅图为“极坐标下快速傅里叶变换-(三维针状图”,用stem3函数绘制三维杆状图,得出xyz的函数图像:
ImpulseResponse-(STAIRS
PolarFFT-(STEM3
SurfaceGradient-(CONTOUR&QUIVER
90270
90270
DirectionVectors-(FEATHERImpulseResponse-(STAIRS
PolarFFT-(STEM3
第三幅图为“表面梯度-(等高线图和矢量场图”,[X,Y,Z]=peaks(-2:
0.25:
2;通过peaks(函数产生-2为起点、2为终点、0.25为步长的guassian分布矩阵,返回峰函数的三个坐标轴空间上的数值,X表示在x轴,Y表示在y轴,Z表示在z轴,这样每个点就对应一个(X,Y,Z,[U,V]=gradient(Z,0.25返回二维数值梯度的U、V部分,这里的0.25指定了沿着梯度的方向取点的间隔为0.25。
contour(X,Y,Z,10绘制矩阵Z的等高线,绘制的等高线被限定在由X、Y指定的区域内,等高线条数为10。
通过quiver(函数使用箭头来直观的显示矢量场,该调用格式表示通过在(X,Y指定的位置绘制小箭头来表示以该点为起点的向量(U,V:
SurfaceGradient-(CONTOUR&QUIVER
第四幅图为“螺旋图-(极坐标”,使用polar(函数绘制极坐标图像,第一个theta是用弧度制表示的角度,第二个theta是对应的半径,用axis(函数确定坐标系范围:
第五幅图为“方向矢量-(罗盘图”,首先用pol2cart函数将极坐标转换为对应的二维笛卡尔坐标,再用compass(函数绘制罗盘图,axis(函数确定坐标系范围:
第六幅图为“方向矢量-(羽状图”,feather(x(1:
19,y(1:
19绘制羽状图,其中x、y表示一组向量,x是向量的横坐标(x分量,y是向量的纵坐标(y分量。
该调用格式将在水平轴上等间隔的把这些向量用带箭头的线绘制出来,axis(函数确定坐标系范围:
最后设置图像位置set(gcf,'Position',[64111887564],使其在屏幕上的显示位置是以(64,111为原点,长为887,宽为564;gcf是返回当前Figure对象的句柄值
90
270
DirectionVectors-(COMPASS
DirectionVectors-(FEATHER
文件2:
clearall%清除工作区间所有的变量
clf%清除图形窗口的内容
echoon%显示M文件执行的每一条命令
data=[10235;58103;9761;3572;4753];%定义data为一个四行四列的矩阵,并赋值
subplot(2,3,1%使(2*3幅子图中第一个子图成为当前图
bar(data,'stacked';%绘制矩阵date的条形图,把同一组数据描述在一个直方条上title('BarGraph-(BAR,''stacked''';%将此图命名为BarGraph-(BAR,''stacked''(条形图-(条形图,“堆叠”
subplot(2,3,2%使(2*3幅子图中第二个子图成为当前图
bar3h(data;%绘制矩阵data的垂直的三维直方图
title('HorizontalBarGraph-(BAR3H,''grouped''';%将此图命名为HorizontalBarGraph-(BAR3H,''grouped'''(水平条形图-(垂直的三维直方图,“分组”
subplot(2,3,3%使(2*3幅子图中第三个子图成为当前图
hist(randn(1000,3;%绘制一个1000*3的随机项矩阵的直方图,randn(是产生标准正态分布的随机数或矩阵的函数
title('Histogram-(HIST';%将此图命名为Histogram-(HIST(直方图-(直方图
subplot(2,3,4%使(2*3幅子图中第四个子图成为当前图
area(data;%绘制矩阵data的填充区域图
title('AreaPlot-(AREA';%将此图命名为AreaPlot-(AREA(面积图-(填充区域图
subplot(2,3,5%使(2*3幅子图中第五个子图成为当前图
pie3(sum(data,[0010];%绘制矩阵data每一行之和与所占总和比例的三维饼图,并突出显示第三行
title(['3-DPieChart';'(PIE3'];%将此图命名为'3-DPieChart';'(PIE3'(三维饼状图(三维饼图
subplot(2,3,6%使(2*3幅子图中第六个子图成为当前图
rose(5/3*randn(1000,1,18;%绘制一个1000*1的随机项矩阵并乘以5/3的角直方图,梯度方向数为18
title('PolarHistogram-(ROSE';%将此图命名为PolarHistogram-(ROSE(极坐标图-(角直方图
set(gcf,'Position',[184248740424]%对gcf的位置进行设置,使其在屏幕上的显示位置是以(184,248为原点,长为740,宽为424;gcf是返回当前Figure对象的句柄值
echooff%关闭显示M文件执行的每一条命令
shg%显示图形窗口
(1运行结果为:
(2分析:
首先定义data为一个四行四列的矩阵,并赋值,然后用subplot(2,3,k设置多子图,k为1至6的整数,将图分为6个子图
第一幅图为“条形图-(条形图,“堆叠””,通过bar(data,'stacked'函数绘制矩阵date的条形图,stacked表示把同一组数据描述在一个直方条上:
第二幅图为“水平条形图-(垂直的三维直方图,“分组””,使用bar3h(函数绘制矩阵data的垂直的三维直方图:
BarGraph-(BAR,'stacked'
HorizontalBarGraph-(BAR3H,'grouped'
Histogram-(HIST
AreaPlot-(AREA
3-DPieChart
(PIE3PolarHistogram-(ROSE
BarGraph-(BAR,'stacked'
HorizontalBarGraph-(BAR3H,'grouped'
第三幅图为“直方图-(直方图”,通过hist(函数绘制直方图,randn(1000,3是产生1000*3的标准正态分布的随机数矩阵的函数:
第四幅图为“面积图-(填充区域图”,通过area(函数绘制填充区域图:
AreaPlot-(AREA
第五幅图为“三维饼状图(三维饼图”,通过pie3(函数绘制三维饼图,[0010]表示突出显示第三部分
第六幅图为“极坐标图-(角直方图”,通过rose(函数绘制角直方图,括号内第二个常数表示梯度方向数:
最后,对图像位置进行设置,用set(函数,gcf是返回当前Figure对象的句柄值,shg表示显示图形窗口
30%
28%
3-DPieChart(PIE3
13%
30%
90
270
180
0PolarHistogram-(ROSE
文件3:
echoon%显示M文件执行的每一条命令
subplot(2,3,1%使(2*3幅子图中第一个子图成为当前图
x=-3:
0.3:
3;y=x;%将以-3为起点、以3为终点、以0.3为步长的一维矩阵赋值给x,并将x的值赋给y
[X,Y]=meshgrid(x,y;%通过meshgrid(生成绘制3-D图形所需的网格数据,即返回两个矩阵X、Y,生成网格采样点,X、Y的行数都等于输入参数y中元素的总个数,X、Y的列数都等于输入参数x中元素总个数
[theat,R]=cart2pol(X,Y;%把二维笛卡尔坐标(X,Y转换为对应的极坐标(theat,R
Z=sinc(R;%将R的辛格函数值赋给Z
contourf(peaks(30,10%画出peaks(30的填充的等高线图,10表示10条高度不同的等高线,peaks(函数用来产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其中有2个变量,由平移和放缩高斯分布函数获得,30表示输出30*30的矩阵colorbar%显示颜色条
gridon%显示网格线
title('PeaksFunction-(CONTOURF&COLORBAR'%将此图命名为PeaksFunction-(CONTOURF&COLORBAR(峰函数-(填充的等高线图和颜色条
subplot(2,3,2%使(2*3幅子图中第二个子图成为当前图
plot3(X,Y,Z%绘制X、Y、Z的使用线性轴的三维线图
gridon%显示网格线
axis([-33-33-11]%X轴坐标范围为3到3,Y轴坐标范围为-3到3,Z轴坐标范围为-1到1
title('SincFunction-(PLOT3'%将此图命名为SincFunction-(PLOT3(辛格函数-(使用线性轴的三维线图
subplot(2,3,3%使(2*3幅子图中第三个子图成为当前图
waterfall(membrane(1;%waterfall用来绘制瀑布图,membrane(1生成MATLAB的标志
title('L-shapedMembrane-(WATERFALL'%将此图命名为L-shapedMembrane-(WATERFALL(L型膜-(瀑布图
subplot(2,3,4%使(2*3幅子图中第四个子图成为当前图
contour3(peaks(30,25;%绘制peaks(30的填充的三维等高线图,25表示25条高度不同的等高线,peaks(函数用来产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其中有2个变量,由平移和放缩高斯分布函数获得,30表示输出30*30的矩阵title('PeaksFunction-(CONTOUR3'%将此图命名为PeaksFunction-(CONTOUR3(峰函数-(三维等高线图
subplot(2,3,5%使(2*3幅子图中第五个子图成为当前图
mesh(X,Y,Z%绘制X、Y、Z的三维网格曲面图
axis([-33-33-11]%X轴坐标范围为3到3,Y轴坐标范围为-3到3,Z轴坐
标范围为-1到1
title('SincFunction-(MESH'%将此图命名为SincFunction-(MESH(辛格函数-(三维网格曲面图
subplot(2,3,6%使(2*3幅子图中第六三个子图成为当前图surf(membrane(1%绘制Matlab标志的三维着色曲面图title('L-shapedMembrane-(SURF'%将此图命名为L-shapedMembrane-(SURF(L型膜-(三维着色曲面图
set(gcf,'Position',[211248713413]%对gcf的位置进行设置,使其在屏幕上的显示位置是以(211,248为原点,长为713,宽为413;gcf是返回当前Figure对象的句柄值
echooff%关闭显示M文件执行的每一条命令shg%显示图形窗口
(1运行结果为:
(2分析:
首先首先用subplot(2,3,k设置多子图,k为1至6的整数,将图分为6个子图,令k为1设置左上角为当前图。
给x、y赋初值,通过meshgrid(生成绘制3-D图形所需的网格数据,即返回两个矩阵X、Y,生成网格采样点,把二维笛卡尔坐标(X,Y转换为对应的极坐标(theat,R,将R的辛格函数值赋给Z。
第一幅图为“峰函数-(填充的等高线图和颜色条”,通过contourf(绘制,其中10表示10条高度不同的等高线,peaks(函数用来产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其中有2个变量,由平移和放缩高斯分布函数获得,30表示输出30*30的矩阵。
通过colorbar和gridon分别显示颜色条、网格线:
PeaksFunction-(CONTOURF&COLORBAR
SincFunction-(PLOT3
L-shapedMembrane-(WATERFALLPeaksFunction-(CONTOUR3SincFunction-(MESH
L-shapedMembrane-(SURF-6
-4-20246
第二幅图为“辛格函数-(使用线性轴的三维线图”,通过plot3(函数绘制,gridon显示网格线,axis函数限定坐标系范围:
第三幅图为“L型膜-(瀑布图”,通过函数waterfall(用来绘制瀑布图,membrane(1生成MATLAB的标志:
PeaksFunction-(CONTOURF&COLORBAR
-6
-4
-2
2
4
6
SincFunction-(PLOT3
L-shapedMembrane-(WATERFALL
第四幅图为“峰函数-(三维等高线图”,通过函数contour3(绘制三维等高线图,peaks(30用来产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其中有2个变量,由平移和放缩高斯分布函数获得,30表示输出30*30的矩阵,25表示要求有25条高度不同的等高线:
PeaksFunction-(CONTOUR3
第五幅图为“辛格函数-(三维网格曲面图”,通过mesh(函数绘制三维网格曲面图,axis限定坐标系范围
SincFunction-(MESH
第六幅图为L型膜-(三维着色曲面图,通过surf(函数绘制三维着色曲面图
L-shapedMembrane-(SURF
最后用set(函数设置图像位置,函数echooff关闭显示M文件执行的每一条命令,函数shg显示图形窗口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程序设计 关于 常用 绘图 函数 运用 方法 说明 解读