Matlab - obtención del la posición del valor máximo en una matriz multiimensional

   
Vista:

obtención del la posición del valor máximo en una matriz multiimensional

Publicado por Eduardo (3 intervenciones) el 15/04/2014 12:55:15
Hola, mi duda es la siguiente:
tengo una matriz multidimensional donde almaceno valores que son función de 3 variables (por ejemplo la humedad en función de la hora del dia, dias del año y lugar donde me encuentro) y quiero obtener el valor maximo de todos los que tengo y saber en que posición se encuentra (para saber a que dia, hora y lugar corresponde).
para obtener el maximo he probado (siendo A mi matriz multidimensional) con:

valor_maximo=max(max(max(A)))

pero entonces no se como obtener su posición dentro de la matriz (los valores a los que corresponde).

Muchas gracias.
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

obtención del la posición del valor máximo en una matriz multiimensional

Publicado por Joaquín (50 intervenciones) el 15/04/2014 22:26:36
Buen día Eduardo, la verdad no está tan complicado

Usa la función "find"

A= tu matriz
[i j]=find(A==max(max((A))))

i y j te dirán la fila y columna de la matriz
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

obtención del la posición del valor máximo en una matriz multiimensional

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 17/04/2014 00:59:46
podría poner un ejemplo de la matriz multidimensional que mencionas al hacer tu pregunta, de esa manera seria mas precisa y clara tu pregunta.



Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online y Presencial en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com
El correo es para servicios de programación, toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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 Dave

obtención del la posición del valor máximo en una matriz multiimensional

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 12/05/2014 15:19:07
Hola Eduardo;

Lo debes hacer con la función find, pero en los argumentos de salida, debes colocar tres variables, ya que tu deseas buscar la posición en el i,j y k.

Te dejo un ejemplo:

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
>> A = round(10*rand(5,5,3))
 
A(:,:,1) =
 
     1     1     1     0     5
     8     1     2     2     5
     4     9     4     6     3
     2    10     8     7     7
     4     6     0     6     2
 
 
A(:,:,2) =
 
     7     1     4     8     4
     2     9     3     6     9
     4     8     5     4     9
     6     5     5     8     6
     8     4     8     5     6
 
 
A(:,:,3) =
 
     6     8     4     9     4
     2     2     3    10     6
     3     2     9     4     3
     5     2     4     1     6
     2     2     2     3     7
 
>> [i,j,k]=find(A==4)
 
i =
 
     3
     5
     3
     3
     5
     1
     3
     1
     1
     4
     3
     1
 
 
j =
 
     1
     1
     3
     6
     7
     8
     9
    10
    13
    13
    14
    15
 
 
k =
 
     1
     1
     1
     1
     1
     1
     1
     1
     1
     1
     1
     1

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
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