Matlab - Mensaje de error

 
Vista:

Mensaje de error

Publicado por Mara (11 intervenciones) el 20/12/2007 11:19:18
Porfa porfa porfa ¿alguien me puede decir que significa este mensaje de error en matlab? estoy cargando una foto .jpg y luego pasándola a rgb...

??? Index exceeds matrix dimensions.

Error in ==> C:matlabR12 oolboxmatlabspecgraphind2rgb.m
On line 27 ==> r = zeros(size(a)); r(:) = cm(a,1);

¿Cómo puedo solucionarlo? 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

RE:Mensaje de error

Publicado por Kike (304 intervenciones) el 20/12/2007 15:40:53
El error significa que el índice que pediste es mayor que los índices de la matriz. Por ejemplo si tu matriz es de 3x3, y pides el décimo elemento o el elemento en la cuarta fila y segunda columna dará error, así:
matriz=rand(3); % matriz de 3x3
% pido el décimo elemento
>> matriz(10)
??? Index exceeds matrix dimensions.

% pido el elemento en la cuarta fila y segunda columna
>> matriz(4,2)
??? Index exceeds matrix dimensions.

El error se debe a que la matriz sólo tiene 9 elementos, distribuidos en tres filas y tres columnas.

Creo que el error de tu programa podría estar en r(:) = cm(a,1)
¿Qué es la variable "a", es un vector, un escalar o una matriz? Supongo que es un escalar, pero su valor es mayor que los índices de cm, como en el ejemplo anterior.

Si buscas el tamaño de "a" con size, supongo que "a" es una matriz o un vector. También daría error poner una matriz como un índice de otra matriz en cm(a,1). Los índices de una matriz deben ser valores enteros reales positivos, es decir números enteros mayores que cero.
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

RE:Mensaje de error

Publicado por Mara (11 intervenciones) el 26/12/2007 19:12:03
Hola Kike!
Muchas gracias por contestarme, pero sigo teniendo problemas en lo mismo porque el error me sale después de cargar una foto y decirle que me la pase de X,map a rgb:

[X,map]=imread('klimt_beso400.jpg');
>> [r,g,b]=ind2rgb(X,map);
??? Index exceeds matrix dimensions.

Error in ==> C:matlabR12 oolboxmatlabspecgraphind2rgb.m
On line 27 ==> r = zeros(size(a)); r(:) = cm(a,1);

Esa es toda la lista de comandos, lo que no entiendo es porqué no me deja pasar la foto de indexada a rgb, me puedes ayudar a solucionarlo porfa???

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