How to store index values in the form of arrays using for loop?

12 views (last 30 days)
Hello Everyone
Can you please tell me how to save indes values of the following code from the for loop?
rng default
M = zeros(randi([3 6]),randi([3 6]))
[u,v] = size(M)
for i = 1:u
for j = 1:v
ind1(i) = i;
ind2(j) = j;
indices = [ind1(i),ind2(j)]
end
end
I want to store the values in the form of two colums and m*n rows.
Thank you

Accepted Answer

Sugar Daddy
Sugar Daddy on 1 Jun 2020
rng default
M = zeros(randi([3 6]),randi([3 6]))
[u,v] = size(M)
inc =1;
for i = 1:u
for j = 1:v
indices(inc,:) = [i ,j];
inc = inc+1;
end
end
or you can use to ind2sub instead of for loop
[x,y]=ind2sub(size(M),1:numel(M));
indices = [y' x'];

More Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 1 Jun 2020
Edited: KALYAN ACHARJYA on 1 Jun 2020
Cell array
rng default
M = zeros(randi([3 6]),randi([3 6]))
[u,v] = size(M)
indices=cell(u,v);
for i = 1:u
for j = 1:v
ind1(i) = i;
ind2(j) = j;
indices{i,j}=[ind1(i),ind2(j)];
end
end

Tags

Products

Community Treasure Hunt

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

Start Hunting!

Translated by