MATLAB Answers

# Saving data from nested for loop

20 views (last 30 days)
Maaz Madha on 17 Mar 2020
Commented: Maaz Madha on 18 Mar 2020
Hi
I want to store data from a nested for loop and this is my code
%%Initialisation 1
delta_x=(2*pi)/100;
delta_y=delta_x;
H=2*pi;
L=4*pi;
%Mesh
n=(L/delta_x)+1; Converts rectangle to a mesh
m=(H/delta_y)+1;
x=[0:delta_x:n]';
y=[0:delta_y:m]';
for i=x(2):delta_x:x(end-1)
for j=y(2):delta_y:y(end-1)
pointer=[(j-1)*n+i];
end
end
Everytime the pointer runs it only gives me the latest iteration and not all the iterations like I want. I tried putting (i,j) before it but that was to no avail and now am at my wits end as to what to do. Any help would be much appreciated
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Adam Danz on 17 Mar 2020
Edited: Adam Danz on 17 Mar 2020
Give this a shot. It's usually best to set up for-loops to iterate over integer values 1 to n. Those integer values can be used to index input values and store the outputs.
iLoop = x(2):delta_x:x(end-1);
jLoop = y(2):delta_y:y(end-1);
pointer = nan(numel(iLoop), numel(jLoop));
for i = 1:numel(iLoop)
for j = 1:numel(jLoop)
pointer(i,j)=(jLoop(j)-1)*n+iLoop(i);
end
end
##### 3 CommentsShowHide 2 older comments
Maaz Madha on 18 Mar 2020
aah i understand now. Thank you so very much :) have a great day

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!