Connaissance de base de la matrice MATLAB (2)

Les éléments de la matrice sont les mêmes que ceux du vecteur et peuvent être extraits, référencés, édités et modifiés.

Générez d'abord trois matrices :

A = ceil( rand(3)*10 ); % (1,10)内均匀分布的随机三阶矩阵
B = ceil( rand(3)*10 );
C = ceil( rand(3,4)*10 );

1. Opérations matricielles

(1) Addition et soustraction de matrices : Il faut s'assurer que les deux matrices additionnées ou soustraites ont les mêmes dimensions

Y1 = A+B;                              
% Y1 = A.+B ;         % 报错,无效运算符  
Y2 = A-B;                              
% Y2 = A.-B ;         % 报错,无效运算符

(2) Multiplication matricielle : C=A*B. La multiplication matricielle a les propriétés suivantes :

        ① Le nombre de colonnes de la matrice A est le même que le nombre de lignes de la matrice B ;

        ② Le nombre de lignes de la matrice C est égal au nombre de lignes de la matrice A, et le nombre de colonnes de la matrice C est égal au nombre de colonnes de la matrice B ;

        ③ La valeur de l'élément de la mème ligne et de la nème colonne de la matrice est égale à la somme du produit de la valeur correspondante de l'élément de la mème ligne de la matrice A et de l'élément de la nème colonne de la matrice B ;

        ④AB≠BA。

Y3 = A*C;             % 必须满足:A的列数 = B的行数  ,生成的序列为 A行B列

(3) Multiplication par points des matrices : multipliez les éléments dans la même position des deux matrices et maintenez-les dans la position d'origine pour former une nouvelle matrice. La taille des deux matrices doit être la même.

Y4 = A.*B;            % 大小一致,对应位置的元素相乘运算

(4) L'opération de division à gauche de la matrice : A\B, le nombre de lignes de A et B doit être cohérent ;

         L'opération de division à droite de la matrice : A/B, nécessite le même nombre de colonnes dans A et B ;

         La division par points des matrices est similaire au produit scalaire.

Y5 = A\B ;            % A和B行数要一致               
Y6 = A.\B;            % 大小一致,对应位置的元素左除运算                     
Y7 = A/B;             % A和B列数要一致                            
Y8 = A./B;            % 大小一致,对应位置的元素右除运算

(5) Le rang de la matrice :

Lorsque la matrice X a |X| ≠ 0, X est une matrice non singulière, c'est-à-dire que X est réversible, Y = inv(X) existe et XY=E.

Y9 = inv(A);           % 矩阵的逆,必须为方阵

2. Modification des éléments de la matrice

(1) Expansion de la matrice

D = [A;B];    % 使用矩阵B扩充矩阵A

(2) Soustraction de matrice

A(2,:)=[];    % 删除A的第二行
A(:,2)=[];    % 删除A的第二列

(3) Attribuer des valeurs aux éléments de la matrice

A(2,3)=2;   % 给A的第二行第三列元素赋值为2
A(2,:)=[1 2 3];    % 对A的第二行赋值
A(:,2)=[1 2 3];   % 对A的第二列赋值

3. Dimension variable de la matrice

        La dimension variable de la matrice peut être modifiée en utilisant le symbole ":" et la méthode de la fonction reshape(). Les deux méthodes doivent garantir que le nombre d'éléments de la matrice après le changement est cohérent avec la matrice d'origine.

(1) reshape(X,m,n) : change la dimension de la matrice connue X en une matrice à m lignes et n colonnes.

E = reshape(B,2,6);

(2) Modifiez la dimension de la matrice par le symbole ":".

F = zeros(4,3);     % 必须先设定矩阵的形状
F(:) = B(:);         % 将 B 的维度改编成和 D 一样

4. Changer la direction de la matrice

(1) rot90(A) : faire pivoter la matrice A de 90° dans le sens inverse des aiguilles d'une montre ;

         rot90(A,k) : fait pivoter la matrice A de 90° dans le sens inverse des aiguilles d'une montre pendant k fois.

G = rot90(A,2);     % rot90 将矩阵逆时针旋转90° ;    2 表示旋转次数

(2) fliplr(X) : retournez la matrice X à gauche et à droite ;

         flipud(X) : retourner la matrice X de haut en bas ;

         flipdim(X,dim) : lorsque dim=1, la ligne est inversée ; lorsque dim=2, la colonne est inversée.

H = flip(B,1);    % flip和flipdim作用一样,有些版本会对flipdim警告但不影响运行

5. Extraction de matrice

(1) diag(X) : extrait le vecteur élément sur la diagonale principale de la matrice X ;

         diag(X,k) : extrait le vecteur élément sur la kième diagonale de la matrice X. Où k=0 est la diagonale principale, si k est un entier positif, c'est le kième élément au-dessus, et si k est un entier négatif, c'est le kième élément en dessous.

J = diag(A,1);

(2) tril(X) : extrait la partie triangulaire inférieure principale de la matrice X ;

         tril(X,k) : extrait la partie sous la kième diagonale de la matrice X, y compris la kième ;

         triu(X) et triu(X,k) s'utilisent de la même manière que tril.

K = tril(magic);

Je suppose que tu aimes

Origine blog.csdn.net/weixin_58351753/article/details/127152321
conseillé
Classement