Why doesn't this work?
Afficher commentaires plus anciens
clc,clear
prompt = 'Give a matrix of 4x4: ';
x = input(prompt);
[m,n] = size(x);
M=magic(4);
f=sum(M);
g=sum(M')';
if m~=4 | n~= 4
disp('The matrix is not a 4x4 please start again and fix the error.')
else
for i=1:16
if x(i)<=0
disp('Error one of the numbers put in was either a zero or negative, Fix it and start over.')
if sum(x)~=f && sum(x)~=g
disp('This is not a magic matrix, please start over, and do it right. ')
end
end
end
end
disp(x)
disp(sum(x))
disp(sum(x')')
Made a some changes to make it a bit easier, my question is basically why does 'sum(x)~=f && sum(x)~=g' not seem to be working, 4x4s that arent magic(4) seem to still be getting passed, and not denied.
1 commentaire
Collin Kerr
le 2 Avr 2016
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Operating on Diagonal Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!