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]

与此不同,矩阵运算遵循线性代数的一般规则,例如矩阵乘法,且其操作符与常见的数学定义一致。