资源描述:
《matlab程序设计48359》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MATLAB程序设计MATLAB提供了一个完善的程序设计语言环境,使用户能够方便地编制复杂的程序,完成各种计算。本节先介绍关系运算、逻辑运算,再介绍M-文件(即程序文件)的结构及MATLAB的程序控制流语句。一、关系运算和逻辑运算1.关系运算(1)关系运算符:<;<=;>;>=;==;~=(2)关系表达式:用关系运算符将两个同类型的量(表达式)连接起来的式子。【注】①关系运算本质上是标量运算,关系表达式的值是逻辑值(0-假1-真);②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。例1.对向量进行关系运
2、算。>>A=1:5,B=5:-1:1%输入向量A=12345B=54321>>C=(A>=4)%对向量进行关系运算C=00011>>D=(A==B)%对向量进行关系运算D=001002.逻辑运算(1)逻辑运算符:&(and,与)、
3、(or,或)、~(not,非)(2)逻辑表达式:用逻辑将两个逻辑量连接起来的式子。【注】①逻辑运算本质上是标量运算,它将任何非零元素视为1(真);②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。(真值表见P27)例2.对向量进行逻辑运算。>>a=1:9,b=9-aa=123
4、456789b=876543210>>c=~(a>4)%非运算c=111100000>>d=(a>=3)&(b<6)%与运算d=000111111113.逻辑函数any(x)向量x中有非零元返回1,否则返回0。(向量函数)all(x)向量x中所有元素非零返回1,否则返回0。(向量函数)isempty(x)矩阵x为空矩阵返回1,否则返回0。find(x)返回向量x中非零元下标,若x是矩阵,则视其为一长列向量。例3.对向量或矩阵进行逻辑运算,或调用逻辑函数。>>a=[10-50;-3082]a=10-50-3082>>b=all(a),c=
5、any(a)b=1010c=1011>>x=isempty(a)%判定矩阵a是否为空,不能用关系式”a==[]”!x=0>>y=find(c)%返回向量c中非零元下标y=134>>z=find(a)%1个输出参数z=[12568]’>>[m,n]=find(a)%2个输出参数n=11334m=12122二、M-文件的结构M-文件就是MATLAB程序文件,它是一个包含MATLAB语句组(命令序列)的普通ASCII文本文件,其扩展名为“.m”。M-文件有两类:脚本文件和函数文件。1.脚本文件(亦称命令M-文件)脚本文件的结构比较简单,它没有
6、输入参数和输出参数,只是一些MATLAB命令行的组合。脚本文件中定义的变量都是全局变量。11例4.给定矩阵,,编写命令文件,输入矩阵A、B,并计算输出它们的和与差。解:建立如下M-文件SY00504.mA=[123;456];%输入矩阵AB=[401;012];%输入矩阵BC=A+B%计算输出A与B的和D=A-B%计算输出A与B的差将上述文件以SY00504.m为名存盘,然后在命令窗口调用此M-文件,则有>>SY00504C=524D=-3224684442.函数文件(亦称函数M-文件)和命令文件相比,函数文件稍微复杂一些。通常函数文件
7、包含以下几个部分:(1)函数定义行位于文件首行,以function开头,说明函数名、输入/输出参数.(2)帮助信息紧跟函数定义行后面,以%开头的注释行,给出该函数的在线帮助.(3)函数体函数的执行语句部分,是函数文件的核心部分。(4)注释部分命令行中以符号“%”开始直到该行结束部分的注释语句。例5.编写函数文件,计算任意两个同维数矩阵的和与差。(L000402.m)解:建立如下函数文件SY00505.mfunction[C,D]=SY00405(A,B)%给定矩阵A和B,计算输出其矩阵和C和矩阵差DC=A+B;%计算矩阵和D=A-B;%
8、计算矩阵差将上述文件以SY00405.m为名存盘,然后在命令窗口调用函数文件,则有>>A=[123;456];B=[401;012];>>[C,D]=SY00505(A,B)C=524D=-322468444【注】①函数文件的第一行必须是函数说明语句;输入参量用圆括号括起,输出参量多于1个时用方括号括起;多个输入/输出参量时,参量之间用逗号隔开。②函数文件的变量一般是局部变量,可以用global命令将某些变量说明为全局变量。③函数文件的文件名一般应与函数说明语句中定义的函数名相一致。11④函数文件可以递归调用。三、M-文件的建立、编辑与
9、调用1.M-文件的建立与编辑方法1:在命令窗口输入命令:edit[M-文件名],即可打开相应M-文件编辑器。方法2:单击菜单“File”->“New”->“M-file”,打开空白M-文件编辑器;方法3:单