MATLAB程序设计教程.docx

上传人:b****4 文档编号:1037908 上传时间:2022-10-15 格式:DOCX 页数:11 大小:161.56KB
下载 相关 举报
MATLAB程序设计教程.docx_第1页
第1页 / 共11页
MATLAB程序设计教程.docx_第2页
第2页 / 共11页
MATLAB程序设计教程.docx_第3页
第3页 / 共11页
MATLAB程序设计教程.docx_第4页
第4页 / 共11页
MATLAB程序设计教程.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

MATLAB程序设计教程.docx

《MATLAB程序设计教程.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计教程.docx(11页珍藏版)》请在冰豆网上搜索。

MATLAB程序设计教程.docx

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,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1