【MATLAB】矩阵元素及其基本运算

矩阵元素的引用

矩阵元素的引用方式:①A是一个矩阵,A(3,2)表示第三行第二列的元素。

②矩阵元素按照列来存储,先存储第一列元素,在存储第二列元素,直到最后。第一列第一个元素为1号元素,第一列第二个元素为2号元素,以此类推。A(3)

转换函数:①sub2ind(S,i,j)将矩阵中指定元素的行、列转换成存储的序号。S:组成矩阵的行数和列数的矩阵向量size(A)或[3,3](表示3行3列矩阵)i:行向量;j:列向量。i和j可以是矩阵。

ind2sub(S,D):D:序号。返回值是矩阵,表示行下表和列下标。

A(i,:)表示第i行全部元素

A(:,j):表示第j列全部元素

A(i:i+m,k:k+m)表示第i~i+m行内且在k~k+m列中的元素

A(i:i+m)表示第i~i+m行的全部元素

end运算符表示某一维的末尾元素下标。

改变矩阵的形状:reshape(A,m,n):A要改变形状的矩阵;m改变后的行数;n改变后的列数。注意:reshape()函数只改变行数和列数,不改变存储顺序。

A(:)表示将每列元素堆叠起来,组成列向量。相当于reshape(A,6,1)。

MATLAB基本运算

基本算术运算

加、减、乘、除

注意:MATLAB算术运算是在矩阵意义下进行的。单个数据的算术运算只是矩阵运算的一种特例。

加减操作时要求矩阵的维数相同。乘法运算要求A的列数与B的行数相等。运算规则参考《线性代数》这门课。

除法运算:

这里重点说一下除法运算。除法运算包含左除、右除。左除、右除就相当于除数矩阵和被除数矩阵。

假如A是非奇异方阵**(非奇异矩阵,即行列式不为0的矩阵,矩阵满秩,矩阵可逆,向量组线性无关。非奇异矩阵可以对线性空间做一个同等维度的线性变换,这个过程是可逆的,即可以由变换后的线性空间恢复原空间。)**,B/A相当于B*inv(A)、A\B相当于inv(A)*B

inv(A)是求逆矩阵

对于含有标量的运算,两种结果相同。

比如:

>> 3/4

ans =

    0.7500

>> 4\3

ans =

    0.7500

其中一个是矩阵时也一样。

乘方运算:

A*a:A是矩阵,a是标量。

点运算(.*、./、.\和.^):

点乘、点右除、点左除、点乘方。

两个矩阵进行点运算要求两个矩阵的对应元素进行相关运算。要求两矩阵同型。下面给出例子:

>> x = 0.1:0.3:1

x =

    0.1000    0.4000    0.7000    1.0000

>> y = sin(x)*cos(x)
错误使用  * 
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用 '.*'。
 
>> y = sin(x).*cos(x)

y =

    0.0993    0.3587    0.4927    0.4546

关系运算(小于、大于等):

>> A = [24,35,13;22,63,23;39,47,80]

A =

    24    35    13
    22    63    23
    39    47    80

>> p = rem(A,2)

p =

     0     1     1
     0     1     1
     1     1     0

>> p == 2

ans =

  3×3 logical 数组

   0   0   0
   0   0   0
   0   0   0

>> p == 0

ans =

  3×3 logical 数组

   1   0   0
   1   0   0
   0   0   1

rem(x,y):求整除x/y的余数

逻辑运算符(与、或、非)

算术运算符、关系运算符、逻辑运算符中,算术运算符的优先级最高、逻辑运算符优先级最低。逻辑非运算是单运算符,优先级比双目运算符高。

你可能感兴趣的:(matlab,matlab,线性代数)