主要内容

Algebre线性

矩阵与环境MATLAB

Ce thème理解une介绍à la création de矩阵et à la réalisation de计算矩阵de base dans MATLAB®

L ' environment MATLAB中使用了le term真值表倒inquer une变量内容des nombres réels ou复合体arrangés selon une格栅à二维。联合国Est,加上généralement, UN vector, une matrice ou une grille de nombres important加上de dimensions。Tous les tableaux dans MATLAB sont rectangaires, dans le sens où les vectors composants, quelle que soit la dimension du tableau, sont Tous de la même longueur。Les opérations mathématiques définies sur des矩阵sont le sujet de l 'algèbre linéaire。

Création de矩阵

MATLAB合成函数créent différents类型矩阵。例如vous pouvez créer une matrice symétrique avec des entrées basées sur le triangle de Pascal:

A = pascal(3)
A = 1 1 1 1 2 3 1 3 6

Ou vous pouvez créer uneMatrice de carré魔术Asymétrique,不les sommes des lignes et des colonnes sont égales:

B =魔术(3)
B = 8 1 6 3 5 7 4 9 2

矩形矩阵3 × 2 composée名义实体aléatoires。Dans ce cas, la première entrée de兰迪Décrit la plage des valeures可能为我们的荣誉,和两个entrées suivantes décrivent我们的荣誉和荣誉。

C = randi(10,3,2)
C = 9 10 10 7 2 1

没有向量柱体,没有矩阵x1, UN向量最小矩阵1 Xn求1 × 1矩阵的标量。倒définir une matrice manuelement, utilisez des钩针[]Pour inquer le début et la fin de la matrice。À l 'intérieur des钩针,utilisez UN点virgule倒inquer la fin d 'une ligne。1 × 1的矩阵,钩针不讨人喜欢。例如,“suivantes produisent unvecteur colonne, unvecteur ligne and unscalaire”指令:

U = [3;1;4] v = [2 0 -1] s = 7
U = 3 1 4 v = 2 0 -1 s = 7

Pour + d ' information sur la création et l 'utilisation des matrices, consultez创建、连接和扩展矩阵

矩阵加法

矩阵的加法和计算公式effectuéeséléments par éléments.例如,ajouter一个一个B, puis soustraire一个杜résultat归还B

X = a + b
X = 9 2 7 4 7 10 5 12 8
Y = x - a
Y = 8 1 6 3 5 7 4 9 2

加法和酸量nécessitent维相容的二矩阵。硅尺寸不相容,塞拉génère une错误:

X = a + c
使用+矩阵的错误维数必须一致。

倒加d '信息,咨询数组运算与矩阵运算

乘积和向量的转置

最可能的乘法器不向力和不向力柱体德拉même不可能输入正确的顺序。Le résultat est soit un scalaire, appelé Le产品interieur, soit une matrice, appelée le产品exterieur

U = [3;1;4);V = [2 0 -1];X = v*u
X = 2
X = u*v
X = 6 0 -3 2 0 -1 8 0 -4

倒les矩阵réelles, latransposeeechange一个j一个j.倒les矩阵复合体,un autre élément à prendre en compte est d'utiliser le conjugué complexe des entrées complex de la matrice Pour former laTransposée conjuguée complexe.MATLAB利用l 'opérateur撇号() pour effectuer une transposée conjuguée complexe et l 'opérateur点撇号(.')倒转座子无共轭。Pour les matrices ne contenant que des éléments réels, les deux opérateurs donnent le même résultat。

La matrice proposée示例A = pascal(3)美国东部时间symetrique, par conséquent,一个“Est égal à一个.Cependant,B =魔术(3)N 'est pas symétrique, donc les éléments deB”Se trouvent le long de la对角原则:

B =魔术(3)
B = 8 1 6 3 5 7 4 9 2
X = b '
X = 8 3 4 1 5 9 6 7 2

Pour les vecteurs, la transposée change unvecteur ligne en unvecteur colonne (et inver倒置):

X = v' X = 2 0 -1

如果xy柱体双向量réels,我们的产品x * yN 'est pas défini, mais les deux products

x ' * y

y ' * x

Produisent le même résultat scalaire。赛特quantité est utilisée tellement souvent qu 'elle porte trois nom différents:产品interieur,产品scalaire或者产品.Il存在même une功能dédiée pour les products points appelée

倾注无限的矩阵,z, la quantitéz”转置不附加矩阵向量,mais convertit également chque élément complexe en son conjugué complexe。Autrement dit, le signe de la party imaginaire de chque élément复杂的变化。例如,复杂的环境

Z = [1+2i 7-3i 3+4i;6-2i 9i 4+7i]
Z = 1.0000 + 2.0000i 7.0000 - 3.0000i 3.0000 + 4.0000i 6.0000 - 2.0000i 0.0000 + 9.0000i 4.0000 + 7.0000i

La transposée conjuguée complex dez美国东部时间:

z”
Ans = 1.0000 - 2.0000i 6.0000 + 2.0000i 7.0000 + 3.0000i 0.0000 - 9.0000i 3.0000 - 4.0000i 4.0000 - 7.0000i

La transposée complexe non conjuguée, où La party complexe de chque élément save son signe, est indiquée parz”。

z”。
Ans = 1.0000 + 2.0000i 6.0000 - 2.0000i 7.0000 - 3.0000i 0.0000 + 9.0000i 3.0000 + 4.0000i 4.0000 + 7.0000i

倒向量复合体,二乘积标量x ' * yy ' * xSont des conjugués complex l 'UN de l 'autre, et le product scalairex ' * xD 'UN vector complexe avec lui-même est UN réel。

矩阵乘法

La乘法de矩阵est définie d ' une manière qui reflète La合成des变换linéaires苏jacentes et permet La représentation紧凑de systèmes d ' équations linéaires simultanées。积矩阵CABEst défini lorsque la dimension des colonnes de一个Est égale à la dimension des lignes deB“你是一个骗子,是一个恶棍。”如果一个最大维数xp等。如果B最大维数pxn,勒尔积C最大维数xn.Le product peut être défini à l 'aide de boucles,德拉符号结肠等积点矢量的MATLAB:

A = pascal(3);B =魔术(3);M = 3;N = 3;I = 1:mj = 1:n C(i,j) = A(i,:)*B(:,j);结束结束

MATLAB利用un astérisque pour inquer la乘法矩阵,comme dansC = a * b.矩阵的乘法n 'est pas是可交换的,A * BN 'est généralement pas égal àB *

X = a * b
X = 15 15 15 26 38 26 41 70 39
Y = b * a
Y = 15 28 47 15 34 60 15 28 43

Une matrice peut être multipliée à droite par un vecteur colonne et à gauche par un vecteur ligne:

U = [3;1;4);x = A*u
X = 8 17 30
V = [2 0 -1];y = v*B
Y = 12 -7

矩形矩阵的乘法满足compatibilité维数的条件。Étant donné que一个Est (3x3etCDe dimension 3 x 2, vous pouvez les multiplier pour obtenir UN résultat De dimension 3 x 2 (la dimension intérieure公社s’annule):

X = a * c
X = 24 17 47 42 79 77

可造式,乘法函数的逆:

Y = c * a
使用*不正确的矩阵乘法维数时出错。检查第一个矩阵中的列数是否与第二个矩阵中的行数匹配。要执行逐元素的乘法,请使用'.*'。

你的钱乘数,按比例进口:

S = 10;W = s*y
W = 120 -70 100

Lorsque vous multipliez un tableau par un scalaire, le scalaire ' étend意涵pour avoir la même taille que l ' autre entrée。关于苹果的记忆cela l扩张scalaire

矩阵identite

符号mathématique généralement acceptée使用大写字母倒indiquer les矩阵identité。计算尾巴矩阵différente根据对角线原理计算0尾巴。Ces矩阵倒propriété que一个一个一个一个Lorsque les dimensions sont compatibles。

这是MATLAB的原始版本à cette fin, car elle ne faisait pas la distinction entre les letters are majuscules and miniles, etétait déjà utilisé pour les indices et les unités complex。不懂英语的人été介绍。La函数

眼睛(m, n)

Renvoie une矩阵identité矩形尺寸xn眼睛(n)Renvoie une矩阵identité carréenxn

逆矩阵

硅矩阵一个Est carrée et non singulière (déterminant non nul), alors les équations一个XX一个Ont la même解决方案X.La solution est appelée l '一个Et est notée一个-1.La函数发票et l 'expression^ 1二逆矩阵计算。

A = pascal(3)
A = 1 1 1 1 2 3 1 3 6
X = inv(A)
X = 3.0000 -3.0000 1.0000 -3.0000 5.0000 -2.0000 1.0000 -2.0000 1.0000
* X
Ans = 1.0000 00 0.0000 1.0000 -0.0000 -0.0000 0.0000 1.0000

行列式计算的标准依据Est une mesure du facteur d ' échelle de la transformation linéaire décrite par la矩阵。Lorsque le déterminant est exact égal à zéro, la matrice estsinguliereEt aucun逆n′存在。

d = det(A)
D = 1

某些矩阵普雷斯克singulieresEt, malgré le fait qu 'une矩阵逆存在,le compute s 'expose à des errors numériques。La函数气孔导度回想一下拉测量反转条件, qui donne une indication de la validité des résultats de l 'inversion de la矩阵。条件措施由中心组成1倒une矩阵numériquement稳定et倒une矩阵singulière。

c = cond(A)
C = 61.9839

最小稀缺性nécessaire前逆显式矩阵。Une mauvaise utilization de发票Se product fréquemment lors de la résolution d ' un système d ' équations linéaires一个xb.La meilleure manière de résoudre cette équation, d'un point de vue temps d 'exécution et accuracy numérique, est d 'utiliser l 'opérateur矩阵反斜线x = A\b.ConsultezmldividePour + d ' information。

产品张索里尔德克罗内克

Le product de Kronecker,克隆亚麻(X, Y), dedeux矩阵est la矩阵加大formée à partir de tous les products可能des éléments deXAvec ceeux deY.如果X最大维数xn等。如果Y最大维数px,那么克隆亚麻(X, Y)最大维数国会议员xnq.Ces éléments sont arrangés de manière à ce que chque élément deXSoit multiplié par la matrice entièreY

[x (1,1)* y x (1,2)* y…]X(1,n)*Y……X(m,1)*Y X(m,2)*Y…X (m, n) * Y]

Le product de Kronecker est souvent utilisé avec des矩阵de 0 et de 1 pour constituer des copies répétées de petites矩阵。例如,siX求2x2维的矩阵

X = [1 2 3 4]

I = eye(2,2)Est la matrice identité维数2 x 2, alors:

克隆亚麻(X,我)
Ans = 1 0 2 0 0 1 0 2 3 0 4 0 0 3 0 4

克隆亚麻(I (X)
Ans = 1 2 0 0 3 4 0 0 0 0 0 1 2 0 0 3 4

荒诞的克隆亚麻, d 'autres函数效用倒répliquer des矩阵sontrepmatrepelemblkdiag

向量和矩阵的范数

就是标准p维一个向量x

x p | x | p 1 p

Est calculée par规范(x, p).Cette opération est définie pour toute valeur dep> 1, mais les valeurles加上courantes depSont 1,2 et∞。La valeur par défaut estp= 2, ce qui对应à la距离euclidienneOu à l '矢量振幅

V = [2 0 -1];[范数(v,1)范数(v)范数(v,inf)]
Ans = 3.0000 2.2361 2.000

就是标准p一个矩阵一个

一个 p 马克斯 x 一个 x p x p

Peut être calculée pourp= 1,2 et∞par规范(A, p).Là安可,la valeur par défaut estp= 2:

A = pascal(3);[norm(A,1) norm(A) norm(A,inf)]
Ans = 10.0000 7.8730 10.0000

Dans les cas où你的souhaitez计算器你的计算标准,你的使用vecnorm

vecnorm (A)
Ans = 1.7321 3.7417 6.7823

利用d 'un计算多线程avec des函数d 'algèbre linéaire

MATLAB支金宝app持le计算多线程倒加函数d 'algèbre linéaire et函数numériques calculées éléments par éléments。Ces函数'exécutent automatiquement sur plusieurs线程。Pour qu 'une function ou une expression s 'exécute加上加急处理,加急条件être回复:

  1. La function effect des opérations qui peuvent facilement être partitionnées en sections qui s 'exécutent simultanément。cessections doivent pouvoir s 'exécuter avec une communication limitée entre les procsus。Elles doivent nécessiter peu d 'opérations séquentielles。

  2. La taille des données est满足重要的条件,倒在有利的条件exécution simultanée fassent加上补偿的条件,需要的时间,倒分区,données et gérer des线程d 'exécution séparés。举例来说,la plupart des functions s 'accélèrent uniquement lorsque la matrice continental au minimum plusieurs milliers d ' éléments。

  3. L 'opération n 'est pas liée à la mémoire;La durée de traitement ne dépend pas de La durée d 'accès à La mémoire。En règle générale, les functions + complex sont davantage accélérées que les functions simple。

Les opérateurs乘法(X * Y)权力(X ^ p)矩阵démontrent最具价值的矩阵'exécution双重基准矩阵的显著性累积précision (De l’ordre De 10000 éléments)。矩阵分析函数依据rcond赫斯expmDémontrent également敏锐的洞察力加倍的伟大的目标précision。

我不安定群集

Systèmes d ' équations linéaires

Considérations liées au计算

L ' un des problèmes les plus important en calculus scientifique est la résolution de systèmes d ' équations linéaires simultanées。

矩阵表示法,le problème général计算两矩阵一个b存在-t-il une matrice uniquex是某个一个xbx一个b?

在一维1 × 1的情况下,本实验指导d ' étudier。例如,l ' équation

7x= 21

唯一的解决方案?

La réponse, bien sûr, est oui。L’équation一种独特的倒液x= 3。La solution est facility obtenue à l 'aide de La division:

x= 21/7 = 3。

解n 'est不是获得习惯元素计算逆7,所以7-1= 0,142857…,puis en multipliant 7-121不相上下。Cela représenterait加上de travail et, si 7-1Est représenté avec UN nombre fini de chiffres, cela réduirait la précision。Des considérations相似适用集合d ' équations linéaires avec + d ' une inconue, MATLAB résout ces équations无计算器l ' inverse de la矩阵。

Bien que cela ne constitue pas la notation mathématique标准,MATLAB利用la。二人组象征着分裂削减, /, et l'antislash, \,对应的aux deux函数MATLABmrdividemldivide.Ces opérateurs sont utilisés pour les deux situations où la matrice inconnue apparaît à gauche ou à droite de la matrice de系数:

x = b/A

Indique la solution de l ' équation matriiciellexAb, obtenue en utilisantmrdivide

x = A\b

Indique la solution de l ' équation matriicielle斧头b, obtenue en utilisantmldivide

Considérez que l ' on«divise»les deux côtés de l ' équation斧头bxAb票面价值一个.系数矩阵一个Est toujours le«dénominateur»。

Les conditions de compatibilité de dimension pourx = A\bNécessitent双矩阵一个b组件le même nombre de lignes。洛杉矶的解决方案x法兰西même科隆之名b, et son nombre de lignes est égale au nombre de colonnes de一个.倒x = b/A, les rôles des lignes et des colonnes sont échangés。

在实践中,les équations linéaires在实践中斧头bSont + fréquentes que celles de la formmexAb.Par conséquent, l'antislash est utilisé beaucoup加上fréquemment que le slash。Le reste de cette section se concentrsur l 'opérateur反斜杠;Les propriétés通讯员de l 'opérateur de slash peuvent être déduites de l'égalité:

(b/A)' = (A'\b')。

系数矩阵一个Ne doit pas être carrée。如果一个A une taille dexn,三种可能:

M = n

和卡雷。Cherchez une solution。

M > n

Système surdéterminé, avec加上d ' équations que d ' inconnues。解决问题的方法carrés。

M < n

Système sous-déterminé, avec moins d ' équations que d ' inconnues。Trouvez une solution basque avec au maximum非空合成词。

L 'algorithme mldivide。L 'operateurmldivide利用des求解différents pour traiter différents类型de矩阵系数。Les différents cas sont déterminés自动检验系数矩阵。倒加d '信息,咨询la节«算法»de la page de référencemldivide

兴业银行解决方案

拉解générale d’un système d’équations linéaires斧头bDécrit提供les解决方案。金宝搏官方网站Vous pouvez trouver la solution générale:

  1. En résolvant le système homogène通讯员斧头0.Pour cela, utilisez la commanden tapant零(A).Celle-ci renvoie une base pour l ' space de solution de斧头0.Toute solution est une combination linéaire de vecteurs de base。

  2. 恩trouvant une解决方案particulière au système非homogène斧头b

Vous pouvez alors écrire toute solution à斧头bComme la somme de la solution particulière à斧头bDe l ' étape 2,加上une组合linéaire des vecteurs De l ' étape 1。

Le reste de cette节décrit评论利用MATLAB倒trouver une解决方案particulière à斧头b, comme exposé dans l ' étape 2。

系统背负着

La情况La加上fréquente隐式une矩阵carrée de系数一个Et UN vector colonne unique du côté droit de l'équationb

矩阵非singulière de系数。硅矩阵一个Est non singulière, alors la solutionx = A\bEst de la même taille queb.举例:

A = pascal(3);U = [3;1;4);x = A\u x = 10 -12

这是最可能的确认* x最精确的égal àu

如果一个bSont carrées et de la même taille,x = A \ bEst également de cette taille:

B =魔术(3);X = A\b X = 19 -3 -1 -17 4 13 6 0 -6

这是最可能的确认* x最精确的égal àb

双例解精确等entières。金宝搏官方网站Cela est dû au fait que la matrice de系数choisie est帕斯卡(3), une matrice de rang plein(非singulière)。

矩阵系数singulière。Une matrice carrée一个Est singulière si elle ne comporte pas de colonnes linéairement indépendantes。如果一个Est singulière, la solution à斧头b所以它不存在,所以它不唯一。L 'operateur antislash,一个\ b, affiche UN avertissement si一个Est presque singulière ou s 'il détecte une singularité精确。

如果一个Est singulière et si斧头b唯一的解决方案,vous pouvez trouver une solution particulière唯一的解决方案

P = pinv(A)*b

pinv (A)Est UN伪逆de一个.如果斧头b没有正确的答案,亲爱的pinv (A)Renvoie une solution des moindres carrés。

举例:

A = [1 3 7 -1 4 4 1 10 18]

Est singulière, comme vous pouvez le vérifier en tapant

rank(A) ans = 2

Étant donné que一个N 'est pas de rang plein, elle comporte ceresvaleurs singulières égales à zéro。

金宝搏官方网站确切的解决方案。b = (5; 2; 12),等式中斧头b一个une解决方案精确,donnée par

pinv(A)* bans = 0.3850 -0.1103 0.7066

Verifiez,pinv b (A) *最精确的解决方案

A*pinv(A)* bans = 5.0000 2.0000 12.0000

金宝搏官方网站问题解决方案carrés。Toutefois,如果B = [3;6;0]斧头bN 'a pas de solution accurate。Dans ce cas,pinv b (A) *生命之源解决方案carrés。谢谢

A*pinv(A)* bans = -1.0000 4.0000 2.0000

你是原点上的矢量b

Vous pouvez déterminer si斧头b一个une解决方案精确的en trouvant la forme échelonnée réduite德拉矩阵augmentée[b].倾尽一切,一如既往,一如既往

rref([A b]) ans = 1.0000 0 2.2857 00 1.0000 1.5714 0000 0 1.0000

Étant donné法国大陆独一无二zéros à法国例外dernière entrée,法国解决方案équation。Dans ce cas,pinv (A)生命之源解决方案carrés。

系统surdetermines

Cet示例蒙特评论des systèmes surdéterminés sont souvent rencontrés丹斯潜水员类型de courbes通信à des données expérimentales。

一个数量yEst mesurée à différentes临时价值t倒produire les observations suivantes。Vous pouvez saisir les données et les afficher dans une table avec les instructions suivantes。

T = [0 .3 .8 1.1 1.6 2.3]';Y =[。]82 .72 .63 .60 .55 .50]';B = table(t,y)
B =6×2表T y ___ ____ 0 0.82 0.3 0.72 0.8 0.63 1.1 0.6 1.6 0.55 2.3 0.5

散文de modéliser les données avec une函数指数décroissante

y t c 1 + c 2 e - t

L ' équation précédente inque que le vecteuryDoit être estimé à l 'aide d 'une组合linéaire de deux aures vecteurs。无向量常数内容的唯一性,无向量常数的唯一性exp (- t).Les inconnus系数, c 1 c 2 , peuvent être calculés en有效的联合国调整para la méthode des moindres carrés, qui最小化la somme des carrés des écarts entre les données et le modèle。Il y a 6 équations à deux inconnues, représentées par une矩阵de 6 x 2。

E = [ones(size(t)) exp(-t)]
E =6×21.0000 1.0000 1.0000 0.7408 1.0000 0.4493 1.0000 0.3329 1.0000 0.2019 1.0000 0.1003

Utilisez l 'opérateur反斜杠倒得到的解决方案au sens des moindres carrés。

c = E\y
c =2×10.4760 - 0.3413

按规定,调整méthode des moindres carrés aux données est

y t 0 4 7 6 0 + 0 3. 4 1 3. e - t

Les instructions suivantes évaluent le modèle à des incréments régulièrement espacés danst, puis établissent UN graphique du résultat avec les données d 'origine:

T = (0:0.1:2.5)';Y = [ones(size(T)) exp(-T)]*c;情节(T Y“- - -”、t、y,“o”

图中包含一个轴对象。axis对象包含2个line类型的对象。

E * cN 'est pas exacement égal ày, maiis la différence peut être tout à fait inférieure测量误差données d ' original。

Une矩阵矩形一个Présente une déficience巴黎巴黎巴黎走廊linéairement indépendantes。如果一个Présente une déficience de rang, alors la solution au sens des moindres carrés àAx = b这是唯一的。一个\ BAffiche UN avertissement si一个Présente une déficience de range et product une solution au sens des moindres carrés。Vous pouvez utiliserlsqminnorm倒出溶液X最小帕尔米的解决方案。金宝搏官方网站

系统sous-determines

Cet示例蒙特评论拉解决à des systèmes sous-déterminés n 'est pas唯一。Les systèmes linéaires sous-déterminés comportent加上d ' inconnues que d ' équations。L 'opération矩阵除法à gauche dans MATLAB trouve une solution basque au sens des moindres carrés, qui comporte au maximum复合材料非零倾倒的矩阵系数的维度票面价值n

Voici un petit的例子au hasard:

R = [6 8 7 3;3 5 4 1] rng(0);B = randi(8,2,1)
R = 6 8 7 3 3 5 4 1 b = 7 8

Le système linéaireRp = b理解二重équations à四分之一。Étant donné整个大陆系数矩阵,il est approprié命令利用率格式倒入固定的溶液。La solution particulière est obtenue avec

格式老鼠p = R\b
P = 0 17/7 0 -29/7

非零的成分(2页)、汽车R (: 2)Est la colonne deR正常加大。L 'autre composant non - null est(4页), parce queR (: 4)Domine après l ' élimination deR (: 2)

La solution générale complète au système sous-déterminé peut être caractérisée en ajoutantpà une combination linéaire任意空间矢量空,查询être trouvés à函数辅助最合理的选择。

Z = null(R,“r”
Z = -1/2 -7/6 -1/2 /2 1 0 0 1

这是最可能的确认R * ZVaut zéro et que le résiduR*x - b最小的倾吐矢量x,或者

x = p + Z*q

Étant donné que les colonnes deZ空间向量和积Z *问Est une组合linéaire de ces向量:

Z x 1 x 2 u w u x 1 + w x 2

À titre d 'illustration, choisissez UN任意裁量x

Q = [-2;1);x = p + Z*q;

数学公式résidu。

格式范数(R*x - b)
Ans = 2.6645e-15

Lorsqu 'une infinité de金宝搏官方网站 solutions sont possibility, la solution avec la norme minimum présente un intérêt particulier。Vous pouvez utiliserlsqminnorm倒计算器la解决方案的规范最小au sens des moindres carrés。赛特解决方案présente拉加娇小价值可能倒常模(p)

p = lsqminnorm(R,b)
P = -207/137 365/137 79/137 -424/137

Résolution pour plusieurs côtés droits

当然problèmes预兆sur la résolution de systèmes linéaires qui comportent la même矩阵系数一个, mais différents côtés所有权b.Lorsque les différentes valeurs debSont disibles simultanément, vous pouvez construcirebComme une matrice avec plusieurs colonnes et résoudre tous les systèmes d ' équations simultanément à l ' aide d ' une seule command de反斜杠:X = A\[b1 b2 b3…]

Toutefois, il到达que différentes valeurs deb不知道如何安排même临时,如何安排résoudre豪华餐厅systèmes d ' équations consécutivement。Lorsque vous résolvez l' un de ces systèmes d ' équations à l' aide du slash (/) ou de l'antislash (\), l 'opérateur因数分解矩阵系数一个Et利用cette décomposition de la matrice倒计算器la解决方案。先登,à chque fois que vous résoudrez un système d ' équations similaire avec unbDifférent, l 'opérateur calculera la même décomposition de一个,计算冗余。

La solution à ce problème est de précalculer La décomposition de一个, puis de réutiliser les facteurs à résoudre pour les différentes valeurs deb.Cependant, en pratique, précalculer la décomposition de cette manière peut être艰难,car vous devez savoir quelle décomposition计算器(LU, LDL, Cholesky等)et评论乘数les facteurs pour résoudre le problème。例如avec la décomposition LU, vous devez résoudre deux systèmes linéaires pour résoudre le système d 'origineAx = b

[L,U] = lu(A);x = U \ (L \ b);

倒résoudre des systèmes linéaires avec plusieurs côtés droit consécutifs, il est plutôt recommandé d 'utiliser des objects分解.在性能方面的利益和优势方面的限制précalcul la décomposition maricielle, maiis ils ne nécessitent不是利用要素矩阵的方法。Vous pouvez remplacer la décomposition LU précédente par:

dA =分解(A,“陆”);x = dA\b;

Si vous n ' êtes pas certain de la décomposition à utiliser,分解(一)选择le type correct en function des propriétés de一个, comme le fait l'反斜杠。

简单的优势,可能的方法,就性能而言。Ce test résout le même système linéaire creux 100 fois avec l'反斜杠(\)等函数分解

N = 1e3;A = sprand(n,n,0.2) + speye(n);B = ones(n,1);%反斜杠解决方案抽搐k = 1:100 x = A\b;结束toc
运行时间为9.006156秒。
%分解溶液tic dA =分解(A);k = 1:100 x = dA\b;结束toc
运行时间为0.374347秒。

Pour ce problème, la solution de分解Est beaucoup + rapide que l 'utilisation de l'anti - slash seul, mais la syntax reste simple。

方法iteratives

Si la矩阵系数一个Est grande et creuse, les méthodes de factorisation ne sont généralement pas effaces。莱斯方法iterativesGénèrent une série de解金宝搏官方网站近似值。MATLAB提出plusieurs méthodes itératives pour traiter de grandes矩阵creuses。

函数 描述
pcg

Méthode du梯度conjugué avec préconditionnement。赛特méthode est appropriée pour la matrice hermitienne définie正A。

bicg

Méthode du梯度biconjugué

bicgstab

Méthode stabilisée du梯度biconjugué

bicgstabl

方法BiCGStab(左)

研究生院理事会

Méthode carrée du梯度conjugué

巨磁电阻

Généralisation de la méthode de最小化du résidu

lsqr

方法LSQR

minres

Méthode de minimisation du résidu。茜茜特méthode est appropriée pour la matrice hermitienne A。

qmr

Méthode de准最小化du résidu

symmlq

Méthode LQ symétrique

tfqmr

Méthode QMR sans transposion

计算多流

MATLAB支金宝app持le计算多线程倒加函数d 'algèbre linéaire等函数numériques calculées éléments par éléments。Ces函数'exécutent automatiquement sur plusieurs线程。Pour qu 'une function ou une expression s 'exécute加上加急处理,加急条件être回复:

  1. La function effect des opérations qui peuvent facilement être partitionnées en sections qui s 'exécutent simultanément。cessections doivent pouvoir s 'exécuter avec une communication limitée entre les procsus。Elles doivent nécessiter peu d 'opérations séquentielles。

  2. La taille des données est满足重要的条件,倒在有利的条件exécution simultanée fassent加上补偿的条件,需要的时间,倒分区,données et gérer des线程d 'exécution séparés。举例来说,la plupart des functions s 'accélèrent uniquement lorsque la matrice continental au minimum plusieurs milliers d ' éléments。

  3. L 'opération n 'est pas liée à la mémoire;La durée de traitement ne dépend pas de La durée d 'accès à La mémoire。En règle générale, les functions + complex sont davantage accélérées que les functions simple。

发票lscovlinsolvemldivideDémontrent une vitesse d'exécution意义accrue sur des矩阵grande tailles en double précision (de l’ordre de 10000 éléments ou plus) lorsque le multithreading est activé。

看到也

||||

我不安定群集

Factorisations

简介

三因子分解矩阵abordées dans cette节实用矩阵triangulaires, où tous les éléments au-dessus ou au-dessous de la diagonale sont égaux à zéro。Les systèmes d ' équations linéaires不完备的三角形矩阵à résoudre à l ' aide d ' une替换的墙面内

Cholesky分解

La factorisation de Cholesky exprime une矩阵symétrique comme le product d 'une矩阵triangulaire et de sa transposée

一个RR

REst une matrix triangaire supérieure。

Toutes les矩阵symétriques ne peuvent pas être factorisées de cette manière;Les矩阵qui présentent une因式分解de ce类型sont dites définies正数。Cela implied que tous les éléments de la diagonale de一个这是正确的事情éléments这是对角的事情。Les matrices de Pascal offrent un example intéressant。Tout au long de ce chapitre, la matrice一个utilisée comme示例était帕斯卡矩阵3 x 3。passsez temporaisement à la matrice de dimension 6 par 6:

A = pascal(6) A = 1 1 1 1 1 12 3 4 56 1 3 6 10 15 21 1 4 10 20 35 56 15 15 35 35 70 126 1 6 21 56 126 252

Les éléments de一个二项式系数。查克élément法国北部的索姆河东部和西部à。Cholesky est的因子分解

R =胆固醇(A) R = 1 1 1 1 1 1 0 1 2 3 4 5 0 0 1 3 6 10 0 0 0 1 4 0 0 0 0 1 5 0 0 0 0 0 1

Les éléments sont à新系数binomiaux。“事实”‘* REst égal à一个Démontre une identité不完备的二项式乘积。

标记

Cholesky贴花的因子分解également aux matrices complex。Cholesky满意的复矩阵因子分解

一个“一个

Et est diteHermitienne définie阳性

Cholesky的因子分解永久置换système linéaire

斧头b

票面价值

RRxb

Étant donné que l 'opérateur反斜线reconnaît les systèmes triangulaires, ceci peut être résolu rapidement dans l ' environment MATLAB avec

x = R\(R'\b)

如果一个A une taille denxn, la complexité算法胆固醇(A)美国东部时间O (n3.), mais la complexité de la solution précédente utilisant l’operateur anti - slash est seulement de O(n2).

Factorisation陆

拉因式分解卢,欧élimination德高斯-乔丹,exprime toute矩阵carrée一个Comme le product d 'une permutation d 'une matrix triangulaire inférieure et d 'une matrice triangulaire supérieure

一个

lEst une置换d 'une矩阵三角形inférieure对角线上的avec des 1 etUEst une matrix triangaire supérieure。

Les permutation sont nécessaires pour des raisons à la fois théoriques et liées au calculation。La矩阵

0 1 1 0

Ne peut pas être exprimée comme le product de matrices triangulaires sans échanger ses deux lignes。我爱你

ε 1 1 0

Puisse être exprimée comme le积矩阵三角形,lorsqueεEst petite, les éléments dans les facteurs sont grands et amplent les errors, c 'est pourquoi même si les permutation ne sont pas strictement nécessaires, elles sont souhaitables。Le pivot partiel garantit que les éléments delSont bornés à 1 en振幅et que les éléments deU我爱你,我爱你一个

举例:

[L,U] = lu(B) L = 1.0000 00 0.3750 0.5441 1.0000 0.5000 1.0000 0 U = 8.0000 1.0000 6.0000 0 8.5000 -1.0000 00 5.2941

喇因式分解吕得一个Permet de résoudre rapidement le système linéaire

A*x = b

x = U\(L\b)

Les déterminants et Les inverse sont calculés à partir de la factorisation LU avec

det(A) = det(L)*det(U)

inv(A) = inv(U)*inv(L)

Vous pouvez également calculator les déterminants à l 'aide dedet(A) = prod(diag(U)), bien que les signes des déterminants puissent être inversés。

Factorisation QR

一个矩阵orthogonale,我们有标准的柱体,我们有标准的柱体réelle我们没有标准的柱体和垂直的柱体1。如果Est orthogonale, alors

T

Est la matrice identité。

Les矩阵正交Les加简单sont des旋转de coordonnées à二维:

因为 θ θ θ 因为 θ

倒矩阵复合体,取相应的矩阵unitaire.Les矩阵正交和单位的sont intéressantes pour le计算numérique, car elles保守的Les longuurs ainsi que Les角度和放大的pas Les误差。

分解正交,ou QR, exprime toute矩阵矩形comme le producit d 'une矩阵正交ou unitaire et d 'une矩阵三角supérieure。Elle peut également隐式排列:

一个QR

美联社QR

Est orthogonale ou unitaire,REst三角形supérieure etPEst une排列。

存在四变量分解QR - complète ou réduite, et avec ou sans排列de colonnes。

Les systèmes linéaires surdéterminés不完备矩形矩阵加上柱面结构,c 'est -à-dire维数xn>n.喇分解QR完整产品une矩阵正交carrée德维xEt une矩阵三角形supérieure矩形R德维xn

C=gallery('uniformdata',[5 4], 0);[Q,R] = qr(C) Q = 0.6191 0.1406 -0.1899 -0.5058 - 0.5522 0.1506 - 0.4084 - 0.5034 - 0.5974 - 0.4475 0.3954 -0.5564 - 0.6869 -0.1478 -0.2008 0.3167 0.6676 0.1351 -0.1729 -0.6370 0.5808 -0.2410 -0.4695 0.5792 -0.2207 R = 1.5346 1.0663 1.2010 1.4036 0 0.7245 0.3474 -0.0126 00 0.9320 0.6596 00 00 0.6648 00 00 00

可是,莱斯M - nDernières colonnes deNe sont pas nécessaires, car elles sont multipliées par les 0 de la part basse deR.拉分解QR réduite产品donc une矩阵矩形德维xn正交柱面和三角形矩阵supérieure carréeR德维nxn.倒l ' example de dimension 5 x 4, le gain est limité, mais Pour des matrices plus grandes et très rectangulaires, les gain en temps et en mémoire peuvent être assez significatifs:

[Q,R] = qr(C,0) Q = 0.6191 0.1406 -0.1899 -0.5058 0.1506 - 0.4084 0.5034 0.5974 0.3954 -0.5564 0.6869 -0.1478 0.3167 0.6676 0.1351 -0.1729 0.5808 -0.2410 -0.4695 0.5792 R = 1.5346 1.0663 1.2010 1.4036 0 0.7245 0.3474 -0.0126 0 0 0.9320 0.6596 0 0 0 0 0.6648

contraiment à la factorisation LU, la factorisation QR ne nécessite pas de pivotement ou de permutations。Mais une排列兼列de colonne, déclenchée par la présence d 'un troisième参数de sortie, est utitile pour détecter une singularité ou une déficience de rang。À chque étape de la factorisation, la colonne de la matrice restante non factorisée, don la norme est la plus grande, est utilisée comme base pour cette étape。Ceci permet de garantir que les éléments de la diagonale deR显像排序décroissant等方式dépendance linéaire柱廊预确定方式révélée检验方式éléments。Pour le petit example donné ici, la deuxième colonne deC一件正常的事加上一件伟大的事première,一件美好的事échangées:

[Q,R,P] = qr(C) Q = -0.3522 0.8398 -0.4131 -0.7044 -0.5285 -0.4739 -0.6163 0.1241 0.7777 R = -11.3578 -8.2762 0 7.2460 0 0 P = 0 11 0

Lorsque les méthodes分解réduite和列的排列combinées, le troisième排列的参数和列的向量,plutôt排列的矩阵:

[Q,R,p] = qr(C,0) Q = -0.3522 0.8398 -0.7044 -0.5285 -0.6163 0.1241 R = -11.3578 -8.2762 0 7.2460 p = 2

喇因式QR变换un système linéaire surdéterminé en un système三角形équivalent。L 'expression

范数(A*x - b)

equivaut一

范数(Q*R*x - b)

矩阵正交乘法préserve欧几里得公式,表达式表达式est aussi égale à

范数(R*x - y)

y = Q'*b.Étant donné que les dernières-n行德RSont nulles, cette expression se scinde en deux parties:

范数(R(1:n,1:n)*x - y(1:n))

规范(y (n + 1: m))

一个Est de rang plein, il Est possible de la résoudre pourxDe manière à ce que la première De ces表达式soit nulle。第二种表达donne alors La norme du résidu。当一个N 'est pas de rang plein, la三角形结构ROffre la possibilité de trouver une solution basique au problème des moindres carrés。

利用du计算多线程倒分解

Le logiciel MATLAB支金宝app持Le计算多线程倒加函数d 'algèbre linéaire等函数numériques calculées éléments par éléments。Ces函数'exécutent automatiquement sur plusieurs线程。Pour qu 'une function ou une expression s 'exécute加上加急处理,加急条件être回复:

  1. La function effect des opérations qui peuvent facilement être partitionnées en sections qui s 'exécutent simultanément。cessections doivent pouvoir s 'exécuter avec une communication limitée entre les procsus。Elles doivent nécessiter peu d 'opérations séquentielles。

  2. La taille des données est满足重要的条件,倒在有利的条件exécution simultanée fassent加上补偿的条件,需要的时间,倒分区,données et gérer des线程d 'exécution séparés。举例来说,la plupart des functions s 'accélèrent uniquement lorsque la matrice continental au minimum plusieurs milliers d ' éléments。

  3. L 'opération n 'est pas liée à la mémoire;La durée de traitement ne dépend pas de La durée d 'accès à La mémoire。En règle générale, les functions + complex sont davantage accélérées que les functions simple。

qrDémontrent有活力的人'exécution双重总帐的意义累积précision (de l’ordre de 10000 éléments)。

看到也

||

我不安定群集

强力和指数

Ce thème蒙特雷评论计算器des幂等指数矩阵à l 'aide de dientielles méthodes。

Puissances d 'entiers positifs

如果一个Est une矩阵carrée etp联合国全体积极发言,谢谢^ p数据处理一个par elle-memep - 1次。举例:

A = [1 1 1 1 2 3 1 3 6];^ 2
ans =3×33 6 10 6 14 25 10 25 46

广义逆和分数项

如果一个Est carrée et non singulière, alors^ (- p)数据处理发票(一个)par elle-memep - 1次。

^ (3)
ans =3×3145.0000 -207.0000 81.0000 -207.0000 298.0000 -117.0000 81.0000 -117.0000 46.0000

MATLAB®计算发票(一个)^ (1)Avec le même算法,de sorte que les résultats sont exact les mêmes。发票(一个)^ (1)Génèrent两种方式的贸易优惠政策être singulière。

isequal(发票(A)、^ (1))
ans =逻辑1

Les puissances fragactionnelles, telles que^ (2/3), sont également permises。Les résultats价值量分布公式dépendent de la分布公式。

^ (2/3)
ans =3×30.8901 0.5882 0.3684 0.5882 1.2035 1.3799 0.3684 1.3799 3.1167

Puissances élément par élément

L 'operateur.^计算les puissances élément par élément。例如,pour élever au carré chque élément d 'une matrice, vous pouvez utilisera ^ 2

a ^ 2
ans =3×31 1 1 1 4 9 1 9 36

由于这种拉辛

La函数√6Est une manière pratique de calculator la Racine carrée de check élément d 'une矩阵。Une autre manière consisterà utiliser答:^ (1/2)

sqrt ()
ans =3×31.0000 1.0000 1.0000 1.0000 1.4142 1.7321 1.0000 1.7321 2.4495

Pour d 'autres racines, vous pouvez utilisernthroot.举例来说,微积分答:^ (1/3)

nthroot (3)
ans =3×31.0000 1.0000 1.0000 1.0000 1.2599 1.4422 1.0000 1.4422 1.8171

cesracines éléments par éléments diffèrent de la racine carrée matrielle, qui calcule une seconde matrice B 是某个 一个 BB .La函数sqrtm (A)计算的^ (1/2)à l 'aide d 'UN algorithme + précis。勒sqrtm区分不同的函数sqrt (), qui,来吧答:^ (1/2), procède élément par élément。

B = sqrtm(A)
B =3×30.8775 0.4387 0.1937 0.4387 1.0099 0.8874 0.1937 0.8874 2.2749
B ^ 2
ans =3×31.0000 1.0000 1.0000 1.0000 2.0000 3.0000 1.0000 3.0000 6.0000

基地scalaires

En plus d ' élever une matrice à une puissance, vous pouvez également élever un scalaire à la puissance d ' une matrice。

2 ^
ans =3×310.4630 21.6602 38.5862 21.6602 53.2807 94.6010 38.5862 94.6010 173.7734

Lorsque vous élevez unscalaire à la puissance d 'une矩阵,MATLAB中利用les valurs propres et les vectors propres d 'une矩阵倒计算器la puissance de la matrice。如果[V,D] = eig(A),那么 2 一个 V 2 D V - 1

[V,D] = eig(A);V * 2 ^ D * ^ (1)
ans =3×310.4630 21.6602 38.5862 21.6602 53.2807 94.6010 38.5862 94.6010 173.7734

矩阵的指数

矩阵指数特别的élévation标量à矩阵的力量。以指数为底,以矩阵为底,以欧拉为名义E = exp(1)

E = exp(1);e ^
ans =3×3103.× 0.1008 0.2407 0.4368 0.2407 0.5867 1.0654 0.4368 1.0654 1.9418

La函数expmEst une manière加上pratique de calculator les exponentielles d 'une matrix。

expm (A)
ans =3×3103.× 0.1008 0.2407 0.4368 0.2407 0.5867 1.0654 0.4368 1.0654 1.9418

L '指数de la矩阵peut être calculée de plusieurs manières。Consultez矩阵指数Pour + d ' information。

出卖小名

Les函数MATLABlog1pexpm1calculent 日志 1 + x e x - 1 De manière précise pour De très petites valeurs De x .举例来说,si vous essayez d 'additionner unnombre inférieur à la précision de la machine à 1, le résultat est arrondi à 1。

日志(1 + eps / 2)
Ans = 0

Cependant,log1pPeut renvoyer une réponse + précise。

log1p (eps / 2)
Ans = 1.1102e-16

De même pour e x - 1 ,如果 x Est très petit, il Est arrondi à zéro。

exp (eps / 2) 1
Ans = 0

再来一个,expm1Est capable de renvoyer une réponse加上précise。

expm1 (eps / 2)
Ans = 1.1102e-16

看到也

|||||||

我不安定群集

的值清洁的

Décomposition d'une matrice en éléments propres

一个的清洁的联合国等为了清洁的D 'une matrice carrée一个Sont,分别,UN scalaireλEt UN向量非零υ很满意à

一个υλυ

对角矩阵对角矩阵Λ与对角矩阵对应的对角矩阵V你说得对

AV

如果VEst非singulière, cette表达式devient la décomposition en éléments propres

一个1

系数矩阵équation différentielledx/dt一个xEst UN bon的例子:

A = 0 -6 -16 2 -16 -5 20 -10

La solution à cette équation est exprimée en terme d 'exponentielle de矩阵xt) =et一个x(0).L 'instruction

lambda = eig(A)

多恩联合国矢量柱体内容物价值支撑一个.浇铸母体,les valeurs propres sont complex:

Lambda = -3.0710 -2.4645+17.6008i -2.4645-17.6008i

La party réelle de acacune des valeurers propreest négative, donceλtS 'approche de zéro lorsquetaugmente。想象之党,没有价值的双零ω,合成振动器,sin(ωt), à la solution de l ' équation différentielle。

有两个论点,eig对角线上的向量和矩阵的计算:

[V,D] = eig(A)
V = -0.8326 0.2003 - 0.1394i 0.2003 + 0.1394i -0.3553 -0.2110 - 0.6447i -0.2110 + 0.6447i -0.4248 -0.6930 -0.6930 D = -3.0710 00 0 -2.4645+17.6008i 00 0 -2.4645-17.6008i

Le premier vector propreest réel et les deux aures vector sont des conjugués complex l 'un de l 'autre。Les trois vectors sont normalisés de manière à avoir une longueur euclidienne,规范(v, 2), égale à

La矩阵V * D *发票(V), qui peut être écrite de manière加上brèveV * D / V, est dans la marge d' errreur d'arrondi de一个.等发票(V) * * V,或者V \ * V, est dans la marge d' errreur d'arrondi deD

价值论支持倍数

某些矩阵n 'ont pas de décomposition en éléments propres。矩阵是可对角的。举例:

A = [1 -2 1 0 1 4 0 0 3]

倒牛奶

[V,D] = eig(A)

新的产品

V = 1.0000 1.0000 -0.5571 0 0.0000 0.7428 00 0.3714 d = 1 000 1 000 3

我的存在有双重价值àλ= 1。La première et La deuxième colonne deV是identiques。倾注母体,il n ' exist pas d 'ensemble complete de vecteurs propres linéairement indépendants。

Décomposition德舒尔

De nombreux计算矩阵avancés ne nécessitent pas De décompositions en éléments propres。Ils s 'appuient plutôt sur la décomposition de Schur

一个U年代U”,

U正交矩阵等年代Est une matrix triangaire supérieure对角线上的1 x 1和2 x 2。Les valeurs propres sont révélées par Les éléments de la diagonale et Les blos de年代,坦迪斯que les colonnes deU正正交的基础上的集合,propriétés numériques向量集合的集合。

例如comparez les décompositions de Schur et en éléments propres de cette matrice défectueuse:

A = [6 12 19 -9 -20 -33 4 9 15];[V,D] = eig(A)
V = -0.4741 + 0.0000i -0.4082 - 0.0000i -0.4082 + 0.0000i 0.8127 + 0.0000i 0.8165 + 0.0000i 0.8165 + 0.0000i -0.3386 + 0.0000i -0.4082 + 0.0000i -0.4082 - 0.0000i D = -1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 0.00000 i
[U,S] = schur(A)
U = -0.4741 0.6648 0.5774 0.8127 0.0782 0.5774 -0.3386 -0.7430 0.5774 s = -1.0000 20.7846 -44.6948 0 1.0000 -0.6096 0 0.0000 1.0000

La矩阵一个Est défectueuse, car elle ne comporte pas d 'ensemble complete de vecteurs propres linéairement indépendants (les deuxième et troisième colonnes deV是identiques)。Étant donné que toutes les colonnes deVNe sont pas linéairement indépendantes, elle a UN nombre de conditions élevé environ égal à1 e8.Cependant,舒尔Peut计算器三矢量基différents丹U.Étant donné queUorthogonale,cond(U) = 1

La矩阵年代compporte la valeur propre réelle comme première entrée sur la diagonale et la valeur propre répétée représentée par le bloc inférieur droit de dimension 2 x 2。Les valurs propres du bloc 2 x 2 sont également Les valeurs propres de一个

eig (S (2:3, 2:3))
Ans = 1.0000 + 0.0000i 1.0000 - 0.0000i

看到也

|

我不安定群集

的值singulieres

一个singuliere的数值et莱斯为了说明singuliers通信d 'une矩阵矩形一个Sont,分别,UN scalaireσEt une paire de vectorsuv很满意à

一个 v σ u 一个 H u σ v

一个 H Est la transposée hermitienne de一个.向量奇点uvSont généralement mis à l ' échelle pour avoir une norme de 1。En oute, siuv向量奇点一个,那么- u- v向量奇点一个合理。

Les valeurs singulièresσSont toujours réelles et non négatives, même si一个complexe。Avec les valeurs singulières对角矩阵Σ向量奇点对应于正交矩阵双柱矩阵UV, vous obtenez les équations

一个 V U Σ 一个 H U V Σ

Étant donné queUVSont des矩阵单位,乘数la première équation par V H à droite donne l ' équation de décomposition en valeurs singulières

一个 U Σ V H

La décomposition en valeurs singulières complète d 'une matrice de dimensionxnimplique:

  • La矩阵U德维x

  • La矩阵Σ德维xn

  • La矩阵V德维nxn

在术语上,UVSont toutes deux carrées,等ΣEst de la même taille que一个.如果一个一个波库普加de lignes que de colonnes (M > n),为你的母亲哀悼résultanteU德维x格兰德。独立的,巨大的柱体USont multipliées par des 0 dansΣ.丹斯塞特情况,拉décomposition摘要永久的économiser时间和储存与生产的关系U德维xn, une矩阵Σ德维nxnEt la même矩阵V

在经济规模分解中,如果U中的列在奇异值的对角线矩阵中乘以零,则可以忽略。

La décomposition en éléments propres est l 'outil approprié pour analyser une矩阵lorsqu 'elle représente un mapping d 'un空间vectoriel dans lui-même, comme c 'est le cas pour une équation différentielle ordinaire。可选,la décomposition en valeurs singulières est l 'outil approprié pour analyser un mapping d 'un space vectoriel dan un autre space vectoriel, avec电位元素une dimension différente。La plupart des systèmes d ' équations linéaires simultanées appartiennent à cette seconde catégorie。

如果一个Est carrée, symétrique et définie positive, alors ses décompositions en éléments propres et en valeurs singulières sont identiques。Mais, à度量que la symétrie et le caractère défini positif de一个小的,la différence entre les deux décompositions s 'accroît。En particulier, la décomposition En valeurs singulières d 'une matrice réelle est toujours réelle, mais la décomposition En éléments propres d 'une matrice réelle non symétrique peut être complexe。

Pour la matrice donnée comme示例

A = 9 4 6 8 2 7

La décomposition en valeurs singulières complète est

[U,S,V] = svd(A) U = 0.6105 -0.7174 0.3355 0.6646 0.2336 -0.7098 0.4308 0.6563 0.6194 S = 14.9359 0 0 5.1883 0 0 V = 0.6925 -0.7214 0.7214 0.6925

Vous pouvez vérifier queU * * V”Est égal à一个Dans la marge d' errreur d'arrondi。Pour ce petit problème, la décomposition réduite est seulement légèrement + petite。

[U,S,V] = svd(A,0) U = 0.6105 -0.7174 0.6646 0.2336 0.4308 0.6563 S = 14.9359 0 0 5.1883 V = 0.6925 -0.7214 0.7214 0.6925

再来一个,U * * V”Est égal à一个Dans la marge d' errreur d'arrondi。

分批计算SVD

Si vous devez décomposer un ensemble de matrices de la même dimension, il ne sera pas efface d ' efftuer tout les décompositions en boucle avec圣言会.miieux vaut concaténer toutes les矩阵au sein d 'un tableau多维度和应用程序pagesvdPour effectuer les décompositions en valeurs singulières sur l'ensemble des couches (pages) du tableau avec UN seul appel de function。

函数 利用
pagesvd pagesvdPour effectuer les décompositions en valeurs singulières sur les couch d 'UN tableau multidimensionnel。C 'est une manière有效性une SVD sur unensemble重要矩阵ayant tout la même维。

2 * 2维三矩阵集合的Prenons l ' example。Concaténez les matrices dans un tableau 2 x 2 x 3 avec la函数

A = [0 -1;1 0];B = [-1 0;0 1];C = [0 1;1 0];X = cat(3,A,B,C);

À présent, utilisezpagesvd倒效果simultanément les trois décompositions。

[U,S,V] = page (X);

À chque couche deX记者des couch dans les sortiesU年代,等。V.例如,la matrice一个Se trouve sur la première couche deX, et sa décomposition est donnée parU (:: 1) * S (:,: 1) * V(:,: 1)”

近似SVD不合格

倾其所能,尽其所能圣言会将计算所有的我们的价值singulières和我们的矢量,奇异的人,和我们的日常生活。例如,si vous ne devez connaître que quelque -unes des valurs singulières les plus grandes, le fait de calculator tout les valurs singulières d 'une matrice creuse de 5 000 x 5 000 représente un travail supplémentaire。

Dans les cas où seul un sousoussensemble des value singulières et des vectors singular ers est requis, les functions圣言会svdsketchSont préférables à圣言会

函数 利用
圣言会 圣言会倒计算器une近似de rangk德拉SVD。pouvez spécifier si le soussensemble de valeurs singulières doit être le + grand, le + petit ou le + proche d 'un nombre spécifique。圣言会计算généralement la meilleure近似de rangk可能的。
svdsketch svdsketch倒计算器une SVD粒子德拉矩阵d 'entrée et satisant une tolérance spécifiée。那么,圣言会Nécessite que vous spécifiiez le rang,svdsketchDétermine de manière adaptivtive le range de l 'esquisse de matrice en function de la tolérance spécifiée。范围的近似k什么svdsketch利用满意à la tolérance, mais, contraition à圣言会“这是最不可能的事情。”

例如,假设矩阵折痕aléatoire de 1 000 x 1 000 avec une densité d 'environ 30%。

N = 1000;A = sprand(n,n,0.3);

Les six valeurs singulières Les plus grandes sont

S = svds(A) S = 130.2184 16.4358 16.4119 16.3688 16.3242 16.2838

Et les six valeurs singulières les plus petites sont

S = svds(A,6,' minimal ') S = 0.0740 0.0574 0.0388 0.0282 0.0131 0.0066

Pour des矩阵+ petites capables de tenir en mémoire sous la formme d 'une matrice entière,完整的(一个), l 'utilisation de圣言(全(A))Peut être加上rapide que圣言会svdsketch.可判断的倒矩阵的宏伟和creuses, il偏差nécessaire d 'utiliser圣言会svdsketch

看到也

||||

我不安定群集