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

2 views (last 30 days)
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 Comment
John D'Errico
John D'Errico on 31 Mar 2016
Please don't post the same question again just to make a minor edit to the first one.

Sign in to comment.

Accepted Answer

MHN
MHN on 31 Mar 2016
Edited: MHN on 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)

More Answers (1)

MHN
MHN on 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

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!