2012-05-29 2 views
1

J'ai écrit le code pour la factorisation LU, pour le pivotement partiel et aussi pour le pivotement complet. Maintenant, je veux trouver la "vraie" solution de l'équation A*x = b. La vraie solution est sans utiliser le pivotement (partiel/complet), et aucune factorisation LU.Comment résoudre un système linéaire d'équations dans Matlab sans LU et sans pivotement?

Comment est-ce que je peux faire ceci dans matlab? Je suppose que ce devrait être un seul mot enregistré, mais pas linsolve, puisque il utilise LU factorization with partial pivoting when A is square and QR factorization with column pivoting otherwise.

Merci

Répondre

3

est-A inversible?

Si oui, alors

x= A\b; %This is preferred to x=inv(A)*B; 

devrait faire l'affaire. Si A est au singulier, vous pouvez utiliser la commande svd() pour trouver sa pseudo-inverse.

+1

Pourquoi utiliser svd pour trouver un pseudo-inverse, quand pinv est là pour votre usage? Ne réinventez pas la roue. –

Questions connexes