# Structure inside a while loop && pixel distance

3 views (last 30 days)
tabw on 12 Aug 2014
Edited: Ben11 on 12 Aug 2014
I want to create a structure that stores my array inside a loop
for Example Every time it will generate a data stored in result array. let's say, I have N result. I want to stored into a 1XN structure. How to do that inside a loop?
I have tried for i=1:10
second Qusetion, For example, I have a M x N array. a pixel (m,n) And I used j=(n-1)*M+m convert pixel into the order in Array(:) Is there a way to know the distance between two pixels?
like (3,2) and (3,3) just have 1 unit distance
s=struct('num2str(i)',{result})
But it won't work
Thanks

Ben11 on 12 Aug 2014
Edited: Ben11 on 12 Aug 2014
Something like this?
N = 10;
YourStructure(N).result = zeros(15); % Initialize the structure
for k = 1:N
YourStructure(k).result = rand(15); % store your array in the structure;
end
EDIT:
To use a while loop (I based my previous answer on your for-loop sorry):
N = 10;
YourStructure(N).result = zeros(15);
k = 1;
while k<=N
YourStructure(k).result = rand(15);
k = k+1;
end
======= For your 2nd question, the distance is calculated like so:
Distance =sqrt((y2-y1)^2+(x2-x1)^2)
with the coordinates of the pixels being [x1 y1] and [x2 y2].

Joakim Magnusson on 12 Aug 2014
Edited: Joakim Magnusson on 12 Aug 2014
You are trying to create field names named 1,2,3 ... but that is not possible because the field name have to start with a letter.

### Categories

Find more on Data Types 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!

Translated by