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!