9
votes

Résoudre une matrice dans Matlab?

Comment résoudre la solution (non triviale) AX = 0 pour x dans MATLAB ? XXX

J'ai essayé de résoudre ('A * x = 0', 'x') mais je n'ai que 0 pour une réponse.


4 commentaires

L'inversibilité n'est pas particulièrement pertinente (par elle-même).


Si A est inversible, la seule solution à AX = 0 est 0, non?


Vrai, mais il s'agit d'une réponse limitée et spéciale à un problème plus général.


@Peter, je pense que ce que Manji essaie de dire, c'est que GET 0 est peut-être le seul résultat valide au cas particulier.


4 Réponses :


9
votes

Vous pouvez utiliser n = null (a) pour obtenir une matrice n . Toute des colonnes de n (ou, en effet, toute combinaison linéaire de colonnes de n ) satisfaire ax = 0 . Ceci décrit tout possible ce x - vous venez de trouver une base orthogonale pour l'espace nulls de a .

Remarque: vous ne pouvez trouver qu'un tel x si a a non trivial NullSpace. Cela se produira si rang (a) <#cols d'un .


2 commentaires

Mon rang (a) = # froid. Comment "diminuer" la valeur du rang? Aussi null (a) = matrice vide: 12-by-0.


Vous devriez examiner les approximations de bas rang. Vous pouvez utiliser le SVD pour cela.



1
votes

Vous pouvez voir si MATLAB a une décomposition de valeur singulière dans sa boîte à outils. Cela vous donnera l'espace nul du vecteur.


5 commentaires

Ce serait SVD, ce qui aboutirait au même résultat que NULL (a).


Ils utilisent différentes méthodes numériques.


Pas vraiment, NULL (A) utilise SVD - Mathworks.com/access/helpdesk/help/techdoc/index.html?/acces s / ...


Mes excuses. J'ai supposé qu'il a utilisé l'algorithme QR.


Je suis entré plus en détail dans ma réponse



13
votes

Veuillez noter que NULL (A) fait la même chose (pour une matrice déficiente de rang) forte> comme suit, mais ceci utilise la fonction SVD (A) code> dans Matlab (qui comme je l'ai mentionné dans mes commentaires est ce que null (a) code> fait).

[U S V] = svd(A);
x = V(:,end)


0 commentaires

0
votes

null (a) code> vous donnera la réponse directe. Si vous avez besoin d'une solution non professionnelle, essayez de réduire la forme d'échelon de ligne et renvoyez la première page du PDF.

R = rref(A)


0 commentaires