如何将值分配给矩阵的最后2行?

时间:2014-10-16 11:41:14

标签: matlab matrix

嗨我有这个代码

r = input('key in row: ');
c = input('key in column: ');

board = zeros(r,c);

for i = 1:r
for j = 1:c
     board(i,j) = 1

     if i > 2

         board(i,j) = 0




     end

end
end

无论用户输入的'r'和'c'是什么,我都希望始终将矩阵的最后2行赋值为'2'。

2 个答案:

答案 0 :(得分:3)

只需在循环后执行以下操作:

>> board(end-1:end,:)=2

答案 1 :(得分:0)

为什么不避免循环而只是做

board = [ones(2,c);zeros(r-4,c);2*ones(2,c)];

这适用于r> 3。对于较小的r,不清楚问题的期望行为是什么,但对于这些情况,类似的方法是显而易见的。