arrays - 如何以不同的增量进行非循环移位?
问题描述
我有一个 100x100 数组(A),我试图弄清楚如何以不同的增量非循环地将它们向右移动。例如,我希望第 1 行不移动,第 2 行移动 10,第 3 行移动 20,第 4 行移动 30,第 5 行移动 40,并让它每 5 行重复一次这个过程。我怎样才能做到这一点?
A = rand(100,100);
Shift_Factor = ?;
Fill_Value = 0;
[Number_Of_Rows,Number_Of_Columns] = size(A);
A = [A zeros(Number_Of_Rows,Shift_Factor)];
for Row = 1: Number_Of_Rows
A(Row,:) = [Fill_Value*ones(1,Shift_Factor) A(Row,1:end-Shift_Factor)];
end
我试过设置Shift_Factor to [0,10,20,30,40]
,但也没有用
解决方案
我假设这是将相应的行向右移动。外部 for 循环以 5 为一组遍历行块。内部 for 循环从 0 迭代到 4 并创建一个变量,该变量Row
计算相对于Target_Group
and的目标行Relative_Row
。有Shift_Value
要使用的是相对于计算的Relative_Row
。
A = rand(100,100);
Fill_Value = 0;
for Target_Group = 1: +5: length(A)
for Relative_Row = 0: 4
Row = Target_Group+Relative_Row;
Shift_Value = Relative_Row*10;
A(Row,:) = [Fill_Value*ones(1,Shift_Value) A(Row,1:end-Shift_Value)];
end
end
推荐阅读
- angular - 无法以角度获取价值形式的服务类
- c# - 如何转换委托`Fun
>>` 到 `功能 >`? - regex - htaccess:如果它包含某些字符串,则重定向到部分 url
- java - 点对点聊天不接收/发送消息
- angular - 实例化动态文本字段
- sql - 用于访问数据库的 sql
- python-3.x - 将超类作为实例化参数的 Python 子类?
- python - 使用 ax.bar() 使用 matplotlib 绘制多个条形图
- angular - 我可以使用 cellRendererSelector 为每一行提供自己的 cellRenderer
- c# - 如何制作指定的xml格式文件