前言
本来月初打算接着写的,但是电脑不小心进水,主板什么的都废了,周末才找时间拿去修好,心塞,就不多讲太多废话了,开始分享今天的内容,对MATLAB的运算符和基本运算做个介绍,然后再对标点符号进行功能说明。
运算符基本上和其他语言一样,包含了算术运算、逻辑运算和关系运算,运算符及其说明如下表所示。
| 运算符 | 形式 | 说明 |
| 算术运算符 | + | 加法 |
| - | 减法 | |
| * | 矩阵乘法 | |
| .* | 数组乘法 | |
| ^ | 矩阵乘方 | |
| .^ | 数组乘方 | |
| \ | 矩阵右除 | |
| / | 矩阵左除 | |
| .\ | 数组右除 | |
| ./ | 数组左除 | |
| 逻辑运算符 | & | 逻辑与 |
| | | 逻辑或 | |
| ~ | 逻辑非 | |
| 关系运算符 | == | 等于 |
| ~= | 不等于 | |
| < | 小于 | |
| > | 大于 | |
| <= | 小于等于 | |
| >= | 大于等于 |
算术运算符
算术运算符
在算术运算符中,会发现有矩阵运算和数组运算,也就是一个没点,一个有点,我更习惯叫数组运算为,点乘、点除等等,不过这不是重点,重要的是弄清楚这两个的区别:直接用代码来解释:
代码:a=eye(2),b=ones(2),c=a*b,d=a.*b
结果:

对代码做下解释,使用eye函数产生一个2维的单位对角矩阵,使用ones产生一个2维的全1矩阵,直接看结果也可以猜出两者的作用,然后分别使用“*”和“.*”,各自对应c和d,从结果可以分析出来,矩阵运算也就是不带点的运算就是按照矩阵的运算规则进行运算,而数组运算则是位置对应的元素进行运算,前提当然是参与运算的矩阵维度需要一致了,不然要报矩阵维度不一致的错误。
关系运算符
关系运算符就更好理解了,直接用来对两个变量进行比较,这变量可以是数值、数组和矩阵,也可以是不同类型的两个数据,有一个比较重要的就是,矩阵之间的比较是指维度相同的情况下,然后返回相同维度的比较结果,还有一个要注意的就是矩阵可以和标量比较,会返回只含0或1的数值或矩阵,1和0分别代表逻辑真假,也就是比较的两者是否相同,上代码看看效果。
代码:a=reshape(1:9,3,3),b=magic(3)
结果:

代码说明:本处的a就是使用reshape将一个1到9的行向量转换成一个3*3的矩阵,b就是使用magic产生一个三维的幻方矩阵。
然后使用两次不同的关系运算符来观察下结果:

逻辑运算符
逻辑运算符的理解就更简单了,学过其他编程语言的应该都比较清楚,我就直接来几个常用的运算及其结果,具体就不多说了。
逻辑与(&):1&1=1,1&0=0,0&0=0;总结就是全1为1,有0则0;
逻辑或(|):1&1=1,1&0=1,0&0=0;总结就是有1为1,全0为0;
逻辑非(~):~1=0,~0=1;这个和取反相同的意思。
对于关系运算和逻辑运算还有相关的函数,具体如下表,根据所需自行使用。
| 函数分类 | 函数名 | 说明 |
| 关系操作函数 | eq(A,B) | 等于 |
| ne(A,B) | 不等于 | |
| lt(A.B) | 小于 | |
| gt(A,B) | 大于 | |
| le(A,B) | 小于等于 | |
| ge(A,B) | 大于等于 | |
| 逻辑运算函数 | and(A,B) | 逻辑与 |
| or(A,B) | 逻辑或 | |
| not(A,B) | 逻辑非 | |
| xor(A,B) | 逻辑异或 | |
| any(A) | 向量A中有非零元素时返回1 | |
| all(A) | 向量A中有非零元素时返回1 |
在编程时,若遇到多个运算符共存于一个运算式时,要注意运算符是有优先级的,最高级别的是算术运算符,其次是关系运算符,最后才是逻辑运算符,不过我一般不记忆这些,都是直接使用括号“( )”来改变运算顺序,感觉代码会易读一些,所以就不对各个优先级再多述了。
再对MATLAB的标点符号的作用做下介绍,直接看画的表吧,方便记忆。
| 名称 | 符号 | 功能 |
| 空格 |
| 变量之间或者数组行元素之间的分隔符 |
| 逗号 | , | 用于要显示计算结果的命令之间的分隔符; |
| 点号 | . | 数值中的小数点 |
| 分号 | ; | 控制对应的命令所在行的计算结果不显示; |
| 冒号 | : | 用于生成数值数组; |
| 百分号 | % | 用于注释 |
| 单引号 | ‘ | 用于包含字符串 |
| 圆括号 | ( ) | 用于引用数组元素; |
| 方括号 | [ ] | 用于构成向量和矩阵; |
| 花括号 | { } | 用于构成元胞数组 |
| 下划线 | _ | 长名称的变量命名时可以用上 |
| 续行号 | … | 用于把后面行与该行连接以构成一个较长的命令 |
| 艾特符号 | @ | 放在函数名前,形成函数句柄; |
表中的这些符号,我觉得冒号比较有趣,我跑几个代码看看结果,希望你们能够感受其魅力~
1、A=1:6

2、B=1.1:7.7

3、C=7:1

4、D=1:3:11

5、E=[1 2 3;4 5 6]

6、F=E(1,:)

7、G=E(:,1)

8、H=E(3:6)

9、A=[1 2 3;4 5 6;7 8 9],I=A(:,1:2)

可于此处下载相关表单文件

本文详细介绍了MATLAB中的各种运算符,包括算术运算、逻辑运算和关系运算,以及数组和矩阵运算的区别。同时,文章还对MATLAB中的标点符号功能进行了全面解析,帮助读者更好地理解和使用MATLAB。
2356

被折叠的 条评论
为什么被折叠?



