1
2010
Universidad Tecnolgica Nacional
Facultad de Regional Buenos Aires
Carrera: Ingeniera Electrnica
MATLAB
INTRODUCIN
Cuando las leyes de la matemtica se refieren a
la realidad, no son ciertas; cuando son ciertas, no
se refieren a la realidad
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Agenda
Polinomios
Variables Simblicas.
Programacin.
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
PolinomiosIntroduccin:
a. MatLab trabaja con polinomios, explotando su
capacidad de operaciones con vectores y un
conjunto de funciones especficas.
b. Exige que los vectores sean completos, no debe
faltar trminos (caso contrario el usuario debe
completar con ceros).
c. Permite realizar operaciones de tales como:
Operaciones (+, -, *, /). Races.
Evaluacin numrica. Aproximaciones de curvas.
Interpolacin
Derivadas e integrarles.
2
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
1. Cargar un polinomio.
Ejemplo 1:
121042 23 xxxy
>> y=[ 2 -4 -10 12]
y =
2 -4 -10 12
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
1. Cargar un polinomio.
Ejemplo 2:
xxxw 435 24
>> w=[ 5 0 3 -4 0]
w =
5 0 3 -4 0
04305 234 xxxxw
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Suma y diferencia:
Su suma es:bacyyy
Su diferencia:
1
1
21
1
1
21
nn
nn
b
nn
nn
a
bxbxbxby
axaxaxay
bacyyy
3
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Suma y diferencia:
Ejemplo 3:
7253
121042
23
23
xxxp
xxxp
b
a
>> pa = [ 2 -4 -10 12];
>> pb = [ -3 5 -2 7];
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Suma y diferencia:
Ejemplo 3:
>> suma = pa + pb
suma =
-1 1 -12 19
191223 xxxsuma
Representa:
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Suma y diferencia:
Ejemplo 4:
>> dif = pa - pb
dif =
5 -9 -8 5
5895 23 xxxdif
Representa:
4
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Suma y diferencia: Si dos polinomios no son delmismo grado, se deben completar con ceros:
Ejemplo 4:
725
12102
2
3
xxy
xxy
b
a
7250
121002
23
23
xxxy
xxxy
b
a
Ahora se puede operar con ellos.
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Producto:
Dado dos polinomios cualquiera:
donde:
Este proceso es equivalente a la:
1
1
21 nn
nn
baccxcxcxcyyy
)(*)(1111 mm
m
nn
n
bacbxbxbaxaxayyy
ConvolucinConvolucin
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Producto:
Ejemplo 6:
>> prod = conv( pa, pb)
prod=
-6 22 6 -64 52 -94 84
Representa:
849452646226 23456 xxxxxxpc
5
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Divisin:
Dado dos polinomios cualquiera:
Este proceso es equivalente a la: DeconvolucinDeconvolucin
rbca
r
bac
yyyy
y
yyy
*
/
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Divisin:
Ejemplo 7:
7253
9310237646226
23
23456
xxxp
xxxxxxp
b
a
>> pa = [-6 22 6 -64 37 -102 93 ];
>> pb = [ -3 5 -2 7];
>> [div, resto] = deconv( pa, pb)
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
2. Operaciones con polinomios.
Divisin:
Ejemplo 7:
div =
2 -4 -10 12
Representa:
resto=
0 0 0 0 -15 -8 9
9815
121042
2
23
xxrest
xxxdiv
6
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
3. Races.
Un polinomio se puede expresar como:
1
1
21 nn
nn cxcxcxcy
o en la forma factorizada:
)()()(211 n
rxrxrxcy
Donde ri son las races del polinomio.
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
3. Races.Ejemplo:
o en la forma factorizada:
Donde ri son las races del polinomio.
121042 23 xxxy
)2()3()1(2 xxxy
2 3 1
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
3. Races.
Ejemplo 8: 121042 23 xxxy
>> p = [ 2 -4 -10 12]
p =
2 -4 -10 12
>> r = roots(p)r =
-2.0000
3.0000
1.0000
7
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
4. Evaluacin.
Ejemplo: 121042)( 23 xxxxy
evaluar: 5ix
125105452)5( 23y
112)5(y
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
4. Evaluacin.
Ejemplo 9: 121042)(23 xxxxy
evaluar: 5ix
>> p = [ 2 -4 -10 12];
>> x = 5;
>> y = polyval(p, x)
y =
112
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
4. Evaluacin.
Ejemplo 10: 121042)(23 xxxxy
evaluar: 6 ,1 ,8 ,5 ,2ix
>>x = [ 2 5 8 -1 6];
>> y = polyval(p, x)
y =
-8 112 700 16 240
8
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
5. Obtencin de los Coeficientes de un Polinomio.
Un polinomio de grado n esta determinado si se dann+1 puntos. En otras palabras un polinomio de grado nesta ajustado a n+1 puntos dados:
encontrar:
43
2
2
3
1cxcxcxcy
4321 cccc
dados: 44332211 , , , , xyxyxyxy
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
5. Obtencin de los Coeficientes de un Polinomio.Ejemplo11:
>> x = [ 1.5 3.2 0.1 -1.8]>> y = [ -5.25 4.576 9.856 5.376]
>> c = polyfit( x, y, length(x)-1)
121042 23 xxxy
c =
2.0000 -4.0000 -10.0000 12.000
>> c = polyfit( x, y, 3)
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
6. Diferenciacin de un Polinomio.
Dado un polinomio cualquiera:
su primer derivada es:
se desea calcular:
1
1
21 nn
nn cxcxcxcy
n
nn cxcnxcny 22
1
1)1('
)1(2
,
2
1
,
1
cnc
cnc
9
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
6. Diferenciacin de un Polinomio.
121042 23 xxxpa
>> pa = [ 2 -4 -10 12];
>> dpa = polyder(pa)
dpa =
6 -8 -10
expresndose como:
1086 2 xxdpa
Ejemplo 11:
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
6. Integral de una Funcin Polinmica.Dado un polinomio cualquiera:
1
1
21 nn
nn cxcxcxcy Su integral es:
se desea calcular:1
21 1
nc
n
c
n
c
21
2211
21nn
nnn cxcxc
xn
cx
n
cyY
NO se puede calcular en forma directa: 2nc
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
6. Integral de una Funcin Polinmica.
01042 23 xxxipa
Ejemplo 12: >> pa = [ 6 -8 -10];
>> ipa = polyint(pa)
ipa =
2 -4 -10 0
expresndose como:
10
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Polinomios
6. Integral de una Funcin Polinmica.
71042 23 xxxipa
Ejemplo 13: >> pa = [ 6 -8 -10];
>> ipa = polyint(pa, 7)
ipa =
2 -4 -10 7
expresndose como:
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasa. MatLab maneja datos simblicos, por
medio de una variedad de distintos arreglos.
b. La capacidad simblica de MatLab se basa
en el motor de Maple 8.
c. Permite realizar operaciones de tales como:
Carga
Operaciones (+, -, *, Simplificaciones).
Resolucin simblica y evaluacin numrica.
Derivarlas e integrarlas.
Graficarlas.
Transformadas La Place, Fourier
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicas
a. Almacenar una variable simblica.
>> syms x
>> y=2*(x+3)^2/(x^2+6*x+9)
11
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicas
a. Almacenar una variable simblica.
>> E = sym(m*c^2)
>> ley_ gases_ideales = sym(P*V= n*R*T);
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
>> y=2*(x+3)^2/(x^2+6*x+9);
Matemtica Simblicas
b. Operaciones: Obtener numerador y denominador
>> [num, den] = numden(y)
num =
y=2*(x+3)^2
den =
x^2+6*x+9
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
>> f =num *den
Matemtica Simblicas
b. Operaciones: Producto y Divisin
>> num/den
ans =
(2*(x+3)^2)/(x^2+6*x+9)
f =
2*(x+3)^2*(x^2+6*x+9)
12
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
>> expand(num) collect(num)
Matemtica Simblicas
b. Operaciones: Expansin y Factorizacin
>> factor(den)
ans =
(x+3)^2
ans =
2*x^2 +12*x+18
expand(r) factor(ans)
>> expand(num)
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicas
b. Operaciones: Simplificacin
>> simplify(w)
ans =
(3*(x-2)^2)/(x+2)
>> u = 3*x^3 - 18*x^2 + 36*x 24;
>> v = x^2 4;
>> w = u/v
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicas
c. Resolucin de ecuaciones:
>> solve(n)
ans =
3
>> n = x - 3;
>> solve(p^2-16)
ans =
4
-4
13
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicas
c. Resolucin de ecuaciones:
>> solve(a*x^2 + b*x +c)
ans =
(-b + (b^2 - 4*a*c) ^(1/2))/(2*a)
(-b - (b^2 - 4*a*c) ^(1/2))/(2*a)
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasc. Resolucin de ecuaciones:
>> solve(5*x^2 + 6*x -7)
ans =
-((2*11) ^(1/2))/5 -3/5
-((2*11) ^(1/2))/5 -3/5
>> solve(5*x^2 + 6*x +3=10)
>> double(ans)
ans =
-1.9266
0.7266
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasc. Resolucin de ecuaciones:
>> E3 = sym(P=P0*exp(r*t))
>> solve(E3,t)
ans =
Log(P/P0)/r
14
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasc. Resolucin de ecuaciones:
>> ec1 = sym(3*x + 2*y z = 10)
ec_resp =
x : [1x1 sym]
y : [1x1 sym]
z : [1x1 sym]
>> ec2 = sym(-x + 3*y + 2*z = 5)
>> ec3 = sym(x y - z = -1)
>> ec_resp = solve(ec1,ec2,ec3)
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasc. Resolucin de ecuaciones:
>> ec_resp.x
>> ec_resp.y
ans =
-2
ans =
5
>> ec_resp.z
ans =
-6
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasc. Resolucin de ecuaciones:
x =
-2
y =
5
z =
-6
>> [x, y, z] = solve(ec1,ec2,ec3)
15
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasc. Sustitucin de variables o de coeficientes:
>> ec =sym(a*x^2 + b*x +c)
>> subs(ec, x, y)
ans =
a*y^2 + b*y + c
>> ec1=subs(ec, {a, b, c},{2, -3, 5})
>> syms a b c
ans =
2*y^2 - 3*y + 5
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasc. Sustitucin de variables o de coeficientes:
>> subs(ec, x, 3)
ans =
14
>> ec1=subs(ec, x,valores)
>> valores=1:5;
ans =
4 7 14 25 40
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasd. Derivacin de funciones:
>> diff(ec)
ans =
b + 2*a*x
ans =
2*a
>> diff(ec, 2)
)(ecdiffydx
decx
)2,(ecdiffyx
16
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasd. Derivacin de funciones:
>> diff(y,x)
ans =
2*t^2*z^3 - 9*t*x^2*z + 10*t*x +12*x^2 +z
>> y = 4*x^3 + 5*x^2*t 2*x*t^2*z^3 + t^3*z^2- 3*x^3*t*z +x*z
y =
t^3*z^2 2*t^2*x*z^3 - 3*t*x^3*z + 5*t*x^2 +4*x^3 +x*z
>> syms t z
),( xydiffydx
yx
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasd. Derivacin de funciones:
ans =
6*t^2*z 12*t*x*z^2 - 3*x^3
>> diff(y, t,2)
ans =
6*t*z^2 4*x*z^3
>> diff(diff(y, t), z)
)2,,(22
2
tydiffyt
yt
)),,((2
ztydiffdiffyzt
ytz
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasd. Integracin de funciones:
>> y = 6*t^2*z 12*t*x*z^2 - 3*x^3
dxxzxtzty 31262 322>> y2=int(y)
dtxzxtzty 31263 322>> y3=int(y,t)
y2 =
6*t^2*x*z 6*t*x^2*z^2-(3*x^4)/4
y3 =
2*t^3*z 6*t^2*x*z^2 - 3*t*x^3
17
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicasd. Integracin de funciones:
dxxzxtzty
x
31264
4
2
322>> y4=int(y,2,4)
4
2
322 31265
t
dtxzxtzty>> y5=int(y,t,2,4)
y4 =
12*t^2*z 72*t*z^2-180
y5 =
-6*x^3 72*x*z^2 + 112*z
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicase. Grficacin Simblica:
>> y =sym(3*x^2 + 2*x + 4);
>> ezplot(y)
-6 -4 -2 0 2 4 6
0
20
40
60
80
100
120
140
x
3 x2 + 2 x + 4
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Matemtica Simblicase. Grficacin Simblica:
>> ezplot(y,[-4,4])
-4 -3 -2 -1 0 1 2 3 4
0
10
20
30
40
50
60
x
3 x2 + 2 x + 4
18
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Introduccin a la Programacin
Procesodato informacin
Entradas y Salidas:
Entradas:
z =input(Ingrese el dato: )
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Introduccin a la InformticaEntradas:
z =input(Ingrese el dato: )
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Introduccin a la InformticaSalidas:
fprintf(El radio es = %12.3f\n, z)
19
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Estructuras Selectivas
Radio = input(Ingrese el radio: )
fprintf(El radio es = %12.3f y el rea es %12.3f \n, Radio, Area)
if Radio < 8 Volumen = 4/3 * pi * Radio^3;
fprintf(El radio es = %12.3f y el volumen es %12.3f \n, Radio, Volumen)
else Area = 4 * pi * Radio^2;
end
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Estructuras Selectivas
Switch variable
case v1
ejecucin 1
case v2
ejecucin 2
case v3
ejecucin 3
otherwise
ejecucin 4
end
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Ejemplo
Calcular el volumen de las esferas cuyo radio esta entre 1 y 15.
Estructuras Repetitivas (Ciclo Para)
for I = 1: 15;
fprintf(Para el radio %2.0f el volumen es = %12.3f \n, I, Vol)
Volumen = 4/3 * pi * I^3;
end
20
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Estructuras Repetitivas (Ciclo Para)
for I = n: m; for I = n:1: m;
for I = n:b: m;
n y m: entero o real (positivo o negativo)
b entero o real (positivo o negativo)
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Repetitivas (Ciclo Mientras)
Ejemplo
A = input(Ingrese un nmero A: )
B = input(Ingrese un nmero B: )
while A > B;
fprintf(C = %12.3f \n, C)
C = A + B;
end
B = B + 1;
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Programacin en MatLabPasos a seguir:
1. Se abre MatLab (si no se halla abierto).
2. Se abre el Editor de programas.
3. Se escribe el cdigo (sobre la ventana nueva).
4. Se guarda con el nombre de Primero.
5. Y ejectelo.
21
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Programacin en MatLab
Se abre el Editor de programas:
1. Haga doble clic sobre el icono de Nuevo M-File
(Barra de herramientas, Hoja en blanco, arriba y a la
izquierda)..
New M-
File
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Programacin en MatLab
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Programacin en MatLabEstructura SecuencialSe escribe el cdigo (sobre la ventana nueva):
22
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Programacin en MatLab
Se guarda con el nombre de Primero:
1. Presione el disquete en la barra de la ventana y le
aparecer un cuadro de dilogo.
Save M-File
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Programacin en MatLabEstructura Secuencial
Se guarda con el nombre de Primero:
1. Presione el disquete en la barra de la ventana y le
aparecer un cuadro de dilogo.
2. Donde debe colocar el nombre del programa
(Primero).
3. Presione el botn de Guardar.
4. Ingrese el resto del cdigo.
5. Presione nuevamente el botn de Guardar.
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Programacin en MatLab
Para ejecutar un programa que no se halla abierto:
1. Escriba el nombre del programa.
2. Presione la tecla Enter.
23
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Programacin de Funciones en MatLab
function k = sumar(w,x)
K=w+x;
Cdigo:
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Lo ltimo de MatLab
Por hoy:
>>mbuild -setup
Cuando las leyes de la matemtica se refieren a la realidad, no son ciertas;
Informtica I 2010FRBA
Preguntas
y Respuestas