在MATLAB中,提供了丰富的运算符,运算主要包括算数运算、关系运算和逻辑运算。

一、算数运算符

分为标量和数组运算和矩阵运算。需要注意:对于a/b,是a除以b,对于a\b,是b除以a。在MATLAB中,采用符号^表示乘方运算,采用 log2()计算对数。

例子:

>> a=;
>> b=;
>> c1=a*b %乘法
c1 = ------------------------------------------
>> c1=a/b %右除法
c1 =
1.3333
------------------------------------------
>> c3=a\b %左除法
c3 =
0.7500
------------------------------------------
>> c4=^ %乘方
c4 = ------------------------------------------
>> c5=log2(c4) %对数 c5 =

二、关系运算符(返回值是逻辑型logical)

例子:

>> a=randn(,)      %randn()产生由随机数组成的矩阵
a =
-0.2050 1.4090 -1.2075 0.4889 -0.3034
-0.1241 1.4172 0.7172 1.0347 0.2939
1.4897 0.6715 1.6302 0.7269 -0.7873
------------------------------------------
>> b1=a>=0.3 %大于等于
b1 =
× logical 数组 0
------------------------------------------
>> b2=lt(a,0.7) %小于
b2 =
× logical 数组 ------------------------------------------
>> b2=b1~=b2 %不等于
b2 =
× logical 数组

另,对于浮点数的比较,因为浮点数在存储时存在相对误差。在程序中,最好不要直接比较两个浮点数是否相等,而是通过两个浮点数的差是否小于某个特别小的数来判断是否相等。

例子:比较两个浮点数是否相等。

>> format long;   %改变数据显示的位数
>> a=3.1415926
a =
3.141592600000000
----------------------------------------------------------------
>> c1=a==pi %直接进行比较,采用关系运算符“==”,则两个浮点数不相等
c1 =
logical ----------------------------------------------------------------
>> c2=abs(a-pi)<1e- %比较差值是否小于 1e-5,是则相等
c2 =
logical

三、逻辑运算符

MATLAB的逻辑运算分为三类,分别是:逐个元素的逻辑运算、快速逻辑运算、逐位逻辑运算。

(一)逐个元素的逻辑运算

运算符 函数 说明
& and 逻辑与(单目)
| or 逻辑或(单目)
~ not 逻辑非(双目)
xor 逻辑异或

(二)快速逻辑运算

 运算符 说明
&& 快速逻辑与,当第一个操作数为假时,直接返回假,否则与 & 相同
|| 快速逻辑或,当第一个操作数为真时,直接返回真,否则与 | 相同

(三)逐位逻辑运算

函数 函数说明
bitand(a,b) 逐位逻辑与
bitor(a,b) 逐位逻辑或
bitcmp(a,b) 逐位逻辑非
bitxor(a,b) 逐位逻辑异或

四、运算符的优先级

picture via :blog.sina.com.cn/xywatersky

MATLAB 的运算符的更多相关文章

  1. MATLAB关系运算符和逻辑运算符

    1 关系运算符 关系运算符用来比较两个数之间的大小关系,在Matlab中的关系运算符包括: <  小于 <= 小于或等于 >        大于 >=      大于或等于 = ...

  2. MATLAB算术运算符和常用函数

    1 算术运算符 Matlab中的算术运算符按优先级由高到低为: (1) ^           幂 (2) *            乘      /            右除(正常除)       ...

  3. 【Matlab】运算符使用整理 * .* / \ .'

    [基本运算符] * :矩阵乘法or数与数相乘 .*:点乘,用于矩阵间对应元素的相乘,或数与数之间,数与矩阵之间的相乘. / :右除.a/b表示矩阵a乘以矩阵b的逆 \ :左除.a\b表示矩阵a的逆乘以 ...

  4. MATLAB中运算符优先级

    下述运算符的优先级从低到高: 1.先决或(||): 2.先决与(&&): 3.逻辑或(|): 4.逻辑与(&): 5.等于类(<,<=,>,>=,==, ...

  5. MATLAB - 运算符

    1.关系运算符用来比较两个数之间的大小关系,在Matlab中的关系运算符包括: <  小于 <= 小于或等于 >        大于 >=      大于或等于 ==     ...

  6. Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(二)

    如果我有一个用C语言写的函数,实现了一个功能,如一个简单的函数: double add(double x, double y) { return x + y; } 现在我想要在Matlab中使用它,比 ...

  7. [置顶] [MATLAB技术贴]漫谈MATLAB矩阵转置

    矩阵转置是matlab最基本的操作了,但这个基本操作,也是很多初学者容易出现问题的地方.本帖通过几个实例演示matlab矩阵转置的操作. 方法一:'  运算符与  .'  运算符 >>a ...

  8. 编写 Matlab mexFunction (C mex)

    资料一 MATLAB的MEX文件编写和调试 1. MEX的编写格式 写MEX程序其实就是写一个DLL程序,所以你可以使用C,C++,Fortran等多种编程语言来写. 编写MEX程序的编辑器可以使用M ...

  9. Matlab以MEX方式调用C源代码【转载】

    原文地址:http://blog.sina.com.cn/s/blog_468651400100coas.html 这是自己整理的一个对应的文档:<Matlab以MEX方式调用C源代码> ...

随机推荐

  1. firefox中outlook.com页面卡顿的原因

    在火狐中使用outlook.com时,鼠标点击动作后,页面会卡顿一段时间,每次点击都是如此. 因为之前火狐出现由于硬件加速导致页面卡顿的情况,因此第一反应就是关闭硬件加速. 果然,关闭硬件加速后,页面 ...

  2. LightOJ 1012.Guilty Prince-DFS

    Guilty Prince  Time Limit: 2 second(s) Memory Limit: 32 MB Once there was a king named Akbar. He had ...

  3. 【推广】实用命令——tldr

    碎碎念 如题,通常遇到一个新的命令需要查询其帮助的时候,一般使用`command -h`或者`man command`来查询,但是,有时候仅仅想知道这个命令怎么用,并不想知道具体含义啊(这个命令可能不 ...

  4. POJ 2311 Cutting Game (Multi-Nim)

    [题目链接] http://poj.org/problem?id=2311 [题目大意] 给出一张n*m的纸,每次可以在一张纸上面切一刀将其分为两半 谁先切出1*1的小纸片谁就赢了, [题解] 如果切 ...

  5. [CF414E]Mashmokh's Designed Problem

    题意:给一棵树,有三个操作:①询问两点$(x,y)$之间的距离②把$x$和原来的父亲断开并连到它的$h$级祖先,作为新父亲最右的儿子③询问与根节点距离为$k$的点中最右的点是哪个点 用出栈入栈序$s_ ...

  6. 【后缀数组】bzoj2217 Secretary

    考虑简化问题:计算一个字符串中至少出现两次的最长子串.答案一定会在sa中相邻两个后缀的lcp中.因为后缀的位置在sa中相距越远,其lcp的长度就越短,这是由于字典序的性质决定的. 于是,在s1和s2中 ...

  7. 【树状数组】bzoj2743 [HEOI2012]采花

    http://www.cnblogs.com/proverbs/archive/2012/10/29/2745281.html (↑)这样处理之后,每次询问时,对于每种颜色,从1到其倒数第二次出现的位 ...

  8. iOS开发——使用Autolayout弹出键盘

    参考: http://segmentfault.com/q/1010000002420050 http://blog.csdn.net/qq448631961/article/details/4034 ...

  9. PHP empty()函数:Can't use method return value in write context

    <?php if (!empty (get_gpc('userId'))) { $userId = get_gpc('userId'); } else { $error = "ID d ...

  10. 使用原生JS进行字符串转对象

    字符串转对象 目的 工作中如果需要原生 JS 完成字符转对象的话可以通过 JSON.parse(str), 但是这个方法是ES5中才出现, 如果需要兼容低版本就需要其它方法 使用原生 JS 解决字符串 ...