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

12 views (last 30 days)
SAURAV SANKHE on 1 Jun 2020
Edited: KALYAN ACHARJYA on 1 Jun 2020
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

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'];

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
madhan ravi on 1 Jun 2020
You don’t preallocate properly do you?