Arrays 在每隔一列之间插入一个常量数组
比方说,我有一个Arrays 在每隔一列之间插入一个常量数组,arrays,matlab,matrix,insert,Arrays,Matlab,Matrix,Insert,比方说,我有一个mxn矩阵。现在,我想在每个N列之间插入一个常量m1列向量(比如全部1)。因此,我得到的矩阵是维数(mx(2*N-1)),每列为1 有没有一种简单的方法可以做到这一点?如果您不介意创建一个临时矩阵,一种方法是执行以下操作: old_matrix = rand(M,N); % Just for example new_matrix = ones(M,2*N-1); new_matrix(:,1:2:end) = old_matrix; new_matrix = repmat(co
mxn
矩阵。现在,我想在每个N
列之间插入一个常量m1
列向量(比如全部1)。因此,我得到的矩阵是维数(mx(2*N-1)
),每列为1
有没有一种简单的方法可以做到这一点?如果您不介意创建一个临时矩阵,一种方法是执行以下操作:
old_matrix = rand(M,N); % Just for example
new_matrix = ones(M,2*N-1);
new_matrix(:,1:2:end) = old_matrix;
new_matrix = repmat(const_array,1,2*N-1);
请注意,对于任意常数矩阵,可以使用以下内容替换第二行:
old_matrix = rand(M,N); % Just for example
new_matrix = ones(M,2*N-1);
new_matrix(:,1:2:end) = old_matrix;
new_matrix = repmat(const_array,1,2*N-1);
如果您不介意创建临时矩阵,一种方法是执行以下操作:
old_matrix = rand(M,N); % Just for example
new_matrix = ones(M,2*N-1);
new_matrix(:,1:2:end) = old_matrix;
new_matrix = repmat(const_array,1,2*N-1);
请注意,对于任意常数矩阵,可以使用以下内容替换第二行:
old_matrix = rand(M,N); % Just for example
new_matrix = ones(M,2*N-1);
new_matrix(:,1:2:end) = old_matrix;
new_matrix = repmat(const_array,1,2*N-1);
垂直连接一个由一个矩阵组成的矩阵,重塑形状,并切断最后一列的一个矩阵。对于矩阵
a
:
B = reshape([A; ones(size(A))],size(A,1),[]);
B(:,end)=[]
垂直连接一个由一个矩阵组成的矩阵,重塑形状,并切断最后一列的一个矩阵。对于矩阵
a
:
B = reshape([A; ones(size(A))],size(A,1),[]);
B(:,end)=[]
下面是另一种方法,可以在作业中使用越界索引:
M(:,1:2:end*2)=M;
M(:,2:2:end)=1
下面是另一种方法,可以在作业中使用越界索引:
M(:,1:2:end*2)=M;
M(:,2:2:end)=1
谢谢!这对汉克斯很有帮助!那有帮助