input = input('Please enter a number between 1 to 5: ');
counter = 0;
mat= zeros(5,5)
if input == 1
while mat(1)~= 1 && mat(7)~= 1 && mat(13)~= 1 && mat(19)~= 1 && mat(25) ~= 1
mat= randi (10,5);
counter = counter +1;
end
a = mat
fprintf('%d matrices were generated to find a good one\n', counter )
end
我可以让系统检查对角线路径,只包含1' 1'满足要求。但是,
如何让系统检查对角线路径是否包含2或3或4' 1'?
答案 0 :(得分:1)
您可以使用diag
。要查找对角线上有多少元素是4,您可以这样做:
sum(diag(A) == 4)
如果您想知道它是否包含2个1
,那么您可以:(sum(diag(A) == 1) == 2)
。
diag
返回矩阵的对角线。 diag(A) == 4
返回逻辑向量,其中对角线为4,其他位置为0。通过对所有1的求和,您可以找到4的总数。