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

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

 Risposta accettata

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

Più risposte (1)

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

2 Commenti

Thank you Kalyan Acharjya.
Have a great day
You don’t preallocate properly do you?

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Prodotti

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by