189 8069 5689

MATLAB编程与应用系列-第3章矩阵运算(3)-创新互联

###3.1.8 矩阵和数组运算比较
在进行矩阵和数组运算的时候,要认识到矩阵和数组类似运算的区别,两种运算指令形式和实质内涵的异同见表3.3。其中S为标量,A、B为矩阵。
表3.3 矩阵和数组运算对比表
数组运算 矩阵运算
命令含义命令含义
A+B对应元素相加A+B与数组运算相同
A-B对应元素相减A-B与数组运算相同
S.*B标量S分别与B元素的积S*B与数组运算相同
A.*B数组对应元素相乘A*B内维相同矩阵的乘积
S./BS分别被B的元素左除S\BB矩阵分别左除S
A./BA的元素被B的对应元素除A/B矩阵A右除B即A的逆阵与B相乘
B.\A结果一定与上行相同B\AA左除B(一般与上行不同)
A.^SA的每个元素自乘S次A^SA矩阵为方阵时,自乘S次
A.^SS为小数时,对A各元素分别求非整数幂,得出矩阵A^SS为小数时,方阵A的非整数乘方
S.^B分别以B的元素为指数求幂值S^BB为方阵时,标量S的矩阵乘方
A.’非共轭转置,相当于conj(A’)A’共轭转置
exp(A)以自然数e为底,分别以A的元素为指数求幂expm(A)A的矩阵指数函数
log(A)对A的各元素求对数logm(A)A的矩阵对数函数
sqrt(A)对A的各元素求平方根 sqrtm(A)A的矩阵平方根函数
f(A)求A各个元素的函数值funm(A,’FUN’)矩阵的函数运算

注意:(1)funm(A,’FUN’)要求A必须是方阵,“FUN”为矩阵运算的函数名。
(2)在执行数组与数组之间的运算的时候,参与运算的数组必须同维,运算所得的结果数组也总与原数组同维。

创新互联专注于企业营销型网站建设、网站重做改版、寻甸网站定制设计、自适应品牌网站建设、HTML5商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为寻甸等各大城市提供网站开发制作服务。

###3.1.9 关系操作和逻辑操作
在使用MATLAB语言进行程序设计时,经常会涉及到程序流程的控制,此时需要对一些问题作出一些判断,为此MATLAB提供了关系操作、逻辑计算以及一些相关的运算函数。

(1)关系运算
关系操作符有:<(小于关系)、<=(小于或等于关系)、>(大于关系)、>=(大于或等于关系)、= =(等于关系)、~=(不等于关系)。

关系运算规则为:

  • 若两个变量都是标量,则结果为真(1)或假(0);
  • 若两个变量都是数组,则必须大小相同,结果也是同样大小的数组,数组的元素为0或1;
  • 若一个数组和一个标量,则把数组的每个元素分别与标量比较,结果为与数组大小相同的数组,数组的元素为0或1。
  • 其中<、<=和>、>=,仅对参加比较变量的实部进行比较,而= =和~=,则同时对实部和虚部进行比较。

【例3.20】关系运算
在命令窗口中输入以下内容,生成矩阵A和矩阵B:
>> A=[1 2 3 4 5;5 3 4 8 5;6 8 7 6 9;2 6 8 2 1;2 7 9 3 9];
>> B=[5 3 4 8 5;6 8 7 6 9;2 6 8 2 1;2 7 9 3 9;4 5 6 7 8];
①判断矩阵A、B对应的元素是否相同,并将结果返回给矩阵C1。在命令窗口中输入:
>> C1=A==B %A、B矩阵对应元素相等的返回1,否则返回0
②判断矩阵A的元素是否大于等于矩阵B对应的元素,并将结果返回给矩阵C2。在命令窗口中输入:
>> C2=A>=B %A、B矩阵对应元素A大于等于B的返回1,否则返回0
③判断矩阵A、B对应的元素是否不相同,并将结果返回给矩阵C3。在命令窗口中输入:
>> C3=A~=B %A、B矩阵对应元素相等的返回0,否则返回1

(2) 逻辑运算
逻辑操作符有:&(与)、|(或)、~(非)和xor(异或)。在逻辑运算中,非0元素表示真(1),0元素表示假(0),逻辑运算的结果为0或1,逻辑运算法则具体见表3.5所示。

表3.5 逻辑运算

a b a&b a or b ~a xor(a,b)
000010
010111
100101
111100

逻辑操作的需要满足以下运算规则:

  • 若两个变量都是标量,则结果为0、1的标量;
  • 若两个变量都是数组,则必须大小相同,结果也是同样大小的数组;
  • 若是一个数组和一个标量进行逻辑运算,则把数组的每个元素分别与标量比较,结果为与数组大小相同的数组。

除了上面的逻辑操作符外,MATLAB还提供了&&(先决与)逻辑运算符和||(先决或)逻辑运算符。

&&(先决与)逻辑运算符是当该运算符的左边为1(真)时,继续执行该运算符右边的运算,并执行与逻辑运算;否则,不再执行该运算符右边的运算,并立即给出运算的结果为0(假)。

||(先决或)逻辑运算符是当该运算符的左边为1(真)时,就不需要继续执行该符号右边的运算,并立即得出该逻辑运算结果为1(真);否则,就要继续执行该符号右边的运算,并执行或逻辑运算。

【例3.21】逻辑运算
在命令窗口中输入以下内容,生成矩阵A和矩阵B:
>> A=[1 2 3 4 5;5 3 4 8 5;6 8 7 6 9;2 6 8 2 1;2 7 9 3 9];
>> B=[5 3 4 8 5;6 8 7 6 9;2 6 8 2 1;2 7 9 3 9;4 5 6 7 8];
①若计算A和B之间逻辑与的值,并将结果返回给矩阵C1。在命令窗口中输入:
>> C1=A&B %计算A和B之间逻辑与的值
②若计算A和B之间逻辑或的值,并将结果返回给矩阵C2。在命令窗口中输入:
>> C2=A|B %计算A和B之间逻辑或的值
③若计算A的逻辑非,并将结果返回给矩阵C3。在命令窗口中输入:
>> C3=~A %计算A的逻辑非
④若计算A和B之间逻辑异或,并将结果返回给矩阵C4。在命令窗口中输入:
>> C4=xor(A,B) %计算A和B之间逻辑异或

【例3.22】先决逻辑运算
在命令窗口中输入以下变量a、b和c:
>> a=0;
>> b=5;
>> c=10;
①进行先决与操作,在命令窗口中输入以下内容:
>> (a~=0)&&(b<c)
运算结果如下:
ans =
0

②进行先决与操作,在命令窗口中输入以下内容:
>> (a~=0)||(b<c)
运算结果如下:
ans =
1

(3)逻辑函数运算

MATLAB中提供的一些函数返回的结果为真(1)和假(0),这样的函数包括关系逻辑函数、工作状态判断函数、特殊数据判断函数和数据类型函数。表3.6所示为关系逻辑函数以及对应的功能描述。

表3.6 关系逻辑函数

函数名 功能 函数名 功能
all(A)判断A的列向量元素是否全非0,全非0则为1isnan(A)判断A的各元素值是否为NAN,是则为1
any(A)判断A的列向量元素中是否有非0元素,有则为1isnumeric(A)判断数组A的元素是否全为数值型数组
isequal(A,B)判断A、B对应元素是否全相等,相等为1isreal(A)判断数组A的元素是否全为实数,是则为1
isempty(A)判断A是否为空矩阵,为空则为1,否则为0isprime(A)判断A的各元素值是否为质数,是则为1
isfinite(A)判断A的各元素值是否有限,是则为1isspace(A)判断A的各元素值是否为空格,是则为1
isinf(A)判断A的各元素值是否无穷大,是则为1find(A)寻找A数组非0元素的下标和值

(4)运算符优先级

MATLAB提供了多种运算符号,各种运算符执行的先后顺序是根据其所具有的优先级来决定的。下面列出了各种运算符的优先级顺序,由上至下优先级递减,每行的优先级相同:

a) 括号()
b) '(矩阵转置)、^ (矩阵幂)和.'(数组转置)、.^(数组幂)
c) ~(逻辑非)、代数正+、代数负-
d) (乘)、/(左除)、(右除)和.(点乘)、./(点左除)、.(点右除)
e) +、-(加减)
f) 冒号:
g) <、<=、>、>=、~=
h) &(逻辑与)
i) |(逻辑或)
j) &&(先决与)
k) ||(先决或)

作者:德特数据
联系方式:156204968@qq.com

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:MATLAB编程与应用系列-第3章矩阵运算(3)-创新互联
本文路径:http://jkwzsj.com/article/dodjci.html

其他资讯