Programa en Matlab

Respuesta de
blackpent
a
Usuario
Hola! Tengo que crear un programa en Matlab que me permita que tras introducir una matriz me muestre en pantalla cual es la mayor de las componentes de ésta así como la posición (fila y columna) que ocupa dicha componente en la matriz. El programa que he creado en M-file ha sido el que muestro a continuación:

n=input('introduzca una matriz')
dimension=size(n);
max=n(1,1);
posicion=[1,1];
for (i=1:dimension(1))
for (j=1:dimension(2))
if(n(i,j)>max)
max=n(i,j);
posicion=[i,j]
end
end
end
sprintf('el valor de la mayor componente es %d', max)
sprintf('la fila es %d y la columna es %d', i, j)

El problema es que al intentar ejecutarlo he logrado que me muestre correctamente el valor de la mayor componente pero en el caso de la posición siempre muestra la (2,2) aunque la mayor componente ocupe otra en la matriz. Me gustaría saber si me podríais ayudar a resolverlo, a poder ser en los próximos días pues forma parte de un trabajo que debo entregar en los próximos días. Muchísimas gracias.
Un saludo y gracias.
Usuario
Muchísimas gracias por tu ayuda y por la suerte para los exámenes (la necesitaré!) Gracias por todo
Experto
Hola llllllllllll (bonito nombre :P)

Has tenido un pequeño despiste:
En la linea que usas para sacar la posición has puesto directamente i, j. Al ser estos los indices siempre te saldrán los valores de las dimensiones. Tienes que sacar los valores desde posición[i,j]

Suerte! (Supongo que estarás de exámenes, así que suerte también para estos!)