2.8 标量运算和数组运算在MATLAB赋值语句中的计算,一般形式如下:
variable_name = expression;
赋值语句计算出等号右边表达式的值,然后将其赋值给等号左边的变量名。需要注意的是,这里的等号并不是传统意义上的等号,它表示将右侧表达式的值存储到左侧的变量中。因此,这种等号应被称为“赋值号”。例如,语句 ii = ii + 1;
在数学上没有意义,但在MATLAB中,它的作用是将变量ii加1后,将结果存储回ii。
2.8.1 标量运算符
赋值号右边的表达式可以包含标量、数组、括号和数学符号的有效组合运算。标量之间的标准运算符如下表2.5所示。我们可以通过使用括号来控制运算顺序,括号内的表达式优先计算。例如,表达式 2^((8+2)/5)
的计算顺序如下:
2 ^ ( ( 8 + 2 ) / 5 ) = 2 ^ ( 10 / 5 ) = 2 ^ 2 = 4
2.8.2 数组运算与矩阵运算
MATLAB支持两种类型的运算:数组运算(array operations)和矩阵运算(matrix operations)。
- 数组运算用于元素对元素的运算。也就是说,两个数组相对应的元素之间进行运算。例如,
a = [4 3; 2 1]
b = [1 -1; -1 2]
那么 a + b
计算结果为:
a + b = [5 2; 1 3]
注意,数组的行列必须相同,否则MATLAB将会报错。
- 数组与标量的运算:当数组和标量进行运算时,标量会与数组中的每个元素进行运算。例如:
a = [4 3; 2 1]
a + 4 = [8 7; 6 5]
与此不同,矩阵运算遵循线性代数的一般规则,例如矩阵乘法,且其操作符与常见的数学定义一致。