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

9 ビュー (過去 30 日間)
SAURAV SANKHE 2020 年 6 月 1 日

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 2020 年 6 月 1 日
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'];

サインインしてコメントする。

### その他の回答 (1 件)

KALYAN ACHARJYA 2020 年 6 月 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 件のコメント表示非表示 1 件の古いコメント
madhan ravi 2020 年 6 月 1 日
You don’t preallocate properly do you?

サインインしてコメントする。

### Community Treasure Hunt

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

Start Hunting!