How to concatenate of results from a loop

2 visualizaciones (últimos 30 días)
Sunil Kunjachan
Sunil Kunjachan el 14 de En. de 2017
Comentada: Andrei Bobrov el 15 de En. de 2017
The output identifies the elements of X that are smaller than the product of their two indexes.
for example;
X=[1 1;0 4;6 5];
p=[];
[col,row]=size(X);
for c=1:col
for r=1:row
if (r*c)<X(r,c)
p=cat(1,p,[r c]);
else
p=[];
end
end
end
The answer should be 2 1 1 2 3 2 But I'm getting only last one i.e. 3 2. What could be wrong in my code? Please help me
  4 comentarios
Sunil Kunjachan
Sunil Kunjachan el 15 de En. de 2017
But if you try with X=[0;1;2;3;4;5;6;7;8;9;10],the code will work.
Sunil Kunjachan
Sunil Kunjachan el 15 de En. de 2017
I'm trying to get the for X=[1 1;0 4;6 5]. I know the answer. It will be [2 1;1 2;3 2]. I'm getting only last row in that matrix.

Iniciar sesión para comentar.

Respuestas (1)

Andrei Bobrov
Andrei Bobrov el 14 de En. de 2017
Editada: Andrei Bobrov el 15 de En. de 2017
X=[1 1;0 4;6 5];
[r,c] = find((1:size(X,1))'*(1:size(X,2)) > X);
p = [r,c];
  2 comentarios
Sunil Kunjachan
Sunil Kunjachan el 15 de En. de 2017
Thanks for the reply. But I'm not getting the answer!
Andrei Bobrov
Andrei Bobrov el 15 de En. de 2017
fixed :)

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!

Translated by