Matlab, operator A/B

88 vues (au cours des 30 derniers jours)
bayertom
bayertom le 14 Nov 2012
The manual is written:
A\B returns a least-squares solution to the system of equations A*x= B.
It means: x = inv (A'*A)*A'*B? However, the matrix A'*A is singular...
Let us suppose to have two row vectors:
A=[1 2 3]
B=[6 7 6]
A\B
[0 0 0;
0 0 0;
2.0000 2.3333 2.0000]
If ve use MLS:
C = inv (A'*A) singular matrix
C = pinv(A'*A)
[0.0051 0.0102 0.0153
0.0102 0.0204 0.0306
0.0153 0.0306 0.0459]
And
D= C*A'*B
[0.4286 0.5000 0.4286
0.8571 1.0000 0.8571
1.2857 1.5000 1.2857]
So results A\B and inv (A'*A)*A'*B are different... Could anybody wrote me a sequence of Matlab commands in the backgeound of A/B operation in this case?
  1 commentaire
Matt J
Matt J le 14 Nov 2012
I think you really meant so say that pinv(A'*A)*A'*B and A\B are different. When A is singular inv (A'*A)*A'*B is undefined.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 14 Nov 2012
When A is singular there are infinite least squares solutions to A*X=B and A\B will pick just one of them, while pinv(A)*B picks another.
A/B is equivalent to (B'\A')'

Plus de réponses (0)

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by