Matlab快速入门12:运算符的优先级、不同数组大小的运算兼容性

2023-05-28 0 508

1.先看两个难题

Matlab中程式设计计算:1>=1+1

结果是甚么,2吗?却是0

2.基本概念

Matlab中,能任一女团采用微积分操作符、亲密关系操作符和方法论操作符等逐步形成的函数展开演算,Matlab展开演算处置的次序依赖于每一操作符的错误率;

Matlab中操作符的错误率是指,当多种相同操作符女团采用时,优先选择演算的次序,操作符错误率越高,将优先选择演算;

假如数个操作符具备完全相同的错误率(比如乘法和乘法),所以依照表达式右面展开演算处置;

3.错误率次序

Matlab操作符的错误率规则,从高到低排序如下:

1)括号 ()

2)转置 (.), (.^), 复共轭转置 (), 矩阵的幂(^)

3)一元减的幂(.^-),一元加的幂(.^+),方法论非的幂(.^~) 一元减的矩阵的幂(^-), 一元加的矩阵的幂(^+),方法论非的矩阵的幂 (^~).

4)一元加(+),一元减(-),方法论非(~)

5)乘法(.*),右除(./),左除(.\),矩阵的乘法(*),矩阵的右除(/),矩阵的左除 (\)

6)乘法 (+), 乘法(-)

7)冒号(:)

8)亲密关系操作符(<),(<=),(>), (>=), (==), (~=)

9)方法论与(&)

10)方法论或(|)

11)短路方法论与(&&)

12)短路方法论或 (||)

4.程序示例

1>=1+1 %四则演算高于方法论演算

(1>=1)+1

1:2+3 %乘法高于冒号

(1:2)+3

1|1&0 %与优先选择于或

(1|1)&0

Matlab快速入门12:运算符的优先级、不同数组大小的运算兼容性图文无关

5.基本演算中字符串大小不一的相容性

这里相容性是指,两个大小不一相同的字符串是否能够展开演算,这里的相容性演算主要指字符串的四则演算;

我们知道,两个完全完全相同大小不一的字符串能演算;若演算数其中之一是标量的两个大小不一相同的字符串可以演算;若两个是行向量,两个是列向量,能演算;若两个是矩阵,两个是具备完全相同行数的列向量,能演算;若两个是矩阵,两个是具备完全相同列数的行向量,能演算;若两个是矩阵,两个是具备完全相同行数和列数的三维字符串,能演算;

说明,以上是针对2016以及更高版本的情况;

6.程序示例

a=[1 2;3 4]

b=[1 2]

c=[3;4]

a+a

a+2 %矩阵与标量演算:将标量扩展为前面矩阵的相容性大小不一,再遵循字符串四则运算

a.*2

a*2

b+c %先扩展为相容性大小不一:b复制行、c复制列再演算

a+b

a+c

a.*b

a.*c

% a*b %无法展开相容性演算

a*c %并非相容性演算,而是前面行等于后面列

d=cat(3,a,a) %构建三维字符串

a+d %相同维度的字符串也可相容性演算

a.*d %可相容性演算

End

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务