MATALB8.5基础与实践教程(第2版)第2章程序结构、函数运算及绘图_第1页
MATALB8.5基础与实践教程(第2版)第2章程序结构、函数运算及绘图_第2页
MATALB8.5基础与实践教程(第2版)第2章程序结构、函数运算及绘图_第3页
MATALB8.5基础与实践教程(第2版)第2章程序结构、函数运算及绘图_第4页
MATALB8.5基础与实践教程(第2版)第2章程序结构、函数运算及绘图_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.1程序结构2.1.1if条件分支结构2.1.2循环结构2.1.3switch开关结构2.1.4结构内部的流程控制2.2MATLAB基本数学函数及运算2.2.1三角函数2.2.2取整运算函数2.2.3数的运算函数2.2.4多项式及函数运算2.3自定义函数的编辑方法2.3.1利用M文件编写自定义函数2.3.2利用命令语句建立函数2.4基本绘图函数及其操作2.4.1图形窗口的打开和设置2.4.2二维图形的基本绘制方法2.4.3三维图形的基本绘制方法第2章

程序结构、函数运算及绘图2.1程序结构MATLAB的程序结构一般可分为顺序结构、循环结构和分支结构等。通常情况MATLAB程序是按编程语句的先后顺序逐句解读并执行,即以顺序方式运行。当需要重复运算或在逻辑条件下运行时,则需要采用循环或分支形式的程序结构。2.1.1if条件分支结构

2.1.2循环结构

循环结构分无条件循环和条件循环两种情况。1.无条件循环结构格式:

fori=m:k:n%生成数组向量(序列)i,作为循环次数和参数

语句1%循环体

end%结束循环,即i>=n时则结束循环

2.条件循环结构格式:

while逻辑或关系式

%条件为真则执行下面的循环体

语句1%循环体

end%直到条件变为假结束本次循环2.1.3switch开关结构switch表达式

case条件表达式1语句集1case条件表达式2

语句集2...otherwise

语句集nend2.1.4结构内部的流程控制1、continue命令。通常被用于for和while循环体中,与if一起使用,当if条件成立则终止本次循环,去执行(即继续)下一轮的循环。2、break命令。该命令能使包括break命令在内的最内层的for,while或if语句的终止。与if一同使用,当if条件为真时,break使程序跳出循环体,即强行结束循环。用break可随时结束循环而不必等待循环的自然结束。(参考例2-7)。3、return命令。该命令用来结束当前正在运行的函数,使其所在的函数程序结束运行,并返回到调用该函数程序的位置。(参考例2-8)。4、pause命令。该命令使程序暂停运行,等待用户按下任意键后再继续运行。命令pause(n)可设定暂停时间n秒。5、input命令。该命令提示用户从键盘输入数字、字符串或表达式,输入完成并回车后,程序才能继续执行。使用格式可参考例1-16、2-1和例2-4。2.2MATLAB基本数学函数及运算MATLAB提供了大量内建的数学函数。除了如数学手册上常有的基本函数外,大量的应用型函数几乎涵盖了目前数学和其它科学计算所需的子程序。这些子程序均是以标准函数的形式给出,使用时只需给出函数所要求的参数后即可直接调用。用户也可以通过M文件编程来自建函数实现共享。以下按数学分类给出一些常用的基本函数。2.2.1三角函数

MATLAB给出了常用的三角函数、反三角函数、双曲函数等函数命令。2.2.2取整运算函数

用于对数值进行不同方式的取整,如四舍五入、取最大整数(向右取)、取数的最小整数(向左取)等。见表2-2。2.2.3数的运算函数用于对数值进行各种运算,如求绝对值或模值、最大数或最小数、求和运算等。2.2.4多项式及函数运算

多项式函数是常见的函数形式之一,任何函数或曲线都可以用多项式函数来逼近,因此在工程实践中,多项式函数的运算具有广泛的实用意义。2.3自定义函数的编辑方法 MATLAB提供了丰富的标准数学函数和专用的基本函数,称为内建函数,如sin,cos,log,factor等,单用户也可以针对不同的用途和目的来定义和构建具有特定功能的子程序,称为自定义函数或自建函数。在章节1.1.6中提及过的M-file除了可以用来撰写程序文件外,还有另一个重要的用途,就是可以用来编辑自定义函数文件。这样的文件称为M函数文件。将自定义的函数文件以函数名加扩展名.m进行保存后,就可以和内建函数命令一样被重复调用和共享。2.3.1利用M文件编写自定义函数首先通过File/New/M-File,打开一个M文件编辑窗。MATLAB除了对自定义函数有特定的格式要求外,一个易于使用且可读性好的自建函数应具有如下格式形式:

%函数的整体说明

function[返回参数列表]=函数名(函数变量列表)%注释部分:函数功能、参数和变量、版权作者版本日期等说明。参数和变量的检验和提示

函数功能语句集图2-3内建函数linspace的源程序2.3.1利用M文件编写自定义函数2.3.2利用命令语句建立函数1.用syms建立符号及符号函数例2-25符号函数的建立与调用。1)单变量函数>>symsxy%定义函数及变量为符号型y=2*x^2+7*x;%建立函数表达式>>x=40;y=subs(y,x)%给定x,求yy=602.用sym(‘函数式’)建立符号函数>>y=sym('2*x^2+7*x')%建立函数表达式>>x=3;y=subs(y,x)%给定x,求yy=393.用inline(‘函数式’,’变量1’,’变量2’,…,’变量n’)建立函数

inline()称为内联函数命令,其中带有单引号的变量列表‘变量i’,i=1,2,…,n被定义为符号变量。变量列表缺省时,则变量未定义,此时可进行函数运算但不能进行变量运算。

2.3.2利用命令语句建立函数2.4基本绘图函数及其操作

MATLAB不仅具有强大的计算功能,还具有非常好的数据可视化功能,几乎可以满足一般科学计算中所需的图形绘制与交互功能。如二维平面曲线、三维空间曲线和曲面等静态和动态显示等。也可以实现不同坐标系之间的转换和图形绘制。2.4.1图形窗口的打开和设置打开图形窗口有两种命令格式:1.figure或figure(m)命令figure可创建一个按自然顺序进行编号的图形窗口,而figure(m)则创建一个指定图形编号为m的图形窗口。2.subplot(n,m,k)或subplotnmk在一个图形窗口中设置n行m列(n×m)个子图形窗口并选定第k个子窗口作为当前绘图窗口。2.4.2二维图形的基本绘制方法在设定了图形窗口后,以后的绘图命令会在该图形窗口中进行绘图。线性坐标绘图函数命令plot()是最常用的二维绘图命令格式。以下介绍plot()的用法。1.绘制一条曲线

绘制曲线y(x)的一般格式为:plot(x,y,'colorlinemarker')2.绘制多条曲线

3.图形参数的设置

图形参数包括图形、坐标及其标题与标识等参数,可对图形线型、颜色、说明、坐标比例及其标识等特征进行设置和修改。但不能对由绘图命令绘制的曲线形状做任何改动。图形及标识设置坐标参数设置在图形窗口中进行参数设置2.4.2二维图形的基本绘制方法4.其他二维绘图格式

除了上述最基本的绘图格式外,其它类型的常用二维绘图格式如表2-8所示。2.4.2二维图形的基本绘制方法5.二维动画图形制作MATLAB支持电影动画制作和放映,即预先将图形制作好,放在图形缓冲区中,再一帧一帧地播放。制作函数命令格式有:m=moviein(n)

创建具有n列的矩阵m,用于存放n

帧画面,每一列对应一帧图像。m(i)=getframe将plot()等图形命令函数制作的第I

幅图作为第i帧画面以列的形式保存在矩阵m中。movie(m,k,fps)

影片播放函数。以每秒fps帧放映矩阵m中的画面k遍。缺省时为movie(m)。2.4.2二维图形的基本绘制方法2.4.3三维图形的基本绘制方法1.三维曲线绘制二维曲线绘图命令plot()可以扩展到三维曲线的绘制,命令格式为:

plot3(x,y,z,'colorlinemarker')plot3(x1,y1,z1,'color1line1marker1',x2,y2,z2,'color2line2marker2',…)其中'colorlinemarker'的设置与二维图形时的情况相同。2.4.3三维图形的基本绘制方法2.三维观察视角的设置三维图的空间观察点的视角方位关系如图2-22所示。默认情况下,观察点的视角方位为:方位角α=-37.5o,仰角β=30o。用户可以用命令view(α,β)进行设定。3.三维曲面绘制

已知二元函数z=f(x,y),绘制以x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论