simbolico_v1

11
 Introducción a la Programación en Matlab 16-20 febrero de 2015 Escuela de Doctorado de Ciencias, Tecnologías e Ingenierías Manuel Díez Minguito [email protected] Agustín Millares Valenzuela [email protected]  Asunción Baquerizo Azofra [email protected] IISTA-UGR

description

matlab

Transcript of simbolico_v1

Page 1: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 1/11

 

Introducción a la

Programación en Matlab

16-20 febrero de 2015 Escuela de Doctorado de

Ciencias, Tecnologías e Ingenierías

Manuel Díez Minguito [email protected]

Agustín Millares Valenzuela [email protected] 

Asunción Baquerizo Azofra [email protected] 

IISTA-UGR

Page 2: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 2/11

 

Introducción a la programación en lenguaje simbólico 

Contenidos 

1. Definición de variables simbólicas

2. Cómo considera Matlab las variables simbólicas en una

expresión: findsym

3. Simplificación de expresiones4. Derivación

5. Integración

6. Resolución de ecuaciones algebraicas

7. Resolución de ecuaciones diferenciales ordinarias

Page 3: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 3/11

 

Variables simbólicas

▪ Variables numéricas

▪ Variables que contienen cadenas de caracteres

▪ Variables y expresiones simbólicas

deben declararse algunas variables!! 

Page 4: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 4/11

 

Definición de variables simból icas

▪ Declaración de variables simbólicas

sym(‘x’) | syms x y t a

No es necesario declarar las variables que se obtienen con expresiones

que contienen variables simbólicas

syms x y t a

f = sin(x-y)*exp(- a*t); % No es necesario definir f!!!!

▪ Para precisar algo más….

sym(‘x’, ‘real’) | syms x y t real

sym(‘t’, ‘positive’) | syms a w positive

▪  Puede definirse una variable genérica que depende de otras:

f = sym(‘f(x,y)');

▪ Para convertir un número real en simbólico:

pi = sym(pi) | r = sym(1/3) 

Page 5: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 5/11

 

Función findsym 

a b c d ……. r s t u v w x y z

7 6 5 3 1  2 4

▪ Cómo considera las variables simbólicas de una expresión ( derivac., integrac.,…)

findsym(f,n): lista de variables simbólicas en f en orden de ‘proximidad’ a ‘x’:

a b c d ……. r s t u v w x y z

7 6 5 3 1  2  4

a b c d ……. r s t u v w x y z

7 6 5 3  1  2  4

a b c d ……. r s t u v w x y z

7 6 5 3  1  2  4

a b c d ……. r s t u v w x y z

7 6 5  3  1  2  4

Page 6: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 6/11

 

Simplificación de expresiones

▪ Simplificación de expresiones

simple: busca la expresión más simple

simplify :  simplifica utilizando unas reglas determinadas (las de Maple)

 factor :  descompone la expresión en producto de otras más simples

syms x

f = (1+x)*log(x)/(1-x^2)

f = simple(f)

syms x

g = (1-sin(x)^2)*tan(x)

simplify(g) 

syms x y

h = x^2-y^2

factor(h) 

 Función pretty: representa de forma ‘bonita’ las expresiones

syms x

f = (sqrt(x^2-y^2)/log(x-1))^(x-1/y)

pretty(f)

Page 7: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 7/11

 

Derivación

▪ Derivación de una expresión simbólica

diff(f,x) | diff(f) | diff(f,2) | diff(f,3) | diff(f,x,3)

findsym(f,1) 

syms x t a

f= sin(x)*exp(-a*t)

df_dx = diff(f,x)

syms x t a

f= sin(x)*exp(-a*t)

df_dx = diff(f)

syms x t a

f= sin(x)*exp(-a*t)

df_da = diff(f,a)

syms x t a

f= sin(x)*exp(-a*t)

d2f_dx2 = diff(f,x,2)

syms x t a

f= sin(x)*exp(-a*t)

d2f_dx2 = diff(f,2)

syms x t a

f= sin(x)*exp(-a*t)

df_da = diff(f,a,2)

Page 8: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 8/11

 

Integración

▪ Integración de una expresión simbólica

int(f,x) | int(f,x,a,b)

int(f) | int(f,a,b) 

syms x a

f= sin(x)*exp(-a*x)

I_dx= int(f,x)

syms x a

f= sin(x)*exp(-a*x)

I_dx = int(f)

syms x a

f= sin(x)*exp(-a*x)

I_da= diff(f,a)

syms x

f= exp(-x^2)

I = int(f,x,a,b)

syms x

f= exp(-x^2)

I = int(f,x,a,2)

syms x

f= exp(-x^2)

I = int(f,x,0,Inf)

Page 9: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 9/11

 

Resolución de ecuaciones algebraicas

▪ Resolución de una o varias ecuaciones algebraicas: solve 

syms x

f = a3*x^3+a2*x^2+a1*x+a0

xs = solve(f)

syms x y a

f = x^2*y^2;

g =x+y-a;

[x,y] = solve(f,g) 

syms x

f = a3*x^3+a2*x^2+a1*x+a0

a3s = solve(f,a3)

Page 10: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 10/11

 

Resolución de ecuaciones diferenciales ordinarias

▪ Resolución de una o varias ecuaciones diferenciales ordinarias: dsolve 

f = dsolve('D2y-5*y=0’) usa t como variable independiente 

f = dsolve('D2y-5*y=0’,’x’)

f = dsolve('D2y-5*y=0','x')

f = dsolve('D2y-5*y=0','y(0)=0','x')

syms a

f = dsolve('D2y-y=0','y(0)=a','Dy(0) = 0','x'); simplify(f)

[x,y] = dsolve('Dy = y+x','Dx = y-x')

[x,y] = dsolve('Dy = y+x','Dx = y-x', 's')

[x,y] = dsolve('Dy = y+x','Dx = y-x','x(0)=0','y(0)=1', 's‘)

Page 11: simbolico_v1

7/17/2019 simbolico_v1

http://slidepdf.com/reader/full/simbolicov1 11/11

 

Transformada de Fourier/ Fórmula de inversión

syms t w0 real

f = sin(w0*t);

F = fourier(f);

1

2

iwx

 f(x) F(w)e dwπ  = ∫

 f ( x )syms t w0

f = sin(w0*t);

F = fourier(f);

0 f (t) sin(w t)=   2

 t f (t) exp

 a

= −

▪Transformada de Fourier

▪ Fórmula de inversión

 F(w)

iwx

 F ( w ) f ( x )e dx

−=

2

4

(aw) F(w) a expπ  

= −

syms w real; syms a positive; pi = sym(pi)

F = a*sqrt(pi)*exp(-(a^2*w^2)/4);

f = ifourier(F)