Way to solve AX=XB
24 ビュー (過去 30 日間)
古いコメントを表示
Is there any implementation of Tsai and lenz's (Or any other) method for solving AX=XB for hand- Eye Calibration?
0 件のコメント
回答 (3 件)
Matt J
2023 年 1 月 28 日
編集済み: Matt J
2023 年 1 月 28 日
[ma,na]=size(A);
[mb,nb]=size(B);
%size(X)=[na,mb]
X=null( kron(speye(mb),A) - kron(B.',speye(na)) );
X=reshape(X,na,mb,[]);
2 件のコメント
the cyclist
2023 年 1 月 28 日
I couldn't get this method to work. Am I overlooking something dumb?
rng default
A = rand(5);
B = rand(5);
[ma,na]=size(A);
[mb,nb]=size(B);
X=null( kron(speye(mb),A) - kron(B.',speye(na)) );
X=reshape(X,na,mb,[]);
Bruno Luong
2023 年 1 月 28 日
編集済み: Bruno Luong
2023 年 1 月 28 日
null can only work wth full matrix
rng default
A = rand(5);
XX = rand(5);
B = XX\(A*XX);
[ma,na]=size(A);
[mb,nb]=size(B);
K=null( kron(eye(mb),A) - kron(B.',eye(na)));
R = rand(size(K,2),1); % Any random vector with this size will do the job
X = reshape(K*R,[na,mb])
norm(A*X-X*B)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!