【发布时间】:2017-06-30 03:20:42
【问题描述】:
我有以下代码生成一个大小为 (i*2,j) 的矩阵,随机填充 (0,1)
i=input('i:');
j=input('j:');
B=randi([0 1], i*2,j);
我现在想在前一个矩阵的中间只用零填充 4 线(位置并不重要)。最快的方法是什么 谢谢你 。
【问题讨论】:
-
在这种情况下,最好在您询问的操作之前和之后提供一个小矩阵示例。
我有以下代码生成一个大小为 (i*2,j) 的矩阵,随机填充 (0,1)
i=input('i:');
j=input('j:');
B=randi([0 1], i*2,j);
我现在想在前一个矩阵的中间只用零填充 4 线(位置并不重要)。最快的方法是什么 谢谢你 。
【问题讨论】:
如果按行表示行,那么这应该可以:
B(5:8,:) = 0;
% Where 5:8 can be any values you want, this is just an example
【讨论】:
这应该通过在中间迭代 4 行来工作:
for k = i-2:i+2
B(k,:) = 0
end
或者以下应该是更快的方法:
B(i-2:i+2, :) = 0
给定 i*2 是您的行数,因此 i-2 到 i+2 应该是中间四行。
【讨论】: