我想构建以下矩阵
A(3x3) B(3x3N)
F = [|1 0 0| |0 0 0 0 0 0 0 0 0 0 0 0 ... 0 0 0|;
(6x3+3N) |0 1 0| |0 0 0 0 0 0 0 0 0 0 0 0 ... 0 0 0|;
|0 0 1| |0 0 0 0 0 0 0 0 0 0 0 0 ... 0 0 0|;
------- -----------------------------------
|0 0 0| |0 0 0 1 0 0 0 0 0 0 0 0 ... 0 0 0|;
|0 0 0| |0 0 0 0 1 0 0 0 0 0 0 0 ... 0 0 0|;
|0 0 0| |0 0 0 0 0 1 0 0 0 0 0 0 ... 0 0 0|];
C(3x3) D(3x3N)
B & C
总是零。A
是一个单位矩阵。D
很棘手。这些是基于索引指定的。例如,如果索引是0
,那么D
是
|1 0 0 0 0 0 0 0 0 0 0 0 ... 0 0 0|;
|0 1 0 0 0 0 0 0 0 0 0 0 ... 0 0 0|;
|0 0 1 0 0 0 0 0 0 0 0 0 ... 0 0 0|;
D(3x3N)
如果索引是1
那么D
是
|0 0 0 1 0 0 0 0 0 0 0 0 ... 0 0 0|;
|0 0 0 0 1 0 0 0 0 0 0 0 ... 0 0 0|;
|0 0 0 0 0 1 0 0 0 0 0 0 ... 0 0 0|;
D(3x3N)
如何在 Eigen 库中完成此过程?我知道如何在 Eigen 中创建矩阵,但我不知道如何将它们构造为一个矩阵。