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

1 次查看(过去 30 天)
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 个评论
John D'Errico
John D'Errico 2016-3-31
Please don't post the same question again just to make a minor edit to the first one.

请先登录,再进行评论。

采纳的回答

MHN
MHN 2016-3-31
编辑:MHN 2016-3-31
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)

更多回答(1 个)

MHN
MHN 2016-4-1
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

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by