第二章
2.1常量与变量
2.1.1 特殊常量
变量名 | 功 能 说 明 |
ANS(ans) | 缺省变量名,以应答最近一次操作运算结果 |
i或j | 虚数单位 |
Pi | 圆周率 |
NaN | Not-a-number,表示不定值 |
tic | 秒表开始执行 |
INF(inf) | 代表无穷大 |
toc | 秒表停止 |
Date | 日历 |
Clock | 时钟 |
2.1.2一般变量
变量命名遵守的原则:
1、
2、
3、
2.2
2.2.1
方法:1、逐个元素输入法
2.2.2
1、
调用格式
2、
调用格式
2.3
2.3.1
操作符 | 功能说明 | 操作符 | 功能说明 |
+ | 加 | \ | 算术左除 |
- | 减 | .\ | 点左除 |
* | 算术乘 | / | 算术右除(传统) |
.* | 点乘 | ./ | 点右除 |
^ | 算术乘方 | ´ | 算术转置 |
.^ | 点乘方 | .´ | 点转置 |
2.3.2
操作符 | 功能说明 |
== | 等于 |
~= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
2.3.3
逻辑运算符 | 逻辑运算 | 说明 |
& | And | 逻辑与 |
∣ | or | 或 |
~ | Not | 非 |
Xor | Xor | 异或 |
逻辑运算规则
输入 | 与 | 或 | 异或 | 非 | |
a | b | a&b | a|b | xor(a,b) | ~a |
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 |
例1:逻辑矩阵A=[1 1 ;0 1]、B=[0 1; 0 0],逻辑标量b=0,求c1=A&b ,c2=A|b, c3=xor(A,B)
2.3.4 逻辑函数
逻辑函数 | 函数意义 |
all | 判断是否所有元素为非零值 |
any | 判断是否存在一个元素为非零值 |
exist | 查看变量或函数是否存在 |
find | 找出向量或矩阵中非零元素的位置标识 |
isempty | 判断矩阵是否为空矩阵 |
isequal | 判断几个对象是否相等 |
isnumeric | 判断对象是否为数值型 |
例2:向量a=[1 3 5] ,矩阵A=[1 2 3 ;0 4 5] ,求B1=all(a)
B3=all(A,2)
例3:向量a=[0 3 0] ,矩阵A=[1 0 3;0 0 5] ,求B1=any(a)
B3=any(A,2)
例 4:矩阵A=[1 0 3;0 0 5] ,求k=find(A)
例5:矩阵A=[0.34
例6:矩阵A=[0.34
2.3.5 MATLAB特殊运算符
MATLAB特殊运算
符号 | 功能说明 |
: | 冒号,在MATLAB中非常重要 |
; | 分号,用于分隔行 |
, | 逗号,用于分隔列 |
( ) | 圆括号,指出在算术表达式中先后次序 |
[ ] | 方括号,用于构成向量和矩阵 |
{ } | 大括号,用于构成单元数组 |
. | 小数点或域访问符 |
.. | 父目录 |
… | 用于语句行尾端表示该行未完 |
% | 用于注释 |
! | 用于调用操作系统命令 |
= | 用于赋值 |
经常使用的MATLAB特殊运算符,功能说明如下:
(1)冒号(:)
①使用冒号可以输入行向量,其格式为:x = a : inc : b 。
a 是数组的第一个元素,inc是步长(两个元素的间隔),步长可正可负; a、inc、b三者之间用冒号分隔;当inc=1时可以省略。
【例2-1】在MATLAB命令窗口输入指令并回车(以下举例同此)。
(1)a= 10:5:30(2)a= 10:-1:0(3)a= 10:15
②使用冒号能够从向量、矩阵和数组中选出指定元素、行和列。
【例2-2】使用冒号选出指定元素。
A =
A= [1 2 3;4 5 6;7 8 9 ];
A(1:2,3)
③使用冒号能够从一个大矩阵中选取小矩阵。
【例2-3】使用冒号选取小矩阵示例。
A =
A= [ 1 2 3;4 5 6;7 8 9 ];
B= A(2:3,:)
(2)方括号([ ])
方括号可以输入矩阵,也可用方括号删除矩阵的行和列,此时方括号[ ]代表空阵。
【例2-4】用方括号删除矩阵的行和列。
A= magic(4);A
A(:,3)=[ ];
A
2.3.6数组函数
函数名 | 功能 | 函数名 | 功能 |
exp | 指数 | angle | 复数的相角 |
log | 自然指数 | conj | 复数的共轭 |
log10 | 常用对数 | imag | 复数的虚部 |
sqrt | 平方根 | real | 复数的实部 |
abs | 绝对值(复数的模) | sign | 符号函数 |
2.3.7矩阵函数
1、矩阵生成函数
(4)diag (
(5)triu (
(6)tril (
(7)size (
eye(
eye(
2.4
M文件可以在程序编译器、文本编译器中编写,都以‘.m’为扩展名存储。MTALAB语言中的m文件可以分为命令文件和函数文件两种。
2.4.1 命令文件
命令文件比函数文件简单,没有输入参数和输出参数,只是命令行的组合。
例 :分别绘制花瓣图案:
2.4.2 函数文件
用来定义一个函数,必须指出函数名、输入输出参数,并有MTALAB语句序列的操作与处理,从而生成所需要的数据。
函数文件格式包括:
(1) 函数定义行:定义函数名、输入输出参数。
(2) 帮助信息第一行:反映该m文件概括性的信息
(3) 帮助正文:从第二行到非注释行之间的注释为帮助正文
(4) 函数体:所有计算过程和输入输出参数的MTALAB代码
(5) 注释:以%开头
例:定义一个名为f.m的函数文件,并调用该函数。(object1.m)
2.4.3
1、
2、
2.5
2.5.1
依次执行程序各条语句。(2.5.1.m)
2.5.2
1、
[一般形式]
Else
‘假’
end
elseif
‘2真’执行
elseif
‘3真’执行
Else
‘假’
end
例 (2.5.2.1m,a1.m)
2、开关语句(为了解决多分支判断)switch—case—end
[一般形式]
例(f0233.m)
2.5.3
1、
适用于已知循环次数,不知道循环运算目标的问题
[调用形式]
例(2.5.3.1.m)生成一个4行5列的矩阵
2、
以条件满足与否来判断循环是否结束
适用于已知循环运算目标,不知道循环次数的问题
[一般形式]
例
3、 循环语句的终止
在while 循环语句中,必须有修改循环控制变量的命令,否则该循环陷入死循环,除非循环语句中有退出循环控制命令(如break语句)。