How to insert two matrices into a matrix?

I would like to insert my matrices: R, R' and t,t' into an identity 4x4 matrix.
Then I would like to multiple them and as a result store from the final 4x4 matrix just the R^(3x3) and t^(3x1) matrices.
Thank you in advance for your help!

 Risposta accettata

KSSV
KSSV il 22 Nov 2016
Modificato: KSSV il 22 Nov 2016
I = eye(4) ;
R = rand(3) ;
t = rand(3,1) ;
I(1:3,1:3) = R ;
I(1:3,4) = t ;
or
I = eye(4) ;
R = rand(3) ;
t = rand(3,1) ;
I(1:3,1:4) = [R t]

Più risposte (1)

The first concatenation is simply:
[Rprime, tprime; 0 0 0 1]
The second:
[R, t; 0 0 0 1]
and so on.

2 Commenti

Thank you! And how would you save out the vector and the matrix from the result?
You're talking about Rhat and that, then:
p = [Rprime, tprime; 0 0 0 1] * [R, t; 0 0 0 1];
Rhat = p(1:3, 1:3);
that = p(1:3, 4);

Accedi per commentare.

Categorie

Richiesto:

il 22 Nov 2016

Commentato:

il 22 Nov 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by