Résoudre le déterminant de la matrice carrée dans MATLAB, résoudre la somme cumulée et le produit cumulé de la matrice, trier la matrice, le rang et la trace de la matrice, et résoudre la valeur propre et le vecteur propre de la matrice

Table des matières

1. Calcul du déterminant de la matrice carrée

2. Somme cumulée et produit cumulé

(1) somme cumulée

(2) produit cumulé

3. Trier les données

4. Trouver le rang de la matrice

5. La trace de la matrice

6. Calculer les valeurs propres et les vecteurs propres de la matrice

1. Calcul du déterminant de la matrice carrée

En algèbre linéaire, pour évaluer une matrice carrée, il faut d'abord la convertir en un déterminant. MATLAB fournit la fonction det pour évaluer le déterminant d'une matrice carrée et calcule enfin la valeur du déterminant converti.

Par exemple:

A=[3,4,8;5,1,9;10,12,4];
B=det(A)

Le résultat calculé est 368.

Il convient de noter que la matrice calculée doit être une matrice carrée, sinon le programme signalera une erreur.

2. Somme cumulée et produit cumulé

En informatique, il est souvent nécessaire d'effectuer des sommes cumulées et des produits cumulés pour toutes les données. Les calculs suivants sont effectués dans MATLAB pour les sommes cumulées et les produits cumulés.

(1) somme cumulée

Dans MATLAB, la somme cumulée du i-ème élément fait référence à la somme cumulée de tous les éléments depuis la première de toutes les données jusqu'à la fin du i-ème élément. En supposant que la somme cumulée du i-ème élément est si, et que les données précédentes sont x_1,x_2,x_3,...,x_i, alors la formule peut être déduite comme suit :

s_i=\sum_{1}^{i}x_i

MATLAB fournit la fonction comsum pour calculer la somme cumulée du premier élément au i-ème élément, et le format d'appel est le suivant (où V représente un vecteur et A représente une matrice) :

  • cumsum(V) : résout la somme cumulée du vecteur V.
  • cumsum(A) : si la matrice d'origine est une matrice à m lignes et n colonnes, alors la fonction cumsum(A) renvoie une matrice à m lignes et n colonnes, et l'élément de la ligne i et de la colonne j de la matrice calcule la colonne j de la matrice d'origine La somme cumulée des éléments de la ligne 1 à la ligne i.
  • cumsum(A,num) : lorsque num=1, l'effet est le même que cumsum(A). Si la matrice d'origine est une matrice à m lignes et n colonnes, alors la fonction cumsum(A,1) renvoie un matrice avec m lignes et n colonnes. L'élément de la ligne i et de la colonne j de la matrice calcule la somme cumulée des éléments de la colonne j de la matrice d'origine de l'élément de la ligne 1 à l'élément de la ligne i. Lorsque num=2, si la matrice d'origine est une matrice à m lignes et n colonnes, alors la fonction cumsum(A,2) renvoie une matrice à m lignes et n colonnes, et l'élément en ligne i et colonne j de la matrice calcule l'original La somme cumulée de la i-ème ligne de la matrice du 1er élément de colonne au j-ème élément de colonne.
  • cumsum(A(:)) : calcule la somme cumulée de tous les éléments depuis le premier élément jusqu'à la position de l'élément dans la matrice. L'ordre de calcul consiste à accumuler à partir de chaque ligne de la première colonne. Lorsque la première colonne est entièrement ajoutée , les deuxièmes colonnes sont ajoutées... le dernier élément est la somme cumulée de tous les éléments de la matrice.

Par exemple, pour calculer la somme cumulée des éléments d'un vecteur :

V=[2,3,4,5,6,4,6];
x=cumsum(V)

Les résultats de course sont les suivants :

x =
     2     5     9    14    20    24    30

Calcule la somme cumulée des éléments de chaque colonne d'une matrice de l'élément de la ligne 1 à l'élément de la ligne correspondante.

A=[3,4,5,7;4,9,10,13;13,10,11,24];
x=cumsum(A)

Le résultat après exécution est le suivant :

x =
     3     4     5     7
     7    13    15    20
    20    23    26    44

En supposant que la matrice d'origine est une matrice à m lignes et n colonnes, calculez la somme cumulée de chaque ligne de la matrice de l'élément de la colonne 1 à l'élément de la colonne j et la somme cumulée de chaque colonne de la matrice de rang 1 à rang i :

A=[3,4,5,7;4,9,10,13;13,10,11,24];
x=cumsum(A,1)
y=cumsum(A,2)

Les résultats de course sont les suivants :

x =

     3     4     5     7
     7    13    15    20
    20    23    26    44
y =

     3     7    12    19
     4    13    23    36
    13    23    34    58

Calculez la somme cumulée de tous les éléments d'une matrice :

A=[32,4,16,20;31,24,15,19;10,12,18,22;41,22,20,26];
x=cumsum(A(:))

Le résultat de l'opération est le suivant :

x =
    32
    63
    73
   114
   118
   142
   154
   176
   192
   207
   225
   245
   265
   284
   306
   332

Comme on peut le voir à partir des résultats ci-dessus, la somme cumulée de la matrice est de 332.

(2) produit cumulé

Dans MATLAB, le produit cumulé du i-ème élément fait référence au produit de la multiplication cumulée de tous les éléments depuis le premier élément de toutes les données jusqu'à la fin du i-ème élément. En supposant que le produit cumulé du i-ème élément est si, et que les données précédentes sont x_1,x_2,x_3,...x_i, alors la formule peut être déduite comme suit :

s_i=\prod_{1}^{k}x_i

La fonction cumprod est fournie dans MATLAB. Pour calculer le produit cumulé du i-ème élément au i-ème élément, le format d'appel est le suivant (où v représente un vecteur et A représente une matrice) :

  • cumprod(V) : résoudre le produit cumulé du vecteur V.
  • cumprod(A) : si la matrice d'origine est une matrice à m lignes et n colonnes, alors la fonction cumprod(A) renvoie une matrice à m lignes et n colonnes, et l'élément de la ligne i et de la colonne j de la matrice calcule la colonne j de la matrice d'origine Produit cumulé des éléments de la ligne 1 à la ligne i.
  • cumprod(A,num) : lorsque num=1, l'effet est le même que cumprod(A). Si la matrice d'origine est une matrice à m lignes et n colonnes, alors la fonction cumprod(A,1) renvoie un matrice avec m lignes et n colonnes. L'élément de la ligne i et de la colonne j de la matrice calcule le produit cumulé de l'élément de la ligne 1 à l'élément de la ligne i de la colonne j de la matrice d'origine. Lorsque num=2, si la matrice d'origine est une matrice à m lignes et n colonnes, alors la fonction cumprod(A,2) renvoie une matrice à m lignes et n colonnes, et l'élément en ligne i et colonne j de la matrice calcule l'original Le produit cumulé de la i-ème ligne de la matrice du premier élément de colonne au j-ème élément de colonne.
  • cumpord(A(:)) : calcule le produit cumulé de tous les éléments depuis le premier élément jusqu'à la position de l'élément dans la matrice. L'ordre de calcul commence à partir de la première colonne et chaque ligne effectue une multiplication cumulée. Après la première colonne est tout multiplié, Multipliez à nouveau la deuxième colonne ... le dernier élément est le produit cumulé de tous les éléments de la matrice.

Par exemple, pour calculer le produit cumulé des éléments d'un vecteur :

V=[2,1,3,4,5,2,3];
x=cumprod(V)

Les résultats de course sont les suivants :

x =
     2     2     6    24   120   240   720

Calculez le produit cumulé des éléments de chaque colonne d'une matrice de l'élément de la ligne 1 à l'élément correspondant :

A=[3,4,5,6;6,2,1,2;4,3,2,1];
x=cumprod(A)

Les résultats de course sont les suivants :

x =
     3     4     5     6
    18     8     5    12
    72    24    10    12

En supposant que la matrice d'origine est une matrice à m lignes et n colonnes, calculez le produit cumulé de chaque ligne de la matrice de l'élément de la première colonne à l'élément de la jème colonne et calculez le produit cumulé de chaque colonne de la matrice de l'élément de la première ligne à la fin de l'élément de la i ligne :

A=[3,4,5,7;4,9,10,13;13,10,11,24];
x=cumprod(A,1)
y=cumprod(A,2)

Les résultats de course sont les suivants :

x =

           3           4           5           7
          12          36          50          91
         156         360         550        2184
y =

           3          12          60         420
           4          36         360        4680
          13         130        1430       34320

Calculez le produit cumulé de tous les éléments d'une matrice :

A=[2,3,6;8,5,2;9,11,12];
x=cumprod(A(:))

Les résultats de course sont les suivants :

x =
           2
          16
         144
         432
        2160
       23760
      142560
      285120
     3421440

Dans le résultat de l'opération ci-dessus, le dernier élément 3421440 est le produit de tous les éléments de la matrice.

3. Trier les données

Lors du traitement des données, il est souvent nécessaire de trier les données.Ainsi, lors de l'écriture d'un programme, le numéro de série trie les données.Par exemple, il existe dix algorithmes de tri classiques dans la structure des données. Toujours dans MATLAB, la fonction de tri est également fournie pour trier les données.

La fonction de tri renvoie une nouvelle matrice, qui est triée de petit à grand par défaut.

  • sort(V) : Trie le vecteur V et le résultat renvoyé est un vecteur qui a été trié de petit à grand.
  • sort(A) : trie les éléments de chaque colonne de la matrice, et renvoie une matrice dans laquelle les éléments de chaque colonne sont triés de petit à grand.
  • sort(A,num) : lorsque num=1, l'effet est le même que sort(A) et renvoie une bonne matrice dans laquelle les éléments de chaque colonne sont triés de petit à grand ; lorsque num=2, pour chaque matrice Une ligne est triée et le résultat renvoyé est une matrice dans laquelle les éléments de chaque ligne sont triés de petit à grand.
  • sort(A(:)) : renvoie un vecteur colonne qui trie tous les éléments de la matrice de petit à grand.

Par exemple, ce qui suit utilise la fonction de tri pour trier un vecteur :

V=[34,23,6,41,65,32,7,53];
V=sort(V)

Le résultat après l'opération est le suivant :

V =
     6     7    23    32    34    41    53    65

On peut voir qu'après que le vecteur a été trié par la fonction de tri, le vecteur V devient un vecteur dans lequel chaque élément est rangé de petit à grand.

Pour un autre exemple, utilisez la fonction sort pour trier chaque colonne de la matrice :

A=[2,5,3;6,10,7;4,9,11;12,4,3];
sort(A)

Les résultats de course sont les suivants :

ans =
     2     4     3
     4     5     3
     6     9     7
    12    10    11

On peut voir à partir des résultats de l'opération ci-dessus que la fonction de tri trie les éléments de chaque colonne de la matrice de petit à grand.

Pour un autre exemple, utilisez la fonction de tri pour trier chaque ligne et chaque colonne de la matrice séparément :

A=[2,5,3;6,10,7;4,9,11;12,4,3];
x=sort(A,1)
y=sort(A,2)

Les résultats de course sont les suivants :

x =

     2     4     3
     4     5     3
     6     9     7
    12    10    11
y =

     2     3     5
     6     7    10
     4     9    11
     3     4    12

On peut voir à partir des résultats de calcul ci-dessus que lorsque le nombre de sort(A, num) est 1 ou 2, les colonnes et les lignes de la matrice sont triées respectivement.

Utilisez la fonction sort pour trier tous les éléments de la matrice :

A=[2,3,6;8,5,2;9,11,12];
sort(A(:))

Les résultats de course sont les suivants :

ans =
     2
     2
     3
     5
     6
     8
     9
    11
    12

Comme le montrent les résultats en cours d'exécution, sort(A(:)) renvoie un vecteur colonne, qui peut trier tous les éléments de la matrice.

4. Trouver le rang de la matrice

Le rang d'une matrice est un outil important pour la corrélation linéaire des matrices et la résolution d'équations linéaires.La définition est la suivante : Le rang d'une matrice est un concept en algèbre linéaire. En algèbre linéaire, le rang de colonne d'une matrice A est le nombre maximum de colonnes linéairement indépendantes, et le rang de ligne est le nombre maximum de lignes linéairement indépendantes de la matrice. Autrement dit, si la matrice est considérée comme des vecteurs ligne ou des vecteurs colonne, le rang est le rang de ces vecteurs ligne et vecteurs colonne, c'est-à-dire le nombre de vecteurs contenus dans le groupe maximal non pertinent. (Ce paragraphe définit le rang de la matrice de l'Encyclopédie Baidu )

Dans notre processus de fonctionnement réel, la méthode de fonctionnement générale consiste à convertir la matrice en une matrice échelonnée et à calculer le nombre de lignes qui ne sont pas toutes à 0 dans la ligne entière, et ce nombre est le rang de la matrice.

Dans MATLAB, la fonction de rang est fournie pour calculer le rang de la matrice, par exemple :

A=[1,2,3;2,4,6;8,4,7];
rA=rank(A)
B=[23,6,5;6,3,11;7,13,12];
rB=rank(B)

Le résultat de l'opération est le suivant :

rA =
     2
rB =
     3

Les résultats de calcul ci-dessus montrent que le rang de la matrice A est 2, le rang de la matrice B est 3 et A et B sont des matrices du troisième ordre. Grâce au calcul du rang de la matrice, on peut obtenir que A est une matrice de rang complet, et B est une matrice de rang Non satisfait.

5. La trace de la matrice

Pour une matrice carrée A, la somme de toutes les diagonales sur la diagonale de la matrice carrée est appelée la trace de la matrice, qui est tr(A).Évidemment, la méthode de calcul de la trace de la matrice est :

A_{11}+A_{22}+A_{33}+...+A_{nn}=tr(A)

 Dans MATLAB, la fonction trace de la matrice de calcul est fournie. Par exemple:

A=[4,5,3;7,5,3;9,11,3];
B=trace(A)

Le résultat de l'opération est le suivant :

B =
    12

6. Calculer les valeurs propres et les vecteurs propres de la matrice

Le concept de valeurs propres a été introduit par le scientifique français Laplace au 19ème siècle lorsqu'il a étudié la mécanique céleste et la mécanique terrestre.Dans les applications pratiques, les valeurs propres des matrices sont largement utilisées.

Supposons que A soit une matrice d'ordre n, si le nombre \lambdaet le vecteur x non nul à n dimensions satisfont les conditions suivantes :

Ax=\lambda x

 Alors \lambdac'est la valeur propre de la matrice carrée A, et le vecteur non nul x est appelé le \lambdavecteur propre de la valeur propre correspondante de la matrice carrée A.

La formule ci-dessus peut aussi s'écrire sous la forme :

(A-\lambda E)x=0

Les conditions pour que la formule ci-dessus ait une solution non nulle sont :

|A-\lambda E|=0

Il peut aussi s'écrire comme suit : 

\begin{pmatrix} A_{11}-\lambda & A_{12} & \cdots & A_{1n}\\ A_{21} & A_{22}-\lambda & \cdots & A_{2n} \\ \ vdots & \vdots & \ddots & \vdots \\ A_{n1} & A_{n2} & \cdots & A_{nn}-\lambda \end{pmatrix}=0

 La fonction eig est fournie dans MATLAB pour calculer les vecteurs propres et les valeurs propres de la matrice, et le format d'appel est le suivant :

  • e=eig(A) : e est un vecteur colonne et calcule toutes les valeurs propres de la matrice A.
  • [V,R]=eig(A) : R est une matrice diagonale composée des valeurs propres de la matrice A, les éléments de la matrice diagonale R sont tous les valeurs propres de la matrice A, et V est le correspondant vecteur propre de chaque colonne de A.

Utilisez la fonction eig de MATLAB pour calculer la valeur propre de la matrice, par exemple :

A=[0,1,1;1,0,1;1,1,0];
B=[4,5,5;3,6,7;8,9,4];
e1=eig(A)
e2=eig(B)

Le résultat ressemble à ceci :

e1 =
   -1.0000
   -1.0000
    2.0000

e2 =
   17.0296
    0.6537
   -3.6832

Un autre exemple:

A=[12,16,8;9,23,11;24,18,4]
[V,D]=eig(A)

 Les résultats de course sont les suivants :

V =

   -0.4994   -0.4102   -0.1379
   -0.6110    0.5782   -0.3173
   -0.6143   -0.7053    0.9382
D =

   41.4154         0         0
         0    3.1994         0
         0         0   -5.6149

D'après le contenu ci-dessus, nous pouvons voir que les valeurs propres de la matrice A sont respectivement 41,4154, 3,1994, -5,6149, et la matrice V est le vecteur propre de chaque colonne de la matrice A.

Je suppose que tu aimes

Origine blog.csdn.net/qq_54186956/article/details/127056624
conseillé
Classement