MATLAB Answers

Saving data from nested for loop

20 views (last 30 days)
Maaz Madha
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

Accepted Answer

Adam Danz
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 Comments
Maaz Madha
Maaz Madha on 18 Mar 2020
aah i understand now. Thank you so very much :) have a great day

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by