Matlab自学笔记十二:运算符的优先级、不同数组大小的运算兼容性

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

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  %可兼容性运算

相关文章

Matlab自学笔记十一:关系运算、运算符、复数、空矩阵的关系运算、查找矩阵中的特定元素

Matlab自学笔记十:逻辑运算、逻辑变量的创建、应用、真值表、常用函数、程序示例

Matlab自学笔记九:算术运算、数组运算、矩阵运算、运算符、常用函数、程序示例

相关视频

Matlab基础入门1.3 调用函数

End

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

freexyn

码字不易,谢谢鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值