What would I need to make 'i' allow all matrices?

1 visualizzazione (ultimi 30 giorni)
clc,clear
prompt = 'Give a matrix of 4x4: ';
x = input(prompt);
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 i~=1:16
disp('The matrix is not a 4x4 please start again and fix the error.')
end
end
end
disp(x)
Cause at the moment Im only allowed to do 4x4 or 4x5 or 4x6 i cant do 3x3 or 4x3 etc...
  1 Commento
John D'Errico
John D'Errico il 31 Mar 2016
Please don't post the same question again just to make a minor edit to the first one.

Accedi per commentare.

Risposta accettata

MHN
MHN il 31 Mar 2016
Modificato: MHN il 31 Mar 2016
prompt = 'Give a matrix of 4x4: ';
x = input(prompt);
[m,n] = size(x);
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.')
end
end
end
disp(x)

Più risposte (1)

MHN
MHN il 1 Apr 2016
prompt = 'Give a matrix of 4x4: ';
flag = 0;
while flag ==0
x = input(prompt);
[m,n] = size(x);
if m==4 && n==4
flag = 1;
else
disp('The matrix is not a 4x4 please start again and fix the error.')
end
if ~isempty(find(x<=0,1))
disp('Error one of the numbers put in was either a zero or negative, Fix it and start over.')
flag = 0;
end
end

Categorie

Scopri di più su Large Files and Big Data in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by