我有一个矩阵B,想要得到一个维度为(L+k)*m乘以L*n的矩阵C。其中L和k是输入值。B0、B1、...、Bk的大小为m乘以n。请保留HTML标签。
例如:
如果我有一个矩阵
那么得到的矩阵
我的程序解决了
我的代码:
结果:
我很难为任何给定的矩阵 B 以及任何值的 k 和 L 进行概括。
有什么建议吗?
如果我有一个矩阵
B = [1 1 ; 1 1 ; 1 1]
,其中B0 = [1 1]
,B1 = [1 1]
和B2 = [1 1]
,每个B0,B1,B2
的维度为1
乘以2
,其中k = 2
且L = 4
。那么得到的矩阵
C
为C = [1 1 0 0 0 0 0 0 ; 1 1 1 1 0 0 0 0 ; 1 1 1 1 1 1 0 0 ; 0 0 1 1 1 1 1 1 ; 0 0 0 0 1 1 1 1 ; 0 0 0 0 0 0 1 1]
,维度为6
乘以8
。
我希望能将我的程序推广到任何大小的矩阵 B
。我的程序解决了
B = [1 1 ; 1 1 ; 1 1]
的问题,其中 m = 1
,n = 2
,k = 2
和 L = 4
。我的代码:
clc;
clear;
k = 2;
L = 4;
B = [1 1 ; 1 1 ; 1 1];
B0 = [1 1];
B1 = [1 1];
B2 = [1 1];
m = size(B0,1);
n = size(B0,2);
c = [B ; zeros(size(B))];
C = zeros((L+k)*m,L*n);
for i = 1:L
C(:,2*i-1:2*i) = circshift(c,i-1,1);
end
结果:
结果: C =
1 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0
1 1 1 1 1 1 0 0
0 0 1 1 1 1 1 1
0 0 0 0 1 1 1 1
0 0 0 0 0 0 1 1
我很难为任何给定的矩阵 B 以及任何值的 k 和 L 进行概括。
有什么建议吗?
size(B,1)/(k+1)
不输出整数的情况。你可以在你的答案中加入这个选项,这样我就可以删除我的建议了。 - obchardonsparse
)来创建0-1矩阵。 - Luis Mendo