Rotation that maximises a vector length

1 visualizzazione (ultimi 30 giorni)
Fabio Freschi
Fabio Freschi il 8 Mar 2017
Commentato: Fabio Freschi il 9 Mar 2017
Hi all,
I have a problem that is more related to linear algebra than Matlab itself, even if I would like to solve it with Matlab.
I have a 3*3 tensor 'K' that applied to a vector 'b' returns another vector 'm'
m = K*b;
Let's suppose that the vector 'b' has a fixed magnitude but the orientation is arbitrary. Now, I would like to find the rotation to apply to 'b' such that the magnitude of 'm' is maximum.
For example (but this is trivial), let's assume unitary 'b' and
K = [2 0 0; 0 0 0; 0 0 0];
The direction with maximum 'm' is with
bR = [1 0 0];
The solution can be not unique, and the problem is not well posed, but I wonder if there is a procedure to extract at least one direction of 'b' that maximises the length of 'm' for a generic tensor 'M'.
Thank you in advance Fabio
  6 Commenti
Torsten
Torsten il 9 Mar 2017
Modificato: Torsten il 9 Mar 2017
That's how I understand what the OP's questions:
K is a given matrix (it does not need to be a rotation matrix) together with an arbitrary vector b.
Now the OP searches for a rotation matrix R such that K*R*b has maximum length.
In other words:
The OP searches for a vector y with |y| = |b| such that |K*y| is maximized. And without loss of generality, we can assum |y| = 1.
Best wishes
Torsten.
Fabio Freschi
Fabio Freschi il 9 Mar 2017
Torsten is right. K does not need to be a rotation matrix.
Thanks for your help!
Fabio

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Interpolation 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!

Translated by