MATLAB - 运算符
1.关系运算符用来比较两个数之间的大小关系,在Matlab中的关系运算符包括:
- < 小于
- <= 小于或等于
- > 大于
- >= 大于或等于
- == 等于
- ~= 不等于
A = [1 2 3 ; 4 5 6 ; 7 8 9];
B = [11 12 13 ; 14 15 16 ; 17 18 19];
C = A == B
2.基本逻辑运算符为:&(与), ︱(或), ~(非)。
逻辑运算的规则如下:
参与逻辑运算的是两个同维数矩阵;或者一个是矩阵,另一个是标量;
若参与运算的是两个矩阵,逻辑运算是将两个矩阵对应元素逐一进行逻辑运算,逻辑运算的结果是一个同维数矩阵,其元素值为“0”或“1” 。
若参与运算的一个是矩阵,另一个是标量,则是矩阵中每个元素与该标量进行逻辑运算,最终产生一个同维数矩阵,其元素值为“0”或“1”
3.算数运算符
| 运算符 | 运算法则 | 运算符 | 运算法则 |
|---|---|---|---|
| A+B | A与B相加 | A-B | A与B相减 |
| A*B | A与B相乘 | A.*B | A与B相应元素相乘(A、B为同纬度的矩阵) |
| A/B | A与B相除(A、B为数值或矩阵) | A./B | A与B相应元素相除(A、B为同纬度的矩阵) |
| A^B | A的B次幂(A、B为数值或矩阵) | A.^B | A的每个元素的B次幂(A、B为同纬度的矩阵) |
4. 运算符的优先级
算数运算符 > 关系运算符 > 逻辑运算符
------------------------------------------------
MATLAB语言运算符
编程语言运算符主要为算术运算符、关系运算符和逻辑运算符,还包括一些特殊运算符。下面介绍MATLAB语言的各种运算符。
1.算术运算符
MATLAB算术运算符分为两类:矩阵运算和数组运算。矩阵运算是按线性代数的规则进行运算,而数运算是数组对应元素间的运算。算术运算符及相关运算方式、说明见下表:
|
运算符 |
运算方式 |
说明 |
运算符 |
运算方式 |
说明 |
|
+,- |
矩阵运算 |
加、减 |
+,- |
数组运算 |
加、减 |
|
*,/ |
矩阵运算 |
乘、除 |
.* |
数组运算 |
数组乘 |
|
\ |
矩阵运算 |
左除,左边为除数 |
./ |
数组运算 |
数组左除 |
|
^ |
矩阵运算 |
乘方 |
.\ |
数组运算 |
数组右除 |
|
’ |
矩阵运算 |
转置 |
.^ |
数组运算 |
数组乘方 |
|
: |
矩阵运算 |
索引,用于增量操作 |
.’ |
数组运算 |
数组转置 |
MATLAB数组的算术运算,是两个同维数组对应元素之间的运算。一个标量与数组的运算,是标量与数组每个元素之间的运算。
2.关系运算
关系运算用于比较两个同维数组或同维向量的对应元素,结果为一个同维的逻辑数组。关系运算符及说明见下表:
|
关系运算符 |
说明 |
|
< |
小于 |
|
<= |
小于等于 |
|
> |
大于 |
|
>= |
大于等于 |
|
== |
等于 |
|
~= |
不等于 |
3.逻辑运算
MATLAB提供了两种类型的逻辑运算:一般逻辑运算和捷径运算,见下表:
|
运算类型 |
运算符与函数 |
说明 |
|
一般逻辑运算 |
&(and) |
逻辑与 |
|
|(or) |
逻辑或 |
|
|
~(not) |
逻辑非 |
|
|
xor |
逻辑异或 |
|
|
捷径运算 |
&& |
支标量值的捷径与 |
|
|| |
对标量值的捷径或 |
捷径运算符只对标量值执行逻辑与和逻辑或运算。捷径运算首先判断第一个运算对象,如果可以知道结果,直接返回,而不继续判断第二个运算对象。捷径运算提高了程序运算效率,可以避免一些不必要的错误。例如:
>>x=b&&(a/b>10) %相当于x=(b&&(a/b>10))
如果b=0,捷径运算符不会计算(a/b>10)的值了,也就避免了被0除的错误。
4.特殊运算符
除了以上运算符,MATLAB还经常使用一些特殊的运算符,见下表:
|
运算符 |
说明 |
运算符 |
说明 |
|
[ ] |
生成向量和矩阵 |
… |
续行符 |
|
{ } |
给单元数组赋值 |
, |
分隔矩阵下标和函数参数 |
|
( ) |
在算术运算中优先计算;封装函数参数;封装向量或矩阵下表 |
; |
在括号内结束行;禁止表达式显示结果;隔开声明 |
|
= |
用于赋值语句 |
: |
创建矢量、数组下标;循环迭代 |
|
’ |
两个’之间的字符为字符串 |
% |
注释;格式转换定义中的初始化字符 |
|
. |
域访问 |
@ |
函数句柄,类似于C语言中的取址运算 |
MATLAB - 运算符的更多相关文章
- MATLAB入门笔记
% MATLAB:MATLAB 为 Matrix Laboratory ,用来处理矩阵可编程可实现算法逻辑的计算工具% % eg:1 绘制正弦和余弦曲线x=[0:0.1:4*pi]; %建立角度向量p ...
- MATLAB关系运算符和逻辑运算符
1 关系运算符 关系运算符用来比较两个数之间的大小关系,在Matlab中的关系运算符包括: < 小于 <= 小于或等于 > 大于 >= 大于或等于 = ...
- MATLAB算术运算符和常用函数
1 算术运算符 Matlab中的算术运算符按优先级由高到低为: (1) ^ 幂 (2) * 乘 / 右除(正常除) ...
- MATLAB 的运算符
在MATLAB中,提供了丰富的运算符,运算主要包括算数运算.关系运算和逻辑运算. 一.算数运算符 分为标量和数组运算和矩阵运算.需要注意:对于a/b,是a除以b,对于a\b,是b除以a.在MATLAB ...
- matlab学习笔记10_3关系运算符和逻辑运算符
一起来学matlab-matlab学习笔记10 10_3关系运算符和逻辑运算符 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰 ...
- matlab学习笔记10 一般运算符
一起来学matlab-matlab学习笔记10 10_1一般运算符 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等著 感谢张 ...
- 【Matlab】运算符使用整理 * .* / \ .'
[基本运算符] * :矩阵乘法or数与数相乘 .*:点乘,用于矩阵间对应元素的相乘,或数与数之间,数与矩阵之间的相乘. / :右除.a/b表示矩阵a乘以矩阵b的逆 \ :左除.a\b表示矩阵a的逆乘以 ...
- MATLAB中运算符优先级
下述运算符的优先级从低到高: 1.先决或(||): 2.先决与(&&): 3.逻辑或(|): 4.逻辑与(&): 5.等于类(<,<=,>,>=,==, ...
- MATLAB矩阵操作和算术运算符
矩阵的表示 矩阵之间用空格或者是逗号间隔 矩阵可以拼接(可以用矩阵拼接) 实部矩阵和虚部矩阵构成复数矩阵,一一对应. 冒号表达式: 格式: e1:e2:e3 e1表示初始值 e2表示步长 e ...
随机推荐
- kuangbin_SegTree B (HDU 1754)
跟A题类似 只是把update从增减直接改为赋值 query从求和改为求最大值 其他几乎一样 #include <cstdio> #include <cstring> #inc ...
- js中的this指针(二)
在 js 中声明并定义一个函数后,除了定义时传入的形式参数,函数还会接收到 2 个附加的参数:this 和 arguments. this 指针的值取决于调用时的模式. 当这个函数被保存为对象的一个属 ...
- vb6 调用 64位应用程序
Option Explicit Private Declare Function LoadLibrary Lib "kernel32.dll" Alias "LoadLi ...
- Sea.js学习1——初识Sea.js
Sea.js 是一个成熟的开源项目,核心目标是给前端开发提供简单.极致的模块化开发体验. 使用 Sea.js,在书写文件时,需要遵守 CMD (Common Module Definition)模块定 ...
- 代码中特殊的注释技术——TODO、FIXME和XXX的用处
前言:今天在阅读Qt Creator的源代码时,发现一些注释中有FIXME英文单词,用英文词典居然查不到其意义!实际上,在阅读一些开源代码时,我们常会碰到诸如:TODO.FIXME和XXX的单词,它 ...
- 用java语言实现事件委托模式
http://blog.csdn.net/yanshujun/article/details/6494447 用java语言实现事件委托模式 2010-04-27 00:04 2206人阅读 评论(1 ...
- 使用springMVC实现文件上传和下载之文件下载
接上一篇,文件下载需要获取下载文件的存储路径,这里只是手动填入,如果是在具体项目中,可以把文件名和上传后的存储路径保存在数据库中.然后增加一个文件列表的页面展示文件名和文件路径,然后点击下载的时候把相 ...
- 源码阅读笔记 - 1 MSVC2015中的std::sort
大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格 ...
- haproxy+keepalived实现高可用负载均衡
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...
- Java集合---LinkedList源码解析
一.源码解析1. LinkedList类定义2.LinkedList数据结构原理3.私有属性4.构造方法5.元素添加add()及原理6.删除数据remove()7.数据获取get()8.数据复制clo ...