How to replace elements of a matrix with the scaled identity?
1 次查看(过去 30 天)
显示 更早的评论
I have some arbitrary square matrix, for example:
A = [ 1 2 3; 4 5 6; 7 8 9 ];
I would like to replace each element with its scalar value multiplied by the identity of some size n. For example, taking n=2, I want to get:
B = [ 1 0 2 0 3 0;
0 1 0 2 0 3;
4 0 5 0 6 0;
0 4 0 5 0 6;
7 0 8 0 9 0;
0 7 0 8 0 9 ];
Since the size n is constant, the matrix B is guaranteed to have consistent dimensions. Is there a quick way to do this without having to loop over the elements of A and find the corresponding indices of B to place the identity?
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!