Matlab算术运算符是Matlab中常用的一类运算符,它们可以用来完成各种数学计算。Matlab提供了多种不同的运算符,包括加减乘除、乘方、取余数、取商数、取最大值和最小值以及其他一些特殊的运算。
% 加法运算 a = 3 + 4; % a 的值为 7 % 减法运算 b = 5 - 2; % b 的值为 3 % 乘法运算 c = 4 * 6; % c 的值为 24 % 除法运算 d = 8 / 4; % d 的值为 2.0 (浮点数) 或者 2 (整数) 根据输入的除数而定。
此外,Matlab中还提供了一些特殊的运算,如乘方、取余数、取商数、取最大值和最小值。例如:
% 乘方运算 e = 3^2; % e 的值为 9 % 取余数 f = mod(7,3); % f 的值为 1 % 取最大/小值 g = max(3,4); % g 的值为 4 h = min(5,6); % h 的值为 5
Matlab中的扩充函数库中也包含了一些特殊的函数,如三角函数、对数函数、幂函数以及其他一些特殊函数。使用 Matlab 进行复杂计算时,我们需要根据实际情况选择合适的函数或者直接使用 Matlab 运行时支持的相应的语法来实施相应的自动化解决方案。
MATLAB的算术运算有两种不同类型:1)矩阵算术运算;2)阵列算术运算。
MATLAB矩阵算术运算与线性代数中的定义相同:执行数组操作,无论是在一维和多维数组元素的元素。
矩阵运算符和数组运营商是有区别的句点(.)符号。然而,由于加法和减法运算矩阵和阵列是相同的,操作者这两种情况下是相同的。
下表给出了运算符的简要说明:
操作符 | 描述 |
---|---|
+ | 加法或一元加号。A + B将A和B。 A和B必须具有相同的尺寸,除非是一个标量。一个标量,可以被添加到任何大小的矩阵。 |
- | 减法或一元减号。A - B,减去B从A和B必须具有相同的大小,除非是一个标量。可以从任意大小的矩阵中减去一个标量。 |
* | 矩阵乘法;是一个更精确的矩阵A和B的线性代数积, 矩阵乘法对于非纯量A和B,列一个数必须等于B.标量可以乘以一个任意大小的矩阵的行数。 |
.* | 数组的乘法;A.*B是数组A和B的元素积,A和B必须具有相同的大小,除非A、B中有一个是标量。 |
/ | 斜线或矩阵右除法;B/A与B * inv(A)大致相同。更确切地说: B/A = (A"B")" |
./ | 矩阵右除法;矩阵A与矩阵B相应元素相除(A、B为同纬度的矩阵) |
反斜杠或矩阵左除;如果A是一个方阵,AB是大致相同的INV(A)* B,除非它是以不同的方式计算。如果A是一个n*n的矩阵,B是一个n组成的列向量,或是由若干这样的列的矩阵,则X = AB 是方程 AX = B ,如果A严重缩小或者几乎为单数,则显示警告消息。 | |
. | 数组左除法;A. B是元素B(i,j)/A(i,j)的矩阵。A和B必须具有相同的大小,除非其中一个是标量。 |
^ | 矩阵的幂。X^P是X到幂P,如果p是标量;如果p是一个整数,则通过重复平方计算功率。如果整数为负数,X首先反转。对P值的计算,涉及到特征值和特征向量,即如果[ D ] = V,EIG(x),那么X^P = V * D.^P / V。 |
.^ | A.^B:A的每个元素的B次幂(A、B为同纬度的矩阵) |
" | 矩阵的转置;A"是复数矩阵A的线性代数转置,这是复共轭转置。 |
." | 数组的转置;A"是数组A的转置,对于复数矩阵,这不涉及共轭。 |
下面的例子显示使用标量数据的算术运算符。创建一个脚本文件,用下面的代码:
a = 10; b = 20; c = a + b d = a - b e = a * b f = a / b g = a b x = 7; y = 3; z = x ^ y
运行该文件,产生结果如下:
c = 30 d = -10 e = 200 f = 0.5000 g = 2 z = 343
除了上述列举的一些算术运算符,MATLAB 中还拥有以下的命令/功能:
函数 | 描述 |
---|---|
uplus(a) | 一元加号;增加量a |
plus (a,b) | 相加;返回 a + b |
uminus(a) | 一元减号;减少a |
minus(a, b) | 相减;返回 a - b |
times(a, b) | 数组相乘;返回 a.*b |
mtimes(a, b) | 矩阵相乘;返回 a* b |
rdivide(a, b) | 右阵划分;返回 a ./ b |
ldivide(a, b) | 左阵划分;返回 a. b |
mrdivide(A, B) | 求解线性方程组xA = B for x |
mldivide(A, B) | 求解线性方程组xA = B for x |
power(a, b) | 数组求幂;返回 a.^b |
mpower(a, b) | 矩阵求幂;返回 a ^ b |
cumprod(A) | 累积乘积;返回与包含累积乘积的数组A相同大小的数组。
|
cumprod(A, dim) | 沿维 dim 返回返回累积乘积。 |
cumsum(A) | 累加总和;返回包含累积和的数组A
|
cumsum(A, dim) | 返回沿着dim的元素的累积和。 |
diff(X) | 差分和近似导数;计算x相邻元素之间的差异。
|
diff(X,n) | 递归应用n次,导致第n个差异。 |
diff(X,n,dim) | 它是沿标量dim指定的维数计算的第n个差分函数。 如果order n等于或超过Dim的长度,diff将返回一个空数组。 |
prod(A) | 数组元素的乘积;返回A数组元素的乘积。
如果输入A为单个,则prod函数计算并返回B为单个;对于所有其他数字和逻辑数据类型,prod函数计算并返回B为double。 |
prod(A,dim) | 沿dim维度返回乘积。 例如,如果A是矩阵,则prod(A,2)是包含每一行的乘积的列向量。 |
prod(___,datatype) | 在数据类型指定的类中乘以并返回一个数组。 |
sum(A) |
|
sum(A,dim) | 沿标量A的维度求和。 |
sum(..., "double") sum(..., dim,"double") | 执行双精度加法,并返回double类型的答案,即使A具有数据类型单一或整型数据类型。这是整型数据类型的默认值。 |
sum(..., "native") sum(..., dim,"native") | 在本机数据类型A中执行添加,并返回相同数据类型的答案。 这是单和双的默认值。 |
ceil(A) | 向正无穷方向舍入;将a元素舍入为大于或等于A的最近整数。 |
fix(A) | 舍入为零 |
floor(A) | 向负无穷方向舍入;将a元素舍入为小于或等于a的最近整数。 |
idivide(a, b) idivide(a, b,"fix") | 整数除法的舍入选项;与A./B相同,只是分数的商向零舍入到最接近的整数。 |
idivide(a, b, "round") | 分数的商舍入到最近的整数。 |
idivide(A, B, "floor") | 分数商向负无穷大舍入到最接近的整数。 |
idivide(A, B, "ceil") | 分数商向无穷大舍入到最接近的整数。 |
mod (X,Y) | 除法后的模数;返回X - n.* Y,其中 n = floor(X./Y)。 如果Y不是整数,并且商X / Y在整数的舍入误差内,则n是整数。 输入X和Y必须是相同大小的真实数组或实数标量(提供Y〜= 0)。 请注意:
|
rem (X,Y) | 除法之后的余数;返回X - n.* Y,其中n = fix(X./Y)。 如果Y不是整数,并且商X / Y在整数的舍入误差内,则n是整数。 输入X和Y必须是相同大小的真实数组或实数标量(提供Y〜= 0)。 请记住:
|
round(X) | 舍入到最接近的整数; 将X的元素舍入到最接近的整数。 正数元素的小数部分为0.5,最大到最接近的正整数。 负数元素的小数部分为-0.5,向下舍入到最接近的负整数。 |
既然你已经知道了如何有规划地产生一个清单(一维数组),是时候仔细看一下如何使用数据表了。下面的过程产生一个二维数组,储存...
你已经从前面的章节里知道了如何使用VBA打开一个电子表格,例如指令:Application.Workbooks.Open Filename:= "C:ExcelReport.xl...
本节介绍了其它的一些ASP.NETWebPages帮助器。 ASP.NET 帮助器 - 对象参考手册Analytics 对象参考手册(Google) Helper描述Anal...
Lua 提供了 debug 库用于提供创建我们自定义调速器的功能。Lua 本身并未有内置的调速器,但很多开发者共享了他们的 Lua 调速器代...
Time 类在 Ruby 中用于表示日期和时间。它是基于操作系统提供的系统日期和时间之上。该类可能无法表示 1970 年之前或者 2038 年...
什么是 XML ? XML 指可扩展标记语言(eXtensible Markup Language)。可扩展标记语言,标准通用标记语言的子集,一种用于标记电...