我需要在中间创建一个数字为1的5x5矩阵。我不允许明确输入元素。
我正在使用这个,
repmat(eye(5),1)
提供
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
我如何摆脱不在中间的那个?
答案 0 :(得分:6)
另一个班轮:
padarray(1,[2 2])
答案 1 :(得分:4)
虽然我没有明白这个问题,但有很多选择,想到奇怪的问题很有趣: - )
A = eye(5); A = A.*rot90(A)
A = eye(5); A = A.*flipud(A)
A = A + flipud(A); A = A==max(A(:))
A = zeros(5); ind = ceil(numel(A)/2); A(ind) = ~A(ind)
A = magic(5); A = A==sum(A(:,1))/size(A,1)
答案 2 :(得分:4)
添加到Luis's answer,滥用图片处理工具箱的方法:
>> fspecial('gauss',[5 5], eps)
我敢打赌Gauss不会喜欢......
您也可以使用线性索引
>> A = reshape( 1:25, [5 5] ) == 13;