求MATLAB高手解答,好的加悬赏~

MATLAB具有强大的图形处理功能。下面给出了3个m脚本文件,请在MATLAB环境下运行,观察其输出。
要求根据每个m文件输出的图形(共18个),用中文翻译并解释产生每个输出图形的函数具体是什么?其功能是什么?。
文件1:
clear all
clf
mfilename('fullpath')
echo on

subplot(2,3,1)
t = 0:0.1:10;
z = impulse(1, [1 1 1], t);
stairs(t(1:5:end),z(1:5:end))
hold on
plot(t,z,'r')
plot([0 t(end)], [0 0], 'k:')
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)
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
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))
axis([1 21 -5 10])
title('Direction Vectors - (FEATHER)')
set(gcf,'Position', [64 111 887 564])

echo off
shg

文件2:
clear all
clf
echo on

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)
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);
title('Area Plot - (AREA)');

subplot(2,3,5)
pie3(sum(data), [0 0 1 0]);
title(['3-D Pie Chart';' (PIE3) ']);

subplot(2,3,6)
rose(5/3*randn(1000,1), 18);
title('Polar Histogram - (ROSE)');
set(gcf,'Position',[184 248 740 424])

echo off
shg

文件3:
echo on

subplot(2,3,1)
x = -3:0.3:3; y = x;
[X,Y]=meshgrid(x,y);
[theat,R] = cart2pol(X,Y);
Z = sinc(R);
contourf(peaks(30), 10)
colorbar
grid on
title('Peaks Function - (CONTOURF & COLORBAR)')

subplot(2,3,2)
plot3(X,Y,Z)
grid on
axis([-3 3 -3 3 -1 1])
title('Sinc Function - (PLOT3)')

subplot(2,3,3)
waterfall(membrane(1));
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)
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

文件1:
clear all %清除工作区间所有的变量
clf %清除图形窗口的内容
mfilename('fullpath' %返回当前正在运行的函数所在文件的文件名(全部路径 echo on %显示M文件执行的每一条命令
subplot(2,3,1 %使(2*3幅子图中第一个子图成为当前图
t = 0:0.1:10; %将以0为起点、以10为终点、以0.1为步长的一维矩阵赋值给t z = impulse(1, [1 1 1], t; %动力系统的脉冲响应数据,以时间t步长0.1为单位stairs(t(1:5:end,z(1:5:end %绘制阶梯状图,从第1行开始,间隔5行取1行,到最后1行为止
hold on %保持当前坐标轴和图形,并接受下一次绘制
plot(t,z,'r' %用红线绘制横轴为t、纵轴为z的二维函数图
plot([0 t(end], [0 0], 'k:' %用黑色虚线绘制函数图像,要求经过原点平行于横轴、取值范围为0到t的最后一个值
title('Impulse Response - (STAIRS' %将此图命名为Impulse Response - (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('Polar FFT - (STEM3' %将此图命名为Polar FFT - (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
hold on %保持当前坐标轴和图形,并接受下一次绘制
quiver(X,Y,U,V; %使用箭头来直观的显示矢量场,该调用格式表示通过在(X, Y
指定的位置绘制小箭头来表示以该点为起点的向量(U,V
title('Surface Gradient - (CONTOUR & QUIVER' %将此图命名为Surface Gradient - (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([-13 13 -12.5 14.5] %横坐标范围为-13到13,纵坐标范围为-12.5到14.5
title('Spiral Plot - (POLAR' %将此图命名为Spiral Plot - (POLAR(螺旋图-极坐标图
subplot(2,3,5 %使(2*3幅子图中第五个子图成为当前图
compass(x,y %绘制罗盘图
axis([-13 13 -12.5 14.5] %横坐标范围为-13到13,纵坐标范围为-12.5到14.5
title('Direction Vectors - (COMPASS' %将此图命名为Direction Vectors - (COMPASS(方向矢量-罗盘图
subplot(2,3,6 %使(2*3幅子图中第六个子图成为当前图
feather(x(1:19,y(1:19 %绘制羽状图,其中x、y表示一组向量,x是向量的横坐标(x分量,y是向量的纵坐标(y分量。该调用格式将在水平轴上等间隔的把这些向量用带箭头的线绘制出来
axis([1 21 -5 10] %横坐标范围为1到21,纵坐标范围为-5到10
title('Direction Vectors - (FEATHER' %将此图命名为Direction Vectors - (FEATHER(方向矢量-羽状图
set(gcf,'Position', [64 111 887 564] %对gcf的位置进行设置,使其在屏幕上的显示位置是以(64,111为原点,长为887,宽为564;gcf是返回当前Figure对象的句柄值
echo off %关闭显示M文件执行的每一条命令
shg %显示图形窗口
文件2:
clear all %清除工作区间所有的变量
clf %清除图形窗口的内容
echo on %显示M文件执行的每一条命令
data = [10 2 3 5; 5 8 10 3; 9 7 6 1; 3 5 7 2; 4 7 5 3]; %定义data为一个四行四列的矩阵,并赋值
subplot(2,3,1%使(2*3幅子图中第一个子图成为当前图
bar(data, 'stacked'; %绘制矩阵date的条形图,把同一组数据描述在一个直方条上title('Bar Graph - (BAR, ''stacked'''; %将此图命名为Bar Graph - (BAR, ''stacked'' (条形图-(条形图,“堆叠”
subplot(2,3,2 %使(2*3幅子图中第二个子图成为当前图
bar3h(data; %绘制矩阵data的垂直的三维直方图
title('Horizontal Bar Graph - (BAR3H, ''grouped'''; %将此图命名为Horizontal Bar Graph - (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('Area Plot - (AREA'; %将此图命名为Area Plot - (AREA(面积图-(填充区域图
subplot(2,3,5 %使(2*3幅子图中第五个子图成为当前图
pie3(sum(data, [0 0 1 0]; %绘制矩阵data每一行之和与所占总和比例的三维饼图,并突出显示第三行
title(['3-D Pie Chart';' (PIE3 ']; %将此图命名为'3-D Pie Chart';' (PIE3 '(三维饼状图(三维饼图
subplot(2,3,6 %使(2*3幅子图中第六个子图成为当前图
rose(5/3*randn(1000,1, 18; %绘制一个1000*1的随机项矩阵并乘以5/3的角直方图,梯度方向数为18
title('Polar Histogram - (ROSE'; %将此图命名为Polar Histogram - (ROSE(极坐标图-(角直方图
set(gcf,'Position',[184 248 740 424] %对gcf的位置进行设置,使其在屏幕上的显示位置是以(184,248为原点,长为740,宽为424;gcf是返回当前Figure对象的句柄值
echo off %关闭显示M文件执行的每一条命令
shg %显示图形窗口
文件3:
echo on %显示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 %显示颜色条
grid on %显示网格线
title('Peaks Function - (CONTOURF & COLORBAR' %将此图命名为Peaks Function - (CONTOURF & COLORBAR(峰函数-(填充的等高线图和颜色条
subplot(2,3,2 %使(2*3幅子图中第二个子图成为当前图
plot3(X,Y,Z %绘制X、Y、Z的使用线性轴的三维线图
grid on %显示网格线
axis([-3 3 -3 3 -1 1] %X轴坐标范围为3到3,Y轴坐标范围为-3到3,Z轴坐标范围为-1到1
title('Sinc Function - (PLOT3' %将此图命名为Sinc Function - (PLOT3(辛格函数-(使用线性轴的三维线图
subplot(2,3,3 %使(2*3幅子图中第三个子图成为当前图
waterfall(membrane(1; %waterfall用来绘制瀑布图,membrane(1生成MA TLAB的标志
title('L-shaped Membrane - (WATERFALL' %将此图命名为L-shaped Membrane - (WATERFALL(L型膜-(瀑布图
subplot(2,3,4 %使(2*3幅子图中第四个子图成为当前图
contour3(peaks(30, 25; %绘制peaks(30的填充的三维等高线图,25表示25条高度不同的等高线,peaks(函数用来产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其中有2个变量,由平移和放缩高斯分布函数获得,30表示输出30*30的矩阵title('Peaks Function - (CONTOUR3' %将此图命名为Peaks Function - (CONTOUR3 (峰函数-(三维等高线图
subplot(2,3,5 %使(2*3幅子图中第五个子图成为当前图
mesh(X,Y,Z %绘制X、Y、Z的三维网格曲面图
axis([-3 3 -3 3 -1 1] %X轴坐标范围为3到3,Y轴坐标范围为-3到3,Z轴坐
标范围为-1到1
title('Sinc Function - (MESH' %将此图命名为Sinc Function - (MESH(辛格函数-(三维网格曲面图
subplot(2,3,6 %使(2*3幅子图中第六三个子图成为当前图 surf(membrane(1 %绘制Matlab 标志的三维着色曲面图 title('L-shaped Membrane - (SURF' %将此图命名为L-shaped Membrane - (SURF(L 型膜-(三维着色曲面图
set(gcf,'Position',[211 248 713 413] %对gcf 的位置进行设置,使其在屏幕上的显示位置是以(211,248为原点,长为713,宽为413;gcf 是返回当前Figure 对象的句柄值
echo off %关闭显示M 文件执行的每一条命令 shg %显示图形窗口
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-18

是这个吗

本回答被提问者采纳
第2个回答  2011-12-13
ggggggggggggggg