Expanding 1D array using for loop

3 visualizzazioni (ultimi 30 giorni)
Maroulator
Maroulator il 7 Set 2014
Risposto: Star Strider il 7 Set 2014
I have the code below. What I am trying to do is accept/store an arbitrary number of positive input values (into the "values" array) using a for loop. I do not have a pre-determined amount of positive numbers, that I am going to accept, rather the goal is for the user to keep entering numbers (as prompted) until he/she enters a non-positive number. I think the crux of the problem lies with dynamically expanding the values array.
Any suggestions?
i=1;
n=input('Enter initial value: ');
values(i)=n;
for i=1:length(values)
if n>0;
n=input('Enter next value: ');
i=i+1;
else
disp('ERROR: All numbers entered must be positive!');
break;
end
end

Risposta accettata

Star Strider
Star Strider il 7 Set 2014
This seems to work:
n = 1;
i = 0;
n=inputdlg('Enter initial value: ');
n = str2num(cell2mat(n));
while n>0;
i=i+1;
values(i) = n;
n=inputdlg('Enter next value: ');
n = str2num(cell2mat(n));
end
msgbox('ERROR: All numbers entered must be positive!');
I used the inputdlg and msgbox functions because they keep the Command Window from getting cluttered.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements 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