Nested "For Loop" Array Size

5 views (last 30 days)
IDN on 1 Dec 2021
Commented: IDN on 1 Dec 2021
How can i size my array to the output of a nested for loop? Thanks for the help!
DataArray = nan(300,1); % this is the array that i need to make sure is big enough to take in the data....
inputValsY3 = -20:20;
for y = 1:300
for y1 = 1:50
for y2 = 50:100
for y3 = 1:numel(inputValsY3)
[~,~,DataArray(y,y1,y2,y3)] = Function(Close,y,y1,y1,y2,y3);

Accepted Answer

James Tursa
James Tursa on 1 Dec 2021
Edited: James Tursa on 1 Dec 2021
To keep the indexing the same, just use the top value from the loops. E.g.,
DataArray = nan(300,50,100,numel(inputValsY3));
Note that since your for-loop fills in the 3rd index starting at 50, there will be some NaN values left in the array after the loops are done. If you don't want that then you would have to shift the 3rd index down.

More Answers (0)


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!