is there any correction..?

I am doing Singular value decomposition using this.
Xi = [1 2;3 4]; Yi = [1 2;3 4]; Zi = [1 2;3 4];
A=[Xi,Yi,Zi,ones(length(Xi),1)];
[U S V] = svd(A)
Now, i want to do the same without function. so, i written little as below.
Xi = [1 2;3 4]; Yi = [1 2;3 4]; Zi = [1 2;3 4];
A=[Xi,Yi,Zi,ones(length(Xi),1)];
f = eig(A'*A);
for l = 1:length(f);
p(l) = sqrt(f(l));
end
S = diag(p);
[U,D] = eig(A*A');
[V,D] = eig(A'*A);
V = V';
U
S
But in answer i am getting only some of its elements same in matrix. And remaining are different. So, please suggest any modification if there or solution..?

Answers (1)

Walter Roberson
Walter Roberson on 20 Feb 2013

0 votes

In your second bit of code, your S is a square diagonal matrix, not a diagonal matrix the same size as A.

1 Comment

Lalit Patil
Lalit Patil on 20 Feb 2013
Edited: Lalit Patil on 21 Feb 2013
Then what change to do in S.?
And before S i want to solve problem of U and V.
What change to do in them.?

Sign in to comment.

Categories

Asked:

on 18 Feb 2013

Community Treasure Hunt

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

Start Hunting!