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!

 採用された回答

KSSV
KSSV 2016 年 11 月 22 日
編集済み: KSSV 2016 年 11 月 22 日

0 投票

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]

その他の回答 (1 件)

Guillaume
Guillaume 2016 年 11 月 22 日

0 投票

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

2 件のコメント

Nora Hora
Nora Hora 2016 年 11 月 22 日
Thank you! And how would you save out the vector and the matrix from the result?
Guillaume
Guillaume 2016 年 11 月 22 日
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);

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

2016 年 11 月 22 日

コメント済み:

2016 年 11 月 22 日

Community Treasure Hunt

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

Start Hunting!

Translated by