SlideShare una empresa de Scribd logo
1 de 16
Curso introductorio a Matlab
Brainlab
Noviembre 2008
Contenidos del curso
• Entorno Matlab.
• Tipos de datos básicos.
• Funciones y operaciones con arrays.
• Notación “:” y array slice.
• Operaciones lógicas.
• Operaciones matemáticas.
• Gráficos.
• Miscelánea.
• Ciclo de vida del software.
• Tipos de datos.
• Estructuras de control.
• Descomposición funcional y diseño descendente.
• Funciones.
• Recursividad.
• Debug.
• Proyecto Final.
Matlab CLI
Programación en Matlab
Tipos de datos básicos
• Matlab reconoce varios tipos de datos, en esta
sección presentaremos los básicos o
primitivos, más adelante veremos tipos de
datos más complejos.
• Entero: 23
• Real: -18.566
• Complejo: 23.1 + 34.8i
• Infinito : Inf
• NaN: Not a Number
Enteros(1)
• Según la resolución o tamaño de palabra que
escojamos podemos tener varios tipos de
rango para codificar los enteros.
• Con signo 8 bits: [-27
,27
-1]
>> x = int8(5)
x =5
>> x = int8(145)
x =127
Enteros(2)
• Con signo 16 bits: [-215
,215
-1]
• Con signo 32 bits: [-231
,231
-1]
• Con signo 64 bits: [-263
,263
-1]
>> x = int16(145)
x =5
>> x = int16( 33000 )
x =32767
Enteros(3)
• Sin signo 8 bits: [0 ,28
-1]
• Sin signo 16 bits: [0 ,216
-1]
• Sin signo 32 bits: [0 ,232
-1]
64
>> x = uint8(257)
x =255
>> x = uint8(-3)
x =0
>> x = uint8(1.9)
x = 2
Enteros(4)
• Para saber el valor máximo y mínimo de cada
tipo de entero podemos consultar a través de
las funciones intmax, intmin
>> intmax('uint8')
ans =255
>> intmin('int32')
ans =-2147483648
>> intwarning('on')
>> x = int8(234)
Warning: Out of range value converted to intmin('int8') or intmax('int8').
x =127
>> intwarning('off')
>> flag = intwarning('query')
Enteros(5)
• Funciones para trabajar con enteros: ceil,
class, floor, isinteger, isa, isnumeric, round.
>> ceil(1.2)
ans =2
>> class(single(0))
ans =single
>> floor(3.7)
ans =3
¿>> isinteger(4)
ans =0
>> isinteger(int16(4))
ans =1 ?
Enteros(6)
>> isnumeric(pi)
ans =1
>> isnumeric(true)
ans =0
>> isnumeric('test')
ans =0
>> round(1.2)
ans =1
>> round(1.5)
ans =2
>> round(1.9)
ans =2
>> isa(false,'logical')
ans =1
Flotantes(1)
• Matlab tienes dos tipos diferentes de números
flotantes, los de doble precisión y los de
simple precisión, por defecto Matlab usa
flotantes de doble precisión.
>> x = 1;
>> whos x
Name Size Bytes Class Attributes
x 1x1 8 double
>> isfloat(x)
ans =1
Flotantes(2)
• También podemos saber los valores máximos
y mínimos que podemos codificar con tipos de
datos flotantes con las funciones realmax y
realmin.
>> realmax('single')
ans =3.4028e+038
>> realmax('double')
ans =1.7977e+308
>> realmin('single')
ans =1.1755e-038
>> realmin('double')
ans =2.2251e-308
Booleanos(1)
• El tipo de datos booleano puede tomar dos
valores, cierto o falso.
• Las variables booleanas se pueden operar
mediante operadores lógicos (~, &&, ||)
• La comparación numérica puede devolver un
valor lógico (<, <=, >, >=, ==, ~= ).
• Hay funciones que devuelven un valor lógico.
>> isfinite(inf)
ans =0;
Booleanos(2)
• Los operadores lógicos siguen las reglas de las
tablas de la verdad de cada operador.
Encontrar la tabla de la verdad de (&&, ||)
>> true && false
ans =0
>> true || false
ans =1
>> ~true
ans =0
>> (isnumeric('test') || true) && true
ans =1
Booleanos(3)
• Regla de Demorgan: (Demostración conjuntos)
¬(A + B) = (¬A)·(¬B)
¬(A · B) = (¬A)+(¬B)
• Usamos las tablas de la verdad cuando
queremos evaluar todos los posibles valores
de una expresión:
F = (A + B) -> ¬A
• Dada una tabla de la verdad podemos
encontrar su expresión algebraica mediante la
expresión canónica de suma de productos.
Booleanos(4)
• Cuando una expresión es verdadera para
todos los posibles valores de sus variables lo
llamamos tautología.
P + ¬P
A->A
(P->Q)·(Q->R)->(P->R)
• Ojo avizor: A+A = A, A·A = A, A·1=A, A+0=A
¿ Cómo se puede simplificar la expresión:
¬P·(Q + ¬Q) ?
Booleanos(5)
• Otra forma de representar una función o
expresión booleana: F = Σ3(0,2,3,4,7) =
Π3(1,2,6)
• Encuentre la expresión algebraica de F.
• El amo del bar “el tropezón” está cansado que sus órdenes lleguen con errores a cocina,
luego pasa que a los que han pedido una ensalada les traen un codillo. Las quejas de los
comensales ya han llegado a la Generalitat y don Anselmo está desesperado. Buscando
soluciones, una consultora Americana le pretende vender un sistema de comunicaciones
entre la barra y la cocina por una millonada. Para ello le han dicho que codificarán sus 30
platos de la carta en un código binario de 4 bits con un bit de paridad par y que serán capaces
con este esquema de detectar incluso dos errores de transmisión. Don Anselmo conocedor
de las capacidades del departamento de psiquiatría nos ha escrito para ver si puede confiar
en ellos. Qué le decimos?

Más contenido relacionado

La actualidad más candente

Tema 6: Definiciones por recursión en Haskell
Tema 6: Definiciones por recursión en Haskell Tema 6: Definiciones por recursión en Haskell
Tema 6: Definiciones por recursión en Haskell José A. Alonso
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Gustavo Macias
 
I1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en HaskellI1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en HaskellJosé A. Alonso
 
Funciones de varias variables
Funciones de varias variablesFunciones de varias variables
Funciones de varias variablesAlex Iparraguirre
 
Tema 12: Analizadores sintácticos funcionales.
Tema 12: Analizadores sintácticos funcionales.Tema 12: Analizadores sintácticos funcionales.
Tema 12: Analizadores sintácticos funcionales.José A. Alonso
 
Grafica funcionesalex
Grafica funcionesalexGrafica funcionesalex
Grafica funcionesalexAlex Lopez
 
T3 ejercicios de recursividad-grupo6
T3 ejercicios de recursividad-grupo6T3 ejercicios de recursividad-grupo6
T3 ejercicios de recursividad-grupo6Hiper S.A.
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programaciondiego MC
 

La actualidad más candente (16)

Tema 6: Definiciones por recursión en Haskell
Tema 6: Definiciones por recursión en Haskell Tema 6: Definiciones por recursión en Haskell
Tema 6: Definiciones por recursión en Haskell
 
Transparencias3
Transparencias3Transparencias3
Transparencias3
 
Modulo3
Modulo3Modulo3
Modulo3
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
I1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en HaskellI1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en Haskell
 
Funciones de varias variables
Funciones de varias variablesFunciones de varias variables
Funciones de varias variables
 
Funciones basicas
Funciones basicasFunciones basicas
Funciones basicas
 
Tema 12: Analizadores sintácticos funcionales.
Tema 12: Analizadores sintácticos funcionales.Tema 12: Analizadores sintácticos funcionales.
Tema 12: Analizadores sintácticos funcionales.
 
Programación 1: arreglos en C
Programación 1: arreglos en CProgramación 1: arreglos en C
Programación 1: arreglos en C
 
Grafica funcionesalex
Grafica funcionesalexGrafica funcionesalex
Grafica funcionesalex
 
Estadística con Lenguaje R: Sesión 9
Estadística con Lenguaje R: Sesión 9Estadística con Lenguaje R: Sesión 9
Estadística con Lenguaje R: Sesión 9
 
T3 ejercicios de recursividad-grupo6
T3 ejercicios de recursividad-grupo6T3 ejercicios de recursividad-grupo6
T3 ejercicios de recursividad-grupo6
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programacion
 
Estadística con Lenguaje R: Sesión 6
Estadística con Lenguaje R: Sesión 6Estadística con Lenguaje R: Sesión 6
Estadística con Lenguaje R: Sesión 6
 
Cuestionario chidochin
Cuestionario chidochinCuestionario chidochin
Cuestionario chidochin
 
Introducción a dr racket
Introducción a dr racketIntroducción a dr racket
Introducción a dr racket
 

Similar a Tipos basicos

Similar a Tipos basicos (20)

1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
Digital
DigitalDigital
Digital
 
CIRCUITOS DIGITALES CI Unid II Simplificacion de Funciones Logicas Boole y M...
CIRCUITOS DIGITALES CI Unid II  Simplificacion de Funciones Logicas Boole y M...CIRCUITOS DIGITALES CI Unid II  Simplificacion de Funciones Logicas Boole y M...
CIRCUITOS DIGITALES CI Unid II Simplificacion de Funciones Logicas Boole y M...
 
Presentación1
Presentación1Presentación1
Presentación1
 
Sistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatisSistemas numéricos datos y expresiones - tatis
Sistemas numéricos datos y expresiones - tatis
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Variables2
Variables2Variables2
Variables2
 
Computacion aplicada
Computacion aplicadaComputacion aplicada
Computacion aplicada
 
02 Procesamiento de Datos.pptx
02 Procesamiento de Datos.pptx02 Procesamiento de Datos.pptx
02 Procesamiento de Datos.pptx
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
 
Matlab basico
Matlab basicoMatlab basico
Matlab basico
 
[Sesion03] introduccion python
[Sesion03] introduccion python[Sesion03] introduccion python
[Sesion03] introduccion python
 
Tema 1
Tema 1Tema 1
Tema 1
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
matlab
matlabmatlab
matlab
 
Arreglos y matrices
Arreglos y matricesArreglos y matrices
Arreglos y matrices
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 

Tipos basicos

  • 1. Curso introductorio a Matlab Brainlab Noviembre 2008
  • 2. Contenidos del curso • Entorno Matlab. • Tipos de datos básicos. • Funciones y operaciones con arrays. • Notación “:” y array slice. • Operaciones lógicas. • Operaciones matemáticas. • Gráficos. • Miscelánea. • Ciclo de vida del software. • Tipos de datos. • Estructuras de control. • Descomposición funcional y diseño descendente. • Funciones. • Recursividad. • Debug. • Proyecto Final. Matlab CLI Programación en Matlab
  • 3. Tipos de datos básicos • Matlab reconoce varios tipos de datos, en esta sección presentaremos los básicos o primitivos, más adelante veremos tipos de datos más complejos. • Entero: 23 • Real: -18.566 • Complejo: 23.1 + 34.8i • Infinito : Inf • NaN: Not a Number
  • 4. Enteros(1) • Según la resolución o tamaño de palabra que escojamos podemos tener varios tipos de rango para codificar los enteros. • Con signo 8 bits: [-27 ,27 -1] >> x = int8(5) x =5 >> x = int8(145) x =127
  • 5. Enteros(2) • Con signo 16 bits: [-215 ,215 -1] • Con signo 32 bits: [-231 ,231 -1] • Con signo 64 bits: [-263 ,263 -1] >> x = int16(145) x =5 >> x = int16( 33000 ) x =32767
  • 6. Enteros(3) • Sin signo 8 bits: [0 ,28 -1] • Sin signo 16 bits: [0 ,216 -1] • Sin signo 32 bits: [0 ,232 -1] 64 >> x = uint8(257) x =255 >> x = uint8(-3) x =0 >> x = uint8(1.9) x = 2
  • 7. Enteros(4) • Para saber el valor máximo y mínimo de cada tipo de entero podemos consultar a través de las funciones intmax, intmin >> intmax('uint8') ans =255 >> intmin('int32') ans =-2147483648 >> intwarning('on') >> x = int8(234) Warning: Out of range value converted to intmin('int8') or intmax('int8'). x =127 >> intwarning('off') >> flag = intwarning('query')
  • 8. Enteros(5) • Funciones para trabajar con enteros: ceil, class, floor, isinteger, isa, isnumeric, round. >> ceil(1.2) ans =2 >> class(single(0)) ans =single >> floor(3.7) ans =3 ¿>> isinteger(4) ans =0 >> isinteger(int16(4)) ans =1 ?
  • 9. Enteros(6) >> isnumeric(pi) ans =1 >> isnumeric(true) ans =0 >> isnumeric('test') ans =0 >> round(1.2) ans =1 >> round(1.5) ans =2 >> round(1.9) ans =2 >> isa(false,'logical') ans =1
  • 10. Flotantes(1) • Matlab tienes dos tipos diferentes de números flotantes, los de doble precisión y los de simple precisión, por defecto Matlab usa flotantes de doble precisión. >> x = 1; >> whos x Name Size Bytes Class Attributes x 1x1 8 double >> isfloat(x) ans =1
  • 11. Flotantes(2) • También podemos saber los valores máximos y mínimos que podemos codificar con tipos de datos flotantes con las funciones realmax y realmin. >> realmax('single') ans =3.4028e+038 >> realmax('double') ans =1.7977e+308 >> realmin('single') ans =1.1755e-038 >> realmin('double') ans =2.2251e-308
  • 12. Booleanos(1) • El tipo de datos booleano puede tomar dos valores, cierto o falso. • Las variables booleanas se pueden operar mediante operadores lógicos (~, &&, ||) • La comparación numérica puede devolver un valor lógico (<, <=, >, >=, ==, ~= ). • Hay funciones que devuelven un valor lógico. >> isfinite(inf) ans =0;
  • 13. Booleanos(2) • Los operadores lógicos siguen las reglas de las tablas de la verdad de cada operador. Encontrar la tabla de la verdad de (&&, ||) >> true && false ans =0 >> true || false ans =1 >> ~true ans =0 >> (isnumeric('test') || true) && true ans =1
  • 14. Booleanos(3) • Regla de Demorgan: (Demostración conjuntos) ¬(A + B) = (¬A)·(¬B) ¬(A · B) = (¬A)+(¬B) • Usamos las tablas de la verdad cuando queremos evaluar todos los posibles valores de una expresión: F = (A + B) -> ¬A • Dada una tabla de la verdad podemos encontrar su expresión algebraica mediante la expresión canónica de suma de productos.
  • 15. Booleanos(4) • Cuando una expresión es verdadera para todos los posibles valores de sus variables lo llamamos tautología. P + ¬P A->A (P->Q)·(Q->R)->(P->R) • Ojo avizor: A+A = A, A·A = A, A·1=A, A+0=A ¿ Cómo se puede simplificar la expresión: ¬P·(Q + ¬Q) ?
  • 16. Booleanos(5) • Otra forma de representar una función o expresión booleana: F = Σ3(0,2,3,4,7) = Π3(1,2,6) • Encuentre la expresión algebraica de F. • El amo del bar “el tropezón” está cansado que sus órdenes lleguen con errores a cocina, luego pasa que a los que han pedido una ensalada les traen un codillo. Las quejas de los comensales ya han llegado a la Generalitat y don Anselmo está desesperado. Buscando soluciones, una consultora Americana le pretende vender un sistema de comunicaciones entre la barra y la cocina por una millonada. Para ello le han dicho que codificarán sus 30 platos de la carta en un código binario de 4 bits con un bit de paridad par y que serán capaces con este esquema de detectar incluso dos errores de transmisión. Don Anselmo conocedor de las capacidades del departamento de psiquiatría nos ha escrito para ver si puede confiar en ellos. Qué le decimos?