You are on page 1of 91

Benemérita Universidad

Autónoma
de Puebla
Facultad de ciencias de la
Electrónica
Curso MATLAB
Básico
Ponentes :
Lozano Torralba Ulises Bueno Ruíz Jos

Coordinadora :
Dra . Juárez Ruiz Estela

FCE BUAP
Índice
• Introducción
• Fundamentos de MATLAB
• Matrices, vectores y funciones
matemáticas
• Symbolic Math Toolbox
• Tipos de datos en MATLAB
• Programación en MATLAB
Introducción
O b je tivo :

• Conocer ambiente de trabajo
• Manejar matrices y vectores
• Poder resolver problemas matemáticos
• Utilizar los diferentes tipos de datos
• Aprender el lenguaje de programación
 de MATLAB
Introducción
E ste cu rso e sta e n fo ca d o a p e rso n a s q u e

• No tengan ningún conocimiento previo
MATLAB.
• Estén relacionadas con las áreas de
ciencias exactas e ingeniería.
• Estén interesadas en utilizar MATLAB
como herramienta para resolver
problemas matemáticos, de ciencia e
ingeniería.
Introducción
A n te ce d e n te s:

• Matlab Surge de los proyectos LINPACK y
EISPACK
• La empresa MathWorks es fundada en
1984.
• The Mathworks es líder en el desarrollo de
software de computación técnica,
además la empresa tiene más de 1
millón de usuarios alrededor del mundo.
Introducción
A n te ce d e n te s:

• The Mathworkstiene más de 1,000
empleados trabajando en el desarrollo
de las herramientas MATLAB y SIMULINK
para innovar tecnología en empresas,
laboratorios gubernamentales,
instituciones financieras y en más de
3,500 Universidades.
Introducción
¿ Qué es MATLAB?

MATLAB  Matrix Laboratory

– MATLAB es un software matemático muy


versátil que ofrece un entorno de
desarrollo integrado (IDE) con un lenguaje
de programación propio (lenguaje M), que
es un conjunto de comandos o funciones
que realizan tareas específicas y dispone
de más de 30 librerías especializadas
llamadas “Toolboxes” las cuales trabajan
en áreas especiales como Control,
Coumunicaciones, Procesamiento de
Señales, etc.
Introducción
¿ Qué es MATLAB?

• Aplicaciones:
– Matemáticas, estadística y análisis de
datos.
– Desarrollo de algoritmos.
– Adquisición y procesamiento de datos.
– Prueba, modelado y simulación de
prototipos.
– Análisis, manipulación y visualización de
datos.
– Diferentes tipos de Graficación.
– Desarrollo de aplicaciones con Interfaces
Gráficas de Usuario.
Índice
• Introducción
• Fundamentos de MATLAB
• Matrices, vectores y funciones
matemáticas
• Symbolic Math Toolbox
• Tipos de datos en MATLAB
• Programación en MATLAB
Fundamentos de MATLAB
V e n ta n a e stá n d a r
1

2
3

5
Fundamentos de MATLAB
V e n ta n a e stá n d a r
1 Matlab Desktop

Ventana de comandos ( Command Window ) 2


3 Ventana del directorio actual
( Current Directory )

4Ventana del espacio de trabajo ( Workspace )

5 Ventana histórica de comandos ( Command


History )
Fundamentos de MATLAB
Prá ctica


 Uso del Help en MATLAB


 y
 Funciones para el Help
Fundamentos de MATLAB
A sp e cto s G e n e ra le s: M e n ú s
 MATLAB dispone de varios menús los cuales
varían de acuerdo a la ventana que se
encuentre activa


Dentro de las características que se pueden
configurar con estos menús se encuentran:
– Crear, salvar e importar diferentes tipos de archivos
usados por MATLAB
– Configurar algunas preferencias de usuario como:
tipo y color de letra, color de fondo del Command
Window, formato numérico, visualización de
resultados, etc.
– Manipulación y visualización de las ventanas dentro
del Desktop
– Búsqueda de palabras o archivos en las diferentes
Fundamentos de MATLAB
S h o rtcu ts
• Los shorcuts son una forma fácil y rápida de
ejecutar un conjunto de sentencias en MATLAB.
• Un shorcut puede ser: una sola sentencia (o
función), un conjunto de sentencias o un
archivo M.
• Con solo dar click en el shorcut se ejecuta el
conjunto de sentencias.

Índice
• Introducción
• Fundamentos de MATLAB
• Matrices, vectores y funciones
matemáticas
• Symbolic Math Toolbox
• Tipos de datos en MATLAB
• Programación en MATLAB
Matrices, vectores y funciones
matemáticas
D e fin ir m a trice s y ve cto re s
MATLAB posee una gran variedad de funciones
para trabajar con matrices y vectores.
Las matrices se declaran de la siguiente manera:

1 5 9 6
A= A = [1 5 9 6; 6 2 0 8; 1 -9 5 -1]

6 2 0 8

1 -9 5 -1

• Para declarar una nueva fila se escribe un punto


y coma (;).
• Para declarar una nueva columna se usa un
espacio en blanco.


Matrices, vectores y funciones
matemáticas
E xp re sio n e s

• El signo igual(=) es para asignar resultados a una
variable
 >> variable = expresión
• MATLAB distingue entre mayúsculas y minúsculas
en el nombre de una variable, por ejemplo NO
es lo mismo la variable “var” que la variable
“Var”
• El nombre de una variable debe empezar siempre
con una letra seguida de números o más letras
u otros caracteres siempre y cuando no sean
caracteres especiales; el nombre puede tener
un máximo de 31 caracteres.
Matrices, vectores y funciones
matemáticas
E xp re sio n e s

• El punto y coma (;) al final de una expresión
significa que va a realizar la operación que se
le indique pero no va a mostrar los resultados
en pantalla.
• Los tres puntos (…) sirven para indicar que la
expresión va a continuar en la línea de abajo.
• Cuando la operación no se le asigna a ninguna
variable entonces automáticamente se le
asigna a la variable “ans”.
Matrices, vectores y funciones
matemáticas
O p e ra cio n e s
 MATLAB soporta todas las operaciones aritméticas
entre matrices o vectores siguiendo la teoría, por
ejemplo: para sumar dos matrices, deben de ser
del mismo tamaño; la multiplicación de una
matriz A (mxn) por una matriz B (kxp) debe
cumplir que n=k.
 >>A + B (suma)
 >>A - B (resta)
 >>A * B (multiplicación)
 >>A’ (transpuesta)
 >>A^2 (potenciación)
 >>A \ B (división izquierda A*inv(B)) se usa para la
solución de sistemas de ecuaciones
 >>A / B (división derecha, inv(A)*B) complemento de
la división izquierda
Matrices, vectores y funciones
matemáticas
O p e ra cio n e s
Existen otros operadores llamados “operadores

elemento a elemento” los cuales realizan la


operación indicada pero a cada uno de los
elementos que conforman al vector o a la matriz,
dichos operadores tienen la característica de que
están precedidos por un punto (.).

 >>A.*B multiplicación: A(i, j) * B(i,j)



>>A.^n potencia: A(i, j)n
 >>A .\ B división: B(i, j) / A(i,j)
 >>A ./ B división: A(i, j) / B(i,j)
Matrices, vectores y funciones
matemáticas
Prá ctica


 Declaración de matrices y vectores
 Operaciones Aritméticas
 y
 Manejo de expresiones
Matrices, vectores y funciones
matemáticas
R e p re se n ta ció n n u m é rica

• Por default MATLAB almacena los números en
formato de doble precisión, es decir, en 8
bytes.
• MATLAB puede interpretar el concepto de Infinito
con la palabra “Inf”(para MATLAB son los
números más grandes de lo que es capaz de
representar).
• MATLAB tiene una representación para los
números que no están definidos como tal,
llamados “NaN” (Not a Number).

Tanto la representación de NaN como la de infinito
Matrices, vectores y funciones
matemáticas
R e p re se n ta ció n n u m é rica

• MATLAB puede representar y manipular números
complejos, las variables ‘ i ’ y ‘ j ’ están
definidas como “la unidad imaginaria”.
 >>z = 4 + 5j ó
 >>z = complex(4,5)
• Se debe de tener especial cuidado con las
variables ‘i’ y ‘j’, si se usan para guardar algún
valor numérico dejan de ser la unidad
imaginaria.
• Se pueden realizar las operaciones aritméticas
entre números complejos y matrices o vectores
que contengan a complejos.
Matrices, vectores y funciones
matemáticas
Prá ctica



 Representación numérica
 y
 Números complejos
Matrices, vectores y funciones
matemáticas
Fu n cio n e s d e m a trice s y ve cto re s

Existe una gran variedad de funciones predefinidas


para crear matrices de todo tipo:


– Matriz de ceros. zeros(m,n)
– Matirz de unos. ones(m,n)
– Matriz identidad. eye(m,n)
– Matriz aleatoria. rand(m,n) randint(m,n, [i,j])
– Matriz mágica. magic(k)



 Ayuda: Specialized Matrix Functions



Matrices, vectores y funciones
matemáticas
Fu n cio n e s d e m a trice s y ve cto re s

Es posible también realizar manipulaciones y


obtener información de las matrices que se


tienen:

– Tamaño de una matriz. size(A)


– Longitud de un vector. lenght(A)
– Concatenación de matrices. cat(dim, A, B)
– Rotación de matrices. rot90(A,k)
– Matrices triangulares. tril(A,k)



 Ayuda: Summary of Matrix and Array Functions
Matrices, vectores y funciones
matemáticas
Fu n cio n e s d e m a trice s y ve cto re s
Existen también algunas funciones un poco más

elaboradas y complejas en cuanto a su


operación, las cuales realizan tareas como:
– Inversa de una matriz. Inv(A)
– Determinante. det(A)
– Suma de la diagonal. trace(A)
– Factorización tipo L*U. lu(A)
– Reducción de matrices por Gauss-Jordan. rref(A)
– Obtención del polinomio característico. poly(A)
– Obtención de los eigenvalores y eigenvectores.
eig(A)
– Descomposición Schur. schur(A)
– Rango y nulidad en una matriz. rank(A)

Matrices, vectores y funciones
matemáticas
Prá ctica




 Funciones que actúan sobre
 matrices y vectores
Matrices, vectores y funciones
matemáticas
D ire ccio n a m ie n to
Direccionamiento en vectores.
• Para tener acceso a los elementos en un vector
se debe de poner el índice entre paréntesis, el
índice siempre empezará siempre por el
número 1.
 x = [ 10 3 2 ... 3]
 x(1) x(2) x(3) . . . x(n)

• Pueden accederse varios elementos a la vez


colocando entre paréntesis un vector de
índices
 >>x([1 2 3])  acceso a los elementos 1,2 y 3 del
vector x

Matrices, vectores y funciones
matemáticas
D ire ccio n a m ie n to
Direccionamiento en vectores.

• En lugar de un vector de índices se obtener una


matriz con los elementos correspondientes a
los índices.

 >>x([1 5;9 4])  devuelve una matriz de


2x2 con los elementos que
corresponden a los índices 1,5,9 y 4

 x= [ 7 10 7 9 1 2 9 5 9 8 ]
 x([1 5;9 4])
 ans = 7 1

9 9

Matrices, vectores y funciones
matemáticas
D ire ccio n a m ie n to
Direccionamiento de matrices
Existen 2 posibles formas de acceder a los

elementos de una matriz:


– Con 2 subíndices (i, j) en donde “i” es el número de
fila y “j” es el número de columna.
– Con 1 subíndice (i) en donde los elementos se van
contando por columnas.

 2 9 7 3
A= 9 7 6 5

8 3 1 5
8 3 1 10

A ( 2 , 2 ) = A ( 6 )  se accede
al número 11
Matrices, vectores y funciones
matemáticas
D ire ccio n a m ie n to
Direccionamiento de matrices
También es posible hacer el direccionamiento por

medio de 2 vectores

 >>A( [1 3], [ 4 2] )  hace las combinaciones [(1,4) (1,2);


(3,4) (3,2)]

6 2 1 1
A= 4 9 9 5
 5 10 7 4
6 6 8 2

 A( [1 3], [ 4 2] )

 ans = 1 2
 4 10
Matrices, vectores y funciones
matemáticas
O p e ra d o r d o s p u n to s (:)
 El operador dos puntos puede usarse de 3 formas
distintas:
– Creador de vectores con incrementos o
decrementos.
 x=1:10  crea un vector del 1 al 10 con
incremento de 1.
 x = 1:i:10  crea el mismo vector pero con
incremento de i.
– Direccionamiento “hasta”.
 A(1,2:5)  direcciona los elementos de la fila 1,
desde la columna 2 “hasta” la columna 5.
 x(5:8)  direcciona del elemento 5 “hasta” el 8.
– Direccionamiento “todo”.
Matrices, vectores y funciones
matemáticas
O p e ra d o re s re la cio n a le s


< menor que
> mayor que
< = menor o igual que


> = mayor o igual que
= = igual que
En los operadores relacionales si la condición se
cumple diferente
~ =regresa un a1 lógico, de lo contrario
regresa un 0 lógico.

Este tipo de operadores se pueden usar también

para comparar matrices o vectores siempre y


cuando sean del mismo tamaño, cuando esto
sucede la comparación se realiza elemento a
elemento.
Matrices, vectores y funciones
matemáticas
O p e ra d o re s ló g ico s
& AND

| OR

~ NOT

Los operadores lógicos se usan en combinación con


los relacionales para comprobar el cumplimiento
de condiciones múltiples.
 if (A>5)&(A<10)
 ~(A>20)
Los operadores lógicos toman como 1 lógico a

todos los números diferentes de cero, mientras


que toma como 0 lógico solo a los elementos que
sean cero.
Matrices, vectores y funciones
matemáticas
Prá ctica


Ejemplos de direccionamiento
 Operador dos puntos
 y
 Operadores lógicos y relacionales
Matrices, vectores y funciones
matemáticas
Fu n cio n e s m a te m á tica s
MATLAB dispone de las funciones matemáticas más

usadas. Algunas de ellas son:


> > exp ( x ) función


exp o n e n cia l
> > log( x ) logaritmo natural
> > log10 ( x ) logaritmo base
10
> > log2 ( x ) logaritmo base 2
> > pow2 ( x ) eleva 2 a la x
> > sqrt( x ) raíz cuadrada
> > round ( x ) redondeo
> > primes ( x ) obtiene los
n ú m e ro s p rim o s
> > factorialx ( )
Matrices, vectores y funciones
matemáticas
Fu n cio n e s m a te m á tica s

MATLAB también tiene las funciones


trigonométricas, que pueden ser aplicadas


también a matrices y vectores en donde la
operación se realiza elemento a elemento.

sin sin h a sin


co s co sh a co s
ta n ta n h a ta n
Matrices, vectores y funciones
matemáticas
Po lin o m io s
• La representación de polinomios en MATLAB se
realiza por medio de vectores de la siguiente
manera:
 x4– 8x2+ 6x – 10 1 [1 0 -8 6 -10]

• Dentro de las operaciones que se pueden realizar


con polinomios se encuentran las siguientes:

– Obtención de las raíces roots(x)
– Evaluación del polinomio con diferentes valores
polyval(x,k)
– Diferenciación e integración del polinomio polyder
(x); polyint(x)
– Representación en fracciones parciales
Matrices, vectores y funciones
matemáticas
Prá ctica



 Funciones matemáticas
 y
 Polinomios
Índice
• Introducción
• Fundamentos de MATLAB
• Matrices, vectores y funciones
matemáticas
• Symbolic Math Toolbox
• Tipos de datos en MATLAB
• Programación en MATLAB
Symbolic Math Toolbox

• Los Symbolic Math Toolboxes incorporan el uso de
símbolos dentro del ambiente numérico de
MATLAB. Estos toolboxes sustituyen el MATLAB
numérico y gráfico con otras formas de
computación matemática.
• El campo de aplicación de este Toolbox abarca
diversos tópicos:
– Cálculo: diferenciación, integración, límites, sumatorias,
series de Taylor.
– Álgebra Lineal: inversas, determinantes, eigenvalores,
matrices simbólicas.
– Métodos de simplificación de expresiones algebraicas.
– Solución de sistemas de ecuaciones.
– Funciones matemáticas especiales.
Symbolic Math Toolbox
• La base computacional que soporta a estos
Toolboxes es el kernel de Maple, el cual es una
aplicación para la solución de problemas
matemáticos y la creación de aplicaciones
técnicas interactivas.
• El Symbolic Math está conformado por 2 toolboxes:
– El Symbolic Math Toolbox Básico es una colección de
más de 100 funciones que proporcionan acceso al
kernel de Maple usando la sintaxis y el estilo al que
nos tiene acostumbrados el lenguaje de MATLAB.
– El Symbolic Math Toolbox Extendido aumenta la
funcionalidad del básico al incluir todos los paquetes
no-gráficos de Maple, características de programación
y procedimientos definidos por el usuario.
• Al mencionar que estos toolboxes se basan en
símbolos, en términos de MATLAB se refieren a
Symbolic Math Toolbox
• Estos objetos simbólicos son estructuras de datos
que almacenan una representación de variables,
expresiones y matrices algebráicas en forma de
cadenas de caracteres.

Declaración de variables y expresiones simbólicas:


> > a = sqrt( sym ( 2f=()) x^ 2 - 4 )/ ( x + 2 )


a = f = sym ( 'a * x^ 2 + b * x + c ‘)
2 ^ (1 /2 )
x = sym ( 'x')
> > sym ( 2 )/ sym ( 5 ) a = sym ( 'a lp h a ')
ans =
2 /5
Symbolic Math Toolbox
Prá ctica



 Creación de variables y
 expresiones simbólicas
Symbolic Math Toolbox
S im p lifica ció n d e exp re sio n e s
• MATLAB cuenta con varias funciones para reducir
una expresión matemática, de esta manera
hace más entendible y menos compleja la
expresión; dicha reducción la realiza haciendo
uso de diferentes identidades trigonométricas
y algebraicas.
• pretty(f) permite ver la expresión f de una
forma
f = x ^3 −más6 * x ^ 2amena
+11 * x − 6y→ precisamente
x 3 − 6 x 2 +11 x − 6 más
“bonita”

• collect(f) hace ver a ‘f’ como a un polinomio en
términos de su variable simbólica, digamos ‘x’;
f = ( x − 1) * ( x − 2) * ( x − 3) → x ^3 − 6 * x ^ 2 + 11* x − 6
y suma todos los coeficientes que tienen la
misma potencia de x.
Symbolic Math Toolbox
S im p lifica ció n d e exp re sio n e s
• expand(f) distribuye los productos en sumas y aplica
identidades a funciones que envuelven a las sumas
* ( x + y) → a * x + a * y
en susaargumentos.
• cos( x + y ) → cos( x ) * cos( y ) − sin( x) * sin( y )

• horner(f) transforma un polinomio simbólico en su
representación anidada, tratando de expresar la
variable
x ^3 − 6 * xsimbólica con
^ 2 + 11* x − 6→ el−menor
6 + (11 +grado.
( −6 + x ) * x ) * x

• factor(f) si f es un polinomio con coeficientes
racionales, entonces f es expresado como producto
de factores, los cuales al ser multiplicados dan el
polinomio original. Si f no puede ser factorizado
x ^3 − 6 * xel^ 2resultado
entonces + 11* x − 6es →el( xmismo.
− 1) * ( x − 2) * ( x − 3)
Symbolic Math Toolbox
S im p lifica ció n d e exp re sio n e s
• simplify(f) es una de las funciones más
poderosas en cuanto a simplificación se refiere
ya que aplica identidades algebraicas así como
identidades funcionales como las
(1trigonométricas,
- x^2)/(1 - x) → x +1 exponenciales y logarítmicas.
• (1/a^3 + 6/a^2 +12/a +8) ^ (1 / 3) →( ( 2 * a +1) ^3 / a ^3) ^ (1 / 3)

• simple(f) este tipo de simplificación alcanza su
objetivo aplicando las funciones simplify,
collect, factor, y otras funciones de
simplificación, es la forma más general de
cos ( x ) ^ 2 + sin
simplificación ya( x ) ^que
2 →1 muestra todos los
resultados2 * cosen pantalla.
( x ) ^2 - sin ( x ) ^2 →3 * cos ( x ) ^ 2 −1
Symbolic Math Toolbox
S im p lifica ció n d e exp re sio n e s
• subs(f,old,new) reemplaza en la expresión
simbólica ‘f’ la expresión o variable “old” por la
expresión o variable “new”.

Por ejemplo: sea la función simbólica f= x^2 -


> > subs ( f, ’ 1 / 2 ’ , ‘ a ’ )  x ^ 1 1 ( a 1 *x 1


1/2*x
(a - 1/2
>> su b s( f 1 ‘x’ 1 ‘ a ’ 1  a^ 1 1 111 * a
 
>> su b s( f  ‘  *x  ’  ’ a ’  
x^  (a
Symbolic Math Toolbox
A p lica cio n e s e n C á lcu lo
Operador Comando de Operador Comando de
matemático MATLAB matemático MATLAB
diff(f) o diff(f,x) limit(f)

diff(f, a) limit(f ,x ,a) o limit(f, a)

diff(f,b,2) limit(f, x, a, ‘left’)

J=jacobian([r ; t] , limit(f, x, a, ‘right’)


[u , v]
Symbolic Math Toolbox
A p lica cio n e s e n C á lcu lo
Operador matemático Comando de MATLAB
Operador
int(x^n) o int(x^n, x)

int(sin(2*x), 0, pi/2 o int(sin(2*x), x, 0, pi/2

g=cos(a*t+b)
int(g)
o
int(g,t)
Int(besselj(1, z)) o Int(besselj(1, z), z)
Symbolic Math Toolbox
A p lica cio n e s e n C á lcu lo
3x+5y
• Operaciones algebraicas:
2x+4y
• +4y
5x+13y

• Sumatorias simbólicas
 f(0)+f(1)+f(2)+f(3)  symsum(f,x,0,3)

• Series de Taylor
  taylor(f)

Symbolic Math Toolbox
A p lica cio n e s e n

C á lcu lo
Graficación simbólica:


 ezplot (f)

Symbolic Math Toolbox
Prá ctica



 Ejemplos con aplicaciones al cálculo y
simplificación de expresiones
simbólicas
Symbolic Math Toolbox
S o lu ció n d e e cu a cio n e s
• El Symbolic Math Toolbox dispone principalmente
de 2 funciones para la solución de ecuaciones:
– Solve(f).- resuelve la ecuación simbólica algebráica f
para la variable simbólica que este por default
para f=0, en caso de ser un sistema con múltiples
ecuaciones, entonces habrá múltiples soluciones
por lo que esta función regresa las soluciones en
x 2 – ½x – ½
forma de estructura.
f = x^2 + ½ * x - ½


Symbolic Math Toolbox
Solución de ecuaciones
• dsolve(s).- me permite resolver expresiones
simbólicas pero que tengan la característica de
ser ecuaciones diferenciales ordinarias, éstas
ecuaciones deben de contener el carácter ‘D’
el cual denota diferenciación. Los símbolos D2,
D3, …, Dn denotan la segunda, tercera, …, n-
ésima derivadas respectivamente.
Por ejemplo: D2 representa , la variable
dependiente por default que maneja el toolbox es
la variable ‘t’.
Symbolic Math Toolbox
Práctic
a



 Solución de ecuaciones
Symbolic Math Toolbox
Funciones matemáticas especiales
Existen algunas funciones que son especiales en

cuanto a su aplicación, este tipo de funciones se


pueden ejecutar con una sola función llamada
“mfun”, algunas de estas funciones se enlistan a
continuación:
§Binominal Coefficients
§Riemann Zeta Functions
§Bernoulli Numbers and Polynominals

§Euler Numbers and Polynomials


§Harmonic Function
§Logarithmic Integral
§Shifted Sine Integral
§Fresnel Sine And Cosine Integral
§Dawson’s Integral
§Error Function
§Gamma Function
§Logarithm of the Gamma Function
§Digamma Function
§Polygamma Function
§Generalized Hypergeometric Function
§Bessel Functions
Symbolic Math Toolbox
Funciones matemáticas especiales

>>mfunlist  para obtener toda la lista de funciones


especiales
>>mhelp function  obtener la ayuda de una función
especial

La estructura de la función “mfun” depende
directamente del tipo de función especial que se
utilice, en general la estructura es la siguiente:
 mfun (‘fun’, p1, p2,…)
Nombre de la Conjunto de

función parámetros
Principal según el tipo
de función
especial
Índice
• Introducción
• Fundamentos de MATLAB
• Matrices, vectores y funciones
matemáticas
• Symbolic Math Toolbox
• Tipos de datos en MATLAB
• Programación en MATLAB
Tipos de datos en MATLAB
Tipos de datos
• MATLAB soporta diferentes tipos de datos como
dobles, simples, cadenas, lógicos, etc. De
hecho, el usuario puede hacer su propio tipo de
dato haciendo uso de las “Clases”.
• Existen 15 tipos de datos fundamentales en
ARRAY
MATLAB: [Full or sparse]

logical char NUMERIC cell structure Java classes function


handle

User classes

int8, uint8, int16, uint16, int32, uint32, int64,


singleuint64 double
Tipos de datos en MATLAB
Tipos numéricos y lógicos


• Los tipos numéricos incluyen a los enteros (int), a
los de simple y a los de doble precisión
(double).
• Todos los tipos numéricos soportan operaciones
matemáticas excepto los int64 y unit64.
• Los tipos de datos enteros son útiles porque nos
ayudan a ahorrar espacio en memoria y a
realizar las operaciones mucho más rápido.

Tipos de datos en MATLAB
Tipos numéricos y lógicos

• En los tipos de lógicos sólo existen 2 posibles


valores que son: 1 o 0 (true o false
respectivamente). Obviamente cada valor
requiere solo de 1 bit para almacenarse.
• Los tipos lógicos se usan mucho en operaciones
para imágenes binarias (en blanco y negro) y
en programación cuando cierto valor o cierta
condición se cumple o no.

Tipos de datos en MATLAB
Cadenas de caracteres
• Para declarar un dato de tipo cadena se coloca
entre apóstrofes:

>> cad=‘nombre’
 >> cad2=‘mi correo@servidor’

• Cada carácter (cualquiera que este sea) escrito
en la cadena se guarda en 2 bytes de
memoria.
• La opción “help strings” da una pequeña ayuda
acerca de las cadenas de caracteres.
• Se pueden crear matrices de cadenas de
caracteres, siempre y cuando las cadenas sean
de la misma longitud.

Tipos de datos en MATLAB
Cadenas de caracteres
• La librería que alberga a todas las funciones que
actúan sobre cadenas de caracteres es ‘strfun’.
• La librería strfun cuenta con más de 30 funciones
para manipulación de cadenas, algunas de las
más usadas y más elementales son:
Ø size(c): obtiene el número de caracteres.
Ø double(c): obtiene el código ASCII de la cadena.
Ø char(c): convierte de código ASCII a carácter.
Ø char(‘Pedro’, ’Juan Jose’): crea una matriz de
cadenas.
Ø disp(c): imprime la cadena ‘c’ en pantalla.
Tipos de datos en MATLAB
Práctic
a



 Ejemplos con tipos numéricos,
lógicos y cadenas de
caracteres
Tipos de datos en MATLAB
Estructuras (Arrays)
Las estructuras son agrupaciones de datos

(llamados “campos”) de diferente tipo bajo un


mismo nombre. Por ejemplo, la estructura
alumno puede contener los campos nombre
(cadena de caracteres) y edad (un número).
ARRAY
alumno

Alumno(1) Alumno(2) Alumno(3)

Nombre Tania Arrieta Nombre Aleida Cosme Nombre Carmen Flores


  
Edad Edad Edad
 21 18 20
 
Examen 8 9 Examen 7 6 Examen 10 8
7 10 8 8 10 9
Tipos de datos en MATLAB
Creación de Estructuras
• 1° Forma.- se pueden crear estructuras con la
utilización del punto(.). Simplemente se van
añadiendo los campos que se requieren con su
valor correspondiente. Cabe mencionar que un
campo puede ser de cualquier clase (entero,
doble, char, cell array, vector, matriz, etc.)

a lu m n o . n o m b re = ‘ C a rm e n
• Flo re s';
• a lu m n o . e d a d = 2 0 ;
A lu m n o . exa m e n = [ 1 0 8 ; 1 0 9 ] ;
Tipos de datos en MATLAB
Arreglos de celdas (cell
arrays)
• Un cell array proporciona un mecanismo de
almacenamiento para diferentes tipos de
datos. Los datos pueden ser de todo tipo:
matrices, vectores,
Celda 1,1 Celda 1,2 estructuras e1,3incluso más
Celda
cell arrays. ‘Carmen Flores'
3 9 8 ‘11/9/88’ 0.9 i 16 - 32i
4 7 5 17 + i 2 + . 7i
2 5 1 ‘Clase II’
‘Obs. 1’
‘Obs. 1’

Celda 2,1 Celda 2,2 Celda 2,3

3- 16 2
‘texto’ 54
69
9- 52 34
4 . 31 8 . 92 3 . 87 7 . 65 0 14 8
2.2 4 .7 10 + 0 . 4i
0.9 4.1
Tipos de datos en MATLAB
Creación y acceso a cell
arrays
• Un cell array se puede crear de dos formas,
usando paréntesis y usando llaves.
– Si se usan paréntesis, entonces los valores deben
ser dados entre llaves.
– A (1 , 1 ) = { [ 1 4 3 ; 0 5 8 ; 7
2 9]} ;

A ( 1 , 2 ) = { ‘ Ta n ia A rrie ta '} ;
– Si se usan llaves, entonces los valores se dan tal
cual.A{1,1} = [1 4 3; 0 5 8; 7 2
 9];
A{1,2} = ‘Tania Arrieta ';

• Cuando se quiere preguntar por el contenido de


un elemento del cell array se puede hacer de
dos formas:
– A(1,2) regresa el tipo de dato que es y el tamaño, pero no
me muestra el contenido en si.
– A{1,2} me muestra el contenido del elemento (1,2) del
Tipos de datos en MATLAB
Práctica



 Estructuras
 y arreglos de celda
Índice
• Introducción
• Fundamentos de MATLAB
• Matrices, vectores y funciones
matemáticas
• Symbolic Math Toolbox
• Tipos de datos en MATLAB
• Programación en MATLAB
Programación en MATLAB
Sintaxis del
lenguaje
MATLAB
 posee su propio lenguaje de
programación, con sus sentencias y sintaxis.
Existen dos elementos básicos en cualquier
lenguaje de programación:
• Sentencia IF if if condicion1
condición bloque1
 tru sentencia elseif condicion2
Condición 1 e s bloque2
end elseif condicion3
fal Bloque 1 if bloque3
se condición else
tru sentencia
e bloque4
Condición 2 s end
Bloque 2 else
fal sentencia
se s
Bloque 3
end
Programación en MATLAB
Sintaxis del
lenguaje
• Sentencia WHILE Sentencias

• while condición
• sentencias
end
Condición
true

• false

• Sentencia BREAK: solamente se usa para romper los
ciclos for o while
while condición
• sentencias
if condición2
• break
 end
sentencias
end
Programación en MATLAB
Sintaxis del
lenguaje

• Sentencia SWITCH

switch expresión for i = 1 : n
• case_expr1 ,
case sentencias
bloque1 end
• { case_expr2 , case_expr3 , ...}
case
Bloque2
• { case_expr4 , case_expr5 ,...}
case for i = vector de valores
Bloque2 sentencias
• end
...

otherwise, % opción por defecto
bloque3
end•



Programación en MATLAB
Sintaxis del
lenguaje

• Sentencia CONTINUE: esta sentencia sirve solamente
dentro de ciclos, se usa para pasar a la siguiente
iteración.


• for i=1:n
sentencias try
• if condición2 continue sentencias A
• end catch
sentencias B sentencias B
end

end



• Sentencia TRY, CATCH: normalmente se ejecutan las
Programación en MATLAB
Lectura Y escritura interactiva de
variables
• Para la lectura de variables se ocupa la función
‘input’ la cual imprime un mensaje en pantalla
e inmediatamente después se queda en espera
de un valor de cualquier tipo manejado por
MATLAB.va l= in p u t(‘ d a u n va lo r: ‘)
• ca d = in p u t(‘ d a u n a ca d e n a : ‘, ‘ s’)


• Para la escritura de variables se ocupa la función
‘disp’ la cual puede imprimir el contenido de
cualquier tipo de variable en la pantalla del
command window.
d isp ( va l)

d isp (‘ fin d e l p ro g ra m a ’)
Programación en MATLAB
Archivos m tipo
scripts
• Cuando se escribe un programa en MATLAB,
éste es guardado como un archivo M cuya
extensión es *.m . Existen dos tipos de
archivos M: los scripts y las funciones:
– Un archivo script es un archivo externo que
contiene una secuencia de sentencias de
MATLAB, también son la forma más simple de
realizar un programa ya que no tienen
argumentos de entrada o salida. Por otro lado,
los scripts comparten totalmente el
workspace de MATLAB, es decir, se pueden
acceder o crear variables en el workspace
desde el archivo script.
– Para ejecutar un archivo script basta con
escribir el nombre del archivo M en el
Programación en MATLAB
Archivos m tipo función
• Una función sirve para agregar nuevas funciones
a las ya conocidas en MATLAB. Son rutinas de
programa que aceptan argumentos tanto de
entrada como de salida. Las funciones operan
con variables dentro de su propio workspace,
es decir, las variables definidas dentro de una
función son “variables locales”.
• Para que la función tenga acceso a variables que
no han sido pasadas como argumentos es
necesario declarar dichas variables como
“variables globales”.
• En cualquier función de MATLAB existen dos
variables definidas de modo automático,
llamadas nargin y nargout, que representan
Programación en MATLAB
Archivos m tipo función
• Varargin es un cell array que contienen tantos
elementos como sean necesarios para poder
recoger en dichos elementos todos los
argumentos de entrada.
• Varargout es también un cell array que agrupa
los valores de retorno de la función.
• Una archivo m tipo función se asigna como tal
con un encabezado
“variables y “nombre de función”
(“variables de entrada y argumentos”)
Function argumentos de salida”
(debe =
ser el mismo nombre que el archivo m)”


Ejemplos
•function de posibles encabezados
varargout=fun1(varargin) function res=fun1 de (a,buna
)
función:
function [r1 r2 function [r1 r2
varargout]=fun2(a1,a2,varargin) r3]=fun2(a,b)
Programación en MATLAB
Function handles
• Un function handle es un valor de MATLAB que
proporciona un medio de llamar a una función
de una forma indirecta. El principal uso de este
tipo de funciones es el de pasar a una función
el nombre de otra función junto con sus
argumentos,
fhandle para que la pueda ejecutar
= @functionname
• >> fseno = @sin  ahora la función ‘fseno’ funciona
• exactamente igual a la función “sin”
>> fseno ( pi )  hace lo mismo que
• “sin(pi1 ”
>>f 1 =@sp ice  se crea un handle
• f1 del script “spice1 m”
>>f1 ( 1  e1ecuta el archivo
• spicem
• El uso más frecuente de un handle es para las
funciones anónimas.
Programación en MATLAB
Práctic
a




 Programación con matlab
Programación en MATLAB
Ejecución en modo “paso a paso”
Para este tipo de ejecución es imprescindible

colocar un breakpoint en la parte del programa


en la que queramos que se detenga la ejecución.
Set/Clear Breakpoint . Coloca o borra un breakpoint.
Clear All Breakpoints . Elimina todos los breakpoints
del archivo.
Step . Avanzar un paso sin entrar en las funciones o
subfunciones de usuario.
Step In . Avanzar un paso, y si en ese paso hay una llamada
a una función cuyo fichero 1 entra en dicha función.
Step Out . Salir de la función que se está ejecutando en
ese momento (la función a la que entró el step in).
Continue . Continuar la ejecución hasta el final o hasta
el siguiente breakpoint.
Quit Debugging . Terminar la ejecución paso a paso del
Debugger.
Programación en MATLAB
Ejecución en modo “celdas”
Este tipo de ejecución permite ejecutar el
programa por “secciones” llamadas celdas, de tal
forma que se puede ejecutar mi código por estas
secciones o bloques paso a paso. Este modo de
ejecución puede ser controlado por el menú Cell
del Editor/Debugger.
Pasos para una ejecución en modo de celdas:

1. Habilitar el “modo de celda” del Editor/Debugger.


2. Definir los bloques o celdas con el signo de doble
por ciento (%%)
3. Ejecutar las celdas de acuerdo a las siguientes
opciones:
 Evaluate Cell. Evalúa la celda o el bloque completo
y se mantiene ahí.
Programación en MATLAB
Corrector de código m-lint
• El “reporte de chequeo de código” llamado M-Lint
es una herramienta que muestra problemas y
errores potenciales en el código de nuestro
programa, también muestra ciertos consejos
para el mejoramiento del código.
• La herramienta M-Lint muestra un mensaje por
cada línea en donde haya cierto problema y
determina como se puede mejorar esa línea de
código.
Programación en MATLAB
Publicación de archivos
• Cuando se haya completado la escritura y el
depurado del script M se puede hacer la
publicación del archivo en diferentes formatos:
HTML, XML, LaTeX, Word o Power Point.
Programación en MATLAB
Práctic
a


 Modos de ejecución,
 corrector de código y

 publicación de archivos
Programación en MATLAB
Lectura/escritura de archivos
• MATLAB dispone de varias funciones para la
lectura y escritura interactiva de archivos
(principalmente tipo texto).
• Algunas de las funciones más elementales y de
mayor uso son:

§ fopen.- para abrir un archivo tipo texto.
§ fclose.- para cerrar un archivo tipo texto.
§ fscanf.- lee el contenido de un archivo.
§ feof.- verifica el fin de un archivo.
§ textread.- lee el contenido de un archivo sin
necesidad de abrirlo.
§ fprintf.- imprime directamente dentro de un
archivo.
Laboratorios

 Validación de
conocimientos
Lab 1
• Realice un programa siguiendo los siguientes
pasos:
1. Declarar una matriz arbitraria.
2. Realizar 5 operaciones a dicha matriz (Inversa,
eigenvalores, acceso a elementos, etc.)
3. Realizar una publicación debidamente organizada y
en formato html.
4.
• El principal objetivo de este laboratorio es que el
alumno realice un “tutorial” en donde pueda ir
explicando paso a paso como trabajan las
funciones en MATLAB y lo más importante es
que no tendrá que ir ‘copiando-pegando’ para
realizar el reporte de su trabajo.
Lab 2
• Realizar un simulador de circuitos tipo SPICE que
trabaje solamente con circuitos en DC,
resistencias, fuentes de voltaje y fuentes de
corriente.
• El programa obtendrá la información del archivo
‘cir.txt’ y presentará los resultados en otro
archivo llamado ‘rescir.txt’
• Las especificaciones se darán en clase.

You might also like