MATLAB程序设计教程.docx
- 文档编号:1037908
- 上传时间:2022-10-15
- 格式:DOCX
- 页数:11
- 大小:161.56KB
MATLAB程序设计教程.docx
《MATLAB程序设计教程.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计教程.docx(11页珍藏版)》请在冰豆网上搜索。
MATLAB程序设计教程
MATLAB程序设计教程
MATLAB程序设计教程课程教案
2009年5月5日授课周次第10周授课时间
授课方式课时理论课?
讨论课?
实验课?
习题课?
其他?
3(请打?
)安排
授课题目(教学章、节或主题):
实验四MATLATB高层绘图操作
对于教材第五章
5.15.25.35.4
5.55.65.75.8
教学目的、要求:
[1]掌握绘制二维图形的常用函数
[2]掌握绘制三维图形的常用函数
[3]掌握绘制图片的辅助操作
教学重点及难点:
重点:
绘制二维图形的常用函数和三维图形的常用函数
难点:
绘制三维曲面的函数及隐函数绘图
教学基本内容和过程第五章MATLAB绘图
5.1绘制二曲线的基本函数
5.1.1绘制单根二维曲线
plot函数的基本调用格式为:
plot(x,y)
其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
-0.5x例5-1在0?
x?
2,区间内,绘制曲线y=2ecos(4πx)
程序如下:
x=linspace(0,2*pi,100);
y=2.*exp(-0.5.*x).*cos(4.*pi.*x);
plot(x,y)
第页1
运行结果:
plot函数最简单的调用格式是只包含一个输入参数:
plot(x)
在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
5.1.2绘制多根二维曲线
1(plot函数的输入参数是矩阵形式
(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
2(含多个输入参数的plot函数
调用格式为:
plot(x1,y1,x2,y2,…,xn,yn)
(1)当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。
每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。
(2)当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘
第页2
制曲线,曲线条数等于矩阵的列数。
例5-2在图形窗口中,以子图形yxyxyyyyx1sin()2cos()312,4^3,,,,,,,式同时绘制多根曲线。
程序如下:
x=linspace(-2*pi,2*pi,1000);
y1=sin(x);
y2=cos(x);
y3=y1.*y2;
y4=x.^3;
subplot(2,3,1);
plot(x,y1);
title('y1=sin(x)');subplot(2,2,2);
plot(x,y2);
title('y2=cos(x)');subplot(2,2,3);
plot(x,y3);
title('y3=y1.*y2')subplot(2,2,4);
plot(x,y4);
title('y4=x.^3')
运行结果:
第页3
5.3分段函数的绘图
2,ln(sin()1)0xxx,,,,,例5-3已知,在[-2*pi,2*pi],区间绘制函数曲线。
y,,cos(4)x,x,0,2e,
方法1源程序:
x=linspace(-2*pi,2*pi,1000);y=(log(sin(x)+sqrt(1+x.^2))).*(x<=0)+(cos(4.*x)./exp
(2)).*(x>0);
plot(x,y);
运行结果:
方法2源程序:
x1=linspace(-2*pi,0,100);
y1=(log(sin(x1)+sqrt(1+x1.^2)));x2=linspace(0,2*pi,100);
y2=(cos(4.*x2)./exp
(2));
plot(x1,y1,'r',x2,y2,'b');
运行结果:
第页4
5.4其他形式的线性直角坐标图在MATLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和
填充图等,所采用的函数分别是:
bar(x,y,选项)
stairs(x,y,选项)
stem(x,y,选项)
fill(x1,y1,选项1,x2,y2,选项2,…)
例5-4分别以条形图、阶梯图、杆图和填充图形式绘制曲线y=2sin(x)。
程序如下:
x=0:
pi/10:
2*pi;
y=2*sin(x);
subplot(2,2,1);bar(x,y,'g');
title('bar(x,y,''g'')');axis([0,7,-2,2]);subplot(2,2,2);stairs(x,y,'b');
title('stairs(x,y,''b'')');axis([0,7,-2,2]);subplot(2,2,3);stem(x,y,'k');
title('stem(x,y,''k'')');axis([0,7,-2,2]);subplot(2,2,4);fill(x,y,'y');
title('fill(x,y,''y'')');axis([0,7,-2,2]);
运行结果:
第页5
5.5极坐标图
polar函数用来绘制极坐标图,其调用格式为:
polar(theta,rho,选项)
其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。
例5-5绘制r=sin(t)cos(t)的极坐标图,并标记数据点。
程序如下:
a=input('inputa:
');
b=input('inputb:
');
n=input('inputn:
');
t=0:
pi/50:
2*pi;
r=a*sin(b+n*t).*cos(b+n*t);
polar(t,r,'-*');
运行结果:
inputa:
2
inputb:
pi
inputn:
4
第页6
5.6绘制空间曲线
5.6.1三维曲线
plot3函数与plot函数用法十分相似,其调用格式为:
plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。
当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。
当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。
xt,sin,
ytt,,,cos020,,例5-6绘制三维曲线。
曲线所对应的参数方程为:
zttt,sincos,
程序如下:
t=0:
pi/100:
20*pi;
x=sin(t);
y=cos(t);
z=t.*sin(t).*cos(t);
plot3(x,y,z);
title('Linein3-DSpace');
xlabel('X');ylabel('Y');zlabel('Z');
gridon;
运行结果:
5.7绘制三维曲面的函数
第页7
5.7.1产生三维数据
在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。
其格式为:
x=a:
d1:
b;y=c:
d2:
d;
[X,Y]=meshgrid(x,y);
语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数
5.7.2绘制三维曲面的函数
surf函数、mesh函数和contour3函数的调用格式为:
mesh(x,y,z)
surf(x,y,z)
contour3(x,y,z,5);
一般情况下,x,y,z是维数相同的矩阵。
x,y是网格坐标矩阵,z是网格点上的高度矩阵。
一般情况下,x,y,z是维数相同的矩阵。
x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
例5-7绘制三维曲面图z=sin(x+sin(y))-x/10。
程序如下:
[x,y]=meshgrid(0:
0.25:
4*pi);
z=sin(x+sin(y))-x/10;
mesh(x,y,z);
axis([04*pi04*pi-2.51]);
此外,还有带等高线的三维网格曲面函数meshc和带底座的三维网格曲面函数meshz。
其用法与mesh类似,不同的是meshc还在xy平面上绘制曲面在z轴方向的等高线,meshz还在xy平面上绘制曲面的底座。
运行结果:
第页8
mesh()
Surf()
5.8隐函数绘图
5.8.1MATLAB提供了一个ezplot函数绘制隐函数图形,下面介绍其用法。
1(对于函数f=f(x),ezplot函数的调用格式为:
ezplot(f):
在默认区间-2π ezplot(f,[a,b]): 在区间a 2(对于隐函数f=f(x,y),ezplot函数的调用格式为: ezplot(f): 在默认区间-2π ezplot(f,[xmin,xmax,ymin,ymax]): 在区间xmin ezplot(f,[a,b]): 在区间a 第页9 3(对于参数方程x=x(t)和y=y(t),ezplot函数的调用格式为: ezplot(x,y): 在默认区间0 ezplot(x,y,[tmin,tmax]): 在区间tmin 5.8.2三维曲面图的绘制函数ezsurf的格式为: ezsurf(f,[xmin,xmax,ymin,ymax]) 功能: 绘制符号表达式f代表的x、y二元函数的在[xmin,xmax,ymin,ymax]范围内的三维曲面。 ezsurf(x,y,z,[smin,smax,tmin,tmax]) 功能: 绘制在[smin,smax,tmin,tmax]范围内x=x(s,t),y=y(s,t)和z=z(s,t)的三维曲面。 s,xet,cos ,s,yetst,,,,,sin0805,,例5-8绘制曲面图形,,并进行插值着色处理。 zt,, 源程序: s=linspace(0,8,100); t=linspace(0,5*pi,100); ezsurf('exp(-s).*cos(t)','exp(-s).*sin(t)','t',[0,8],[0,5*pi]); shadinginterp;%ezsurf参考p114,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程序设计 教程