Find the transformation matrix
32 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
reincornator
il 1 Lug 2021
Commentato: John D'Errico
il 1 Lug 2021
How to find the transformation matrix in MATLAB?
For example:
x1=[1;2];
x2=[4;5];
y1=[3;4];
y2=[2;1];
y1=S*x1;
y2=S*x2;
where S=[s1 s2; s3 s4]
Which function will help you find S?
upd №1: I know how to do it on a piece of paper. But maybe there is a standard function in MATLAB.
0 Commenti
Risposta accettata
John D'Errico
il 1 Lug 2021
First, learn to use matrices, NOT numbered variables. Assuming that you have a matrix X, and a matrix Y, with x1 x2, y1, y2 as columns...
x1=[1;2];
x2=[4;5];
y1=[3;4];
y2=[2;1];
X = [x1,x2];
Y = [y1,y2];
then ONLY if the matrix X is non-singular does a solution exist. So is X singular? It must be of full rank if it is non-singular, or a small condition number.
rank(X)
cond(X)
So X is non-singular. In that case,
format long g
S = Y/X
Does S work? Of course. I could also have written it as S = Y*inv(X), but Y/X is a better choice in MATLAB.
norm(Y - S*X)
So effectively zero, only floating point trash remains.
4 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Linear Algebra in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!