我想檢查一個方陣中是否有多個真值在所有可能的對角線和反對角線上,並返回true,否則返回false。 到目前爲止,我已經嘗試如下,但並不涵蓋所有可能的對角線:檢查方陣中所有的方位角是否爲真
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更新輸出樣本 – FeliceM