PDF de programación - Estructuras de Datos y Manejo de Información

Imágen de pdf Estructuras de Datos y Manejo de Información

Estructuras de Datos y Manejo de Informacióngráfica de visualizaciones

Publicado el 22 de Septiembre del 2020
457 visualizaciones desde el 22 de Septiembre del 2020
238,3 KB
29 paginas
Creado hace 14a (11/08/2009)
“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

“Estructuras de Datos y Manejo de Información”

Carlos Valle Vidal
[email protected]

Departamento de Informática -

Universidad Técnica Federico Santa María

Rancagua, Agosto 2009

1 / 29

Temario

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

1

Introducción

2 Estructuras

3 Arreglos de Celdas

2 / 29

Temario

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

1

Introducción

2 Estructuras

3 Arreglos de Celdas

3 / 29

Introducción

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

El objetivo de la informática es transformar datos en
información.
Los datos se transforman en información cuando se
estructuran y organizan.
De esta forman cobran sentido y los utilizamos para la toma
de decisiones.
Ejemplo:
’Juan Leiva’

’María Saravia’ 54 F

34
M
Nombre

’Juan Perez’

’María Gonzalez’

Edad Sexo
’M’
31
45
’F’

4 / 29

Estructuras y Arreglos de Celdas

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Estructuras son colecciones de diferentes tipos de datos
organizados por nombres de campos.
Arreglos de Celdas son una clase especial de arreglos de
MATLAB cuyos elementos consisten en celdas que a su vez
contienen arreglos de MATLAB
Tanto las estructuras como los arreglos de celdas proveen
mecanismos de almacenamiento jerárquico para contener
distintos tipos de datos.

5 / 29

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Ejemplo de Estructura

>> persona.nombre=’Luisa’
persona =

nombre: ’Luisa’

>> persona.apellido=’Lane’
persona =

nombre: ’Luisa’
apellido: ’Lane’

>> persona.edad=27

persona =

nombre: ’Luisa’
apellido: ’Lane’

edad: 27

6 / 29

Ejemplo: Arreglo de celda

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Arreglo numérico
A =

-3
1
0

4
13
9

-10
7
8

Arreglo de Celdas
A =

[-3]
[ 1]
[ 0]

[ 4]
[13]
[ 9]

[-10]
[
7]
8]
[

7 / 29

Funciones aplicables a estructuras

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

fieldnames

getfield
isfield
isstruct
rmfield
setfield
struct

Obtiene nombres de campos
Obtiene contenido de campos

Verdad si un campo está en estructura

Verdad si es estructura

Remueve campo de estructura

Fija contenido de campo de estructura
Crea o convierte a arreglo de estructura

struct2cell

Convierte estructura en celda

8 / 29

Funciones aplicables a arreglos de celdas

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

cell

cell2struct
celldisp
cellfun
cellplot
deal
iscell

num2cell

Crea arreglo de celdas

Convierte celdas en arreglos
Muestra contenido de celdas

Aplica una función de celda a celda

Muestra gráficamente arreglos de celdas

Une entradas con salidas

Verdad si es Arreglo de celdas

Convierte arreglo numérico en celdas

9 / 29

Temario

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

1

Introducción

2 Estructuras

3 Arreglos de Celdas

10 / 29

Estructuras

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Las estructuras son arreglos de MATLAB que tienen
“contenedores de datos” llamados campos.
Los campos de una estructura pueden contener cualquier
tipo de datos.
Las estructuras son las componentes básicas de las
llamadas “base de datos”.

11 / 29

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Construcción de Estructuras

¿Cómo construir estructuras?
Mediante asignaciones
Usando la función struct
Usando asignación:
>>paciente.nombre=’Laura Carmona’
>>paciente.edad= 28
>>paciente.isapre=’La Muerte’
>>paciente.presion=[13
paciente =

8]

nombre: ’Laura Carmona’
edad: 28
isapre: ’La Muerte’
presion: [13 8]

12 / 29

Construcción de Estructuras (2)

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Si se quiere insertar un nuevo paciente a nuestra base de
datos:
paciente(2).nombre=’Juan Escobar’
paciente(2).edad= 35
paciente(2).isapre=’La Vida’
paciente(2).presion=[16
9]

>> paciente(2)

ans =

nombre: ’Juan Escobar’
edad: 35
isapre: ’La Vida’
presion: [16 9]

13 / 29

Observaciones

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Con el ejemplo anterior se ha creado una estructura de
tamaño [1 2]
Todas las estructuras del arreglo tienen el mismo número de
campos.
Todos los campos tienen los mismos nombres.
Si se ingresa un nuevo nombre de paciente, por ejemplo:
paciente(3).nombre=’Teresa Ruiz’
Se expande el arreglo a [1 3] y los demás campos quedan
vacíos

14 / 29

La función fieldnames

La función fieldnames nos entrega un arreglo de celdas de
strings con los nombres de campos.

>> fieldnames(paciente)
ans =

’nombre’
’edad’
’isapre’

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

15 / 29

Construcción usando struct

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

La forma básica es:
inf=struct(’campo1’, val1, ’campo2’, val2, ..)
Usando struct existen 2 métodos para asignar campos.
Se explicará a través de un ejemplo: base de datos para
registrar la temperatura y presión de una ciudad.
>> clima= struct(’temp’, 23, ’presion’, 760)
>> clima(2)= struct(’temp’, 20, ’presion’, 753)
A través de listas con valores:
weather= struct(’temp’, {23, 20}, ’presion’, {760, 753})

16 / 29

Construcción usando struct (2)

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

>> weather(1)
ans =

temp: 23
presion: 760

>> weather(2)
ans =

temp: 20
presion: 753

17 / 29

Acceso a datos

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

El acceso a datos se hace mediante el operador punto (.).
Ejemplo

>> paciente(2).edad
ans =
35

18 / 29

Acceso a datos usando funciones

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

getfield obtiene valores de un campo
Ejemplo:
>> f=getfield(paciente, {2}, ’nombre’ )
f =
Juan Escobar
Se puede extraer los valores de un campo como arreglo:
>>A=[paciente.edad]

A=

28 35

>> promedio_edad=mean(A)

Promedio_edad =

31.5000

19 / 29

Agregar y quitar campos

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Agregando un campo a una estructura simple, se le agrega a
toda la estructura.
Por ejemplo:
>> paciente(1).rut=’18.999.999-6’
paciente =

nombre: ’Laura Carmona’

edad: 28

isapre: ’La Muerte’

rut: ’18.999.999-6’

20 / 29

Agregar y quitar campos (2)

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Para eliminar campos se usa rmfield
Por ejemplo:
>> paciente=rmfield(paciente, ’rut’)
paciente =

nombre: ’Laura Carmona’

edad: 28

isapre: ’La Muerte’

21 / 29

Ejemplo

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Resultado de experimento:

test(1).plomo=.007; test(2).plomo=0.031; test(3).plomo=.019;
test(1).mercurio=.0021; test(2).mercurio=0.0009; test(3).mercurio=.0013;
test(1).cromo=.0025; test(2).cromo=0.017; test(3).cromo=0.10;

function [r1, r2]= concentracion(muestra);
%r1 contiene el cuociente entre mercurio y plomo de cada muestra.
%r2 contiene el cuociente entre plomo y cromo
r1=[muestra.mercurio] ./ [muestra.plomo];
r2=[muestra.plomo] ./ [muestra.cromo];
%Grafico de concentraciones de plomo, mercurio y cromo sobre el mismo
%grafico usando diferentes colores

22 / 29

Funciones y Estructuras: Ejemplo (2)

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

plomo=[muestra.plomo];
mercurio=[muestra.mercurio];
cromo=[muestra.cromo];
plot(plomo, ’r’); hold on
plot(mercurio, ’b’)
plot(cromo, ’y’); hold off

23 / 29

Temario

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

1

Introducción

2 Estructuras

3 Arreglos de Celdas

24 / 29

Arreglos de Celdas

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

Un arreglos de celdas es un arreglo de MATLAB en el cual
los elementos son celdas.
Las celdas son contenedores que pueden contener otros
arreglos de MATLAB
Por ejemplo, una celda puede contener un arreglo de
números reales, otra un arreglo de strings y otra un vector de
números complejos.

25 / 29

Solución 1

Un arreglo de celdas se puede crear a través de dos
mecanismos:

Asignación
Uso de funciones

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

26 / 29

Creación de Arreglos de Celdas: indexado de celdas

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglos de
Celdas

A(1,1)={[1 4; 0 5]}
A(1,2)={’Edgar Poe’}
A(2,1)={3 + 7i}
A(2,2)={pi}

27 / 29

Creación de Arreglos de Celdas: indexado de
contenido

“Estructuras de
Datos y Manejo
de Información”

Carlos Valle

Vidal

Introducción

Estructuras

Arreglo
  • Links de descarga
http://lwp-l.com/pdf18244

Comentarios de: Estructuras de Datos y Manejo de Información (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad