Matlab, operator A/B

84 views (last 30 days)
bayertom
bayertom on 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 Comment
Matt J
Matt J on 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.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 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')'

More Answers (0)

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!