Matlab - Como encontrar la posicion de diversos valores simultaneamente

 
Vista:

Como encontrar la posicion de diversos valores simultaneamente

Publicado por Borjamon (2 intervenciones) el 03/05/2017 10:40:49
Hola, tengo una matriz muy grande, de mas de mil datos y por ejemplo despues de hacer la correlacion entre los datos necesito encontrar las posiciones en fila y columna de los datos con correlacion alta.

He estado probando con find y luego con el ind2sub, pero no me aclaro, solo me devuelve el tamano de la matriz. Lo digo porque tengo como 70 datos que encontrar e ir uno por uno es muy tedioso. Gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como encontrar la posicion de diversos valores simultaneamente

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 03/05/2017 21:16:11
por favor coloca un pequeño ejemplo de lo que quieres hacer con una matriz pequeña
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como encontrar la posicion de diversos valores simultaneamente

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 04/05/2017 01:33:33
1
2
3
4
5
6
7
8
9
10
clear all
A=round(100000*rand(10,9))
B=A;
for i=1:10
maximo=max(max(B));
[fila, columna]=find(B==maximo);
 D(i,:)=[i fila columna maximo];
B(fila,columna)=NaN;
end
D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
>> correlacion_mayor
 
A =
 
       49784       58410       77530       51101       37406       45584       21328       12758       97585
       93598       40295       17937       87351       92269       42604       58782       16920        3091
       38928       51004       10936        7022       54648       21321       14276         100       49388
       11715       49564       90516       98754       47389       19325        5222       41816       86272
       24042       65137       87635       92271       49654       83275       68331       48849       24288
       68491       74371       99979       56426       30897       72664       60856       15987       83427
       83925       30195       86425       43146       95084       52975       21966       66684       81359
       97014        8961        3688       33784       98199       82908       40628        1792       62897
       21517       82597       54468       72072       51356       51187       62991       11968         224
       76034       38959       99762        1366       99259       55196       55531       95213       37972
 
 
D =
 
           1           6           3       99979
           2          10           3       99762
           3          10           5       99259
           4           4           4       98754
           5           8           5       98199
           6           1           9       97585
           7           8           1       97014
           8          10           8       95213
           9           7           5       95084
          10           2           1       93598



Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar