Matlab - Problemas con los tipos de datos cell

 
Vista:

Problemas con los tipos de datos cell

Publicado por Andrés (1 intervención) el 21/12/2009 15:55:22
Buenas tardes.

Intento hacer un programilla en matlab pero estoy teniendo más problemas de los deseados con ciertos tipos de datos y funciones. No tengo mucha destreza con el manejo de este programa, todo hay q decirlo.

Me preguntaba si sería posible cambiar los tipos de datos Cell de matlab por strings o valores numéricos (integer, float, etc) para poder manejarlos sin q constantemente me salgan errores como los siguientes

-Error using -->fprintf
Functions is not defined for 'cell' inputs
ó
Conversion to cell from double is not posible

Gracias!

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

RE:Problemas con los tipos de datos cell

Publicado por Kike (304 intervenciones) el 22/12/2009 00:00:04
Lo que te falta es "sacar" los datos del arreglo de celdas, pues dichos datos ya son números o textos, pero contenidos en una celda. Es como un panal de abejas donde cada celda contiene algo que puede ser miel, una abeja o una larva, o estar vacía, pero para saberlo hay que destapar la celda.

Supongamos que tenemos un arreglo de celdas en el que la primera columna corresponde a un número identificador (un entero positivo), la segunda columna corresponde a un nombre (string), y la tercera columna corresponde a un número cualquiera (double).

Entonces, para acceder a cada elemento del arreglo de celdas hay que solicitarlo a MATLAB indicándole su posición {fila, columna}, por ejemplo el id de la segunda fila:
id = arreglo{2,1} % es un número double, nótese el uso de llaves en vez de paréntesis para obtener el dato que contiene la celda

El nombre de la cuarta fila:
nombre = arreglo{4,2} % es una cadena de texto

Todos los datos de la quinta fila:
datos = arreglo(5,:) % es otro arreglo de celdas, por eso son paréntesis (es como cortar un trozo del panal)

Usando fprintf:
fprintf('El id de la quinta fila es %d, el nombre es %s y el número cualquiera es %d',datos{1},datos{2},datos{3})

Si te quedan dudas para saber si algo es un número o un texto o un arreglo de celdas podrías usar el comando CLASS.
class(id)
class(nombre)
class(datos)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Problemas con los tipos de datos cell

Publicado por Jesus (1 intervención) el 02/05/2013 22:29:36
La fecha de publicación esta muy alejada al del día de hoy, pero quiero agradecerte porque esto me sirvió mucho en una duda en MATLAB, estoy aprendiendo por mi cuenta y pues estos pequños detalles cuentan mucho, salí de un gran apuro. Saludos
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:Problemas con los tipos de datos cell

Publicado por Emmy (1 intervención) el 23/09/2014 20:44:52
muchas gracias por esta información, necesitaba esta ayuda para realizar un calculo de combustible en una central nuclear, nos has ayudado mucho.

saludos
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