MATLAB程序设计 下载本文

内容发布更新时间 : 2024/12/27 14:53:42星期一 下面是文章的全部内容请认真阅读。

MATLAB 程序设计

MATLAB提供了一个完善的程序设计语言环境,使用户能够方便地编制复杂的程序,完成各种计算。本节先介绍关系运算、逻辑运算,再介绍M-文件(即程序文件)的结构及MATLAB的程序控制流语句。

一、关系运算和逻辑运算

1.关系运算

(1)关系运算符:

< ;< = ;> ;> = ;= = ;~ = (2)关系表达式:

用关系运算符将两个同类型的量(表达式)连接起来的式子。

【注】①关系运算本质上是标量运算,关系表达式的值是逻辑值(0-假1-真);

②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。 例1.对向量进行关系运算。 >> A=1:5,B=5:-1:1 % 输入向量

A = 1 2 3 4 5 B = 5 4 3 2 1 >> C=(A>=4) % 对向量进行关系运算 C = 0 0 0 1 1

>> D=(A==B) % 对向量进行关系运算 D = 0 0 1 0 0

2.逻辑运算

(1)逻辑运算符:& (and,与)、| (or,或)、~ (not,非) (2)逻辑表达式:用逻辑将两个逻辑量连接起来的式子。

【注】①逻辑运算本质上是标量运算,它将任何非零元素视为1(真);

②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵。(真值表见P27)

例2.对向量进行逻辑运算。 >> a=1:9,b=9-a

a = 1 2 3 4 5 6 7 8 9 b = 8 7 6 5 4 3 2 1 0 >> c=~(a>4) % 非运算 c = 1 1 1 1 0 0 0 0 0 >> d=(a>=3)&(b<6) % 与运算 d = 0 0 0 1 1 1 1 1 1

3.逻辑函数

any(x) 向量x中有非零元返回1,否则返回0。(向量函数) all(x) 向量x中所有元素非零返回1,否则返回0。(向量函数) isempty(x) 矩阵x为空矩阵返回1,否则返回0。

find(x) 返回向量x中非零元下标,若x是矩阵,则视其为一长列向量。 例3.对向量或矩阵进行逻辑运算,或调用逻辑函数。 >> a=[1 0 -5 0;-3 0 8 2] a = 1 0 -5 0 -3 0 8 2 >> b=all(a),c=any(a) b = 1 0 1 0 c = 1 0 1 1

>> x=isempty(a) % 判定矩阵a是否为空,不能用关系式”a==[]”! x = 0

>> y=find(c) %返回向量c 中非零元下标 y = 1 3 4

>> z=find(a) % 1个输出参数 z = [1 2 5 6 8]’

>> [m,n]=find(a) % 2个输出参数

1 m =

2 1 2 2

二、M-文件的结构

M-文件就是MATLAB程序文件,它是一个包含MATLAB语句组(命令序列)的普通ASCII文本文件,其扩

n = 1 1 3 3 4

展名为“.m”。M-文件有两类:脚本文件和函数文件。 1.脚本文件(亦称命令M-文件)

脚本文件的结构比较简单,它没有输入参数和输出参数,只是一些MATLAB命令行的组合。脚本文件中定义的变量都是全局变量。

?401??123?例4.给定矩阵A???012?? ,编写命令文件,输入矩阵A、B,并计算输出它?456?? ,B??????们的和与差。

解:建立如下M-文件SY00504.m

A=[1 2 3;4 5 6]; % 输入矩阵A B=[4 0 1;0 1 2]; % 输入矩阵B C=A+B % 计算输出A与B的和 D=A-B % 计算输出A与B的差

将上述文件以SY00504.m为名存盘,然后在命令窗口调用此M-文件,则有 >> SY00504

C = 5 2 4 D = -3 2 2 4 6 8 4 4 4

2.函数文件(亦称函数M-文件)

和命令文件相比,函数文件稍微复杂一些。通常函数文件包含以下几个部分: (1)函数定义行 位于文件首行,以function开头,说明函数名、输入/输出参数. (2)帮助信息 紧跟函数定义行后面,以%开头的注释行,给出该函数的在线帮助. (3)函数体 函数的执行语句部分,是函数文件的核心部分。

(4)注释部分 命令行中以符号“%”开始直到该行结束部分的注释语句。

例5.编写函数文件,计算任意两个同维数矩阵的和与差。(L000402.m) 解:建立如下函数文件SY00505.m function [C,D]=SY00405(A,B)

% 给定矩阵A和B,计算输出其矩阵和C和矩阵差D C=A+B; % 计算矩阵和 D=A-B; % 计算矩阵差

将上述文件以SY00405.m为名存盘,然后在命令窗口调用函数文件,则有 >> A=[1 2 3;4 5 6];B=[4 0 1;0 1 2]; >> [C,D]=SY00505(A,B)

C = 5 2 4 D = -3 2 2 4 6 8 4 4 4

【注】

①函数文件的第一行必须是函数说明语句;输入参量用圆括号括起,输出参量多于1个时用方括号

括起;多个输入/输出参量时,参量之间用逗号隔开。

②函数文件的变量一般是局部变量,可以用global命令将某些变量说明为全局变量。 ③函数文件的文件名一般应与函数说明语句中定义的函数名相一致。 ④函数文件可以递归调用。

三、M-文件的建立、编辑与调用

1.M-文件的建立与编辑

方法1:在命令窗口输入命令:edit [M-文件名],即可打开相应M-文件编辑器。 方法2:单击菜单“File”->“New”->“M-file”,打开空白M-文件编辑器; 方法3:单击菜单“File”->“Open”->输入文件名,打开相应M-文件编辑器; 方法4:在当前目录窗口中选择某M-文件,双击则可打开该M-文件编辑器;