How to do SVD without function..?
显示 更早的评论
I have a Three parameters Xi,Yi,Zi.. and I am finding a SVD of them..
A=[Xi,Yi,Zi,ones(length(Xi),1)];
[U,S,V]=svd(A);
ss=diag(S);
i=find(ss==min(ss));
coeff=V(:,min(i));
coeff=coeff/norm(coeff(1:3),2);
and i am getting four parameters for plane.. the code is ok.. but,
is there any method to do SVD without using SVD function..?
6 个评论
Walter Roberson
2012-11-26
i=find(ss==min(ss));
can be replaced with
[junk, i] = min(ss);
and you will not need to take min(i) on the next line, just i.
Walter Roberson
2012-11-26
Is there a particular reason for wanting to do SVD without using the SVD function? Knowing your reason might help people select the best alternative for you.
Lalit Patil
2012-11-26
Lalit Patil
2012-11-26
Walter Roberson
2012-11-26
The blog has a bunch of links.
回答(1 个)
Walter Roberson
2012-11-26
0 个投票
2 个评论
Lalit Patil
2012-11-27
Walter Roberson
2012-11-27
That is the code that is used by MATLAB (though it is not impossible that Mathworks has tweaked the code.) Everything that is documented about exactly how MATLAB's SVD function operates is in that source code (when you include the related files for the routines it calls.)
类别
在 帮助中心 和 File Exchange 中查找有关 Linear Algebra 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!