【发布时间】:2015-08-08 22:59:20
【问题描述】:
我正在尝试检查方阵中所有可能的对角线和反对角线中是否有多个真值,并返回真,否则返回假。 到目前为止,我已经尝试过以下方法,但并未涵盖所有可能的对角线:
n=8; %matrix dimension 8 x 8
diag= sum(A(1:n+1:end));
d1=diag>=2;
antiDiag=sum(A(n:n-1:end));
d2=antiDiag>=2;
if ~any(d1(:)) || ~any(d2(:))
res= true;
else
res=false;
end
这是假的:
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
这是真的:
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
由于这是我使用 Matlab 的第一步,是否有特定的功能或更好的方法来实现我正在寻找的结果?
【问题讨论】:
-
你能编辑显示矩阵
A吗? -
@SanthanSalai 更新输出样本