matlab 讲义.docx
- 文档编号:23463569
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:13
- 大小:164.77KB
matlab 讲义.docx
《matlab 讲义.docx》由会员分享,可在线阅读,更多相关《matlab 讲义.docx(13页珍藏版)》请在冰豆网上搜索。
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坐标数据。
例5-1在0≤x≤2区间内,绘制曲线y=2e-0.5xcos(4πx)
程序如下:
x=linspace(0,2*pi,100);
y=2.*exp(-0.5.*x).*cos(4.*pi.*x);
plot(x,y)
运行结果:
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按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
例5-2
在图形窗口中,以子图形式同时绘制多根曲线。
程序如下:
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')
运行结果:
5.3分段函数的绘图
例5-3已知
在[-2*pi,2*pi],区间绘制函数曲线。
方法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');
运行结果:
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极坐标图
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
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对应列元素绘制三维曲线,曲线条数等于矩阵列数。
例5-6绘制三维曲线。
曲线所对应的参数方程为:
程序如下:
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绘制三维曲面的函数
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平面上绘制曲面的底座。
运行结果:
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 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)的三维曲面。 例5-8绘制曲面图形, ,并进行插值着色处理。 源程序: 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,shadinginterp参考p111在网格片内采用颜色插值处理,得到的表面显得最光滑。 运行结果: 难点解析完毕,老师巡视实验室,回答学生在实验中所遇到的问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 讲义