Sei sulla pagina 1di 30

INSTITUTO TECNOLGICO SUPERIOR DE IRAPUATO

CURSO DE MATLAB PARA INGENIERA BIOQUMICA

JOS LUIS SOTO ALCOCER MARZO DE 2009

I INTRODUCCIN
1.1 Definicin y usos Matlab es un lenguaje de computacin tcnica de alto desempeo, que emplea la computacin donde los problemas y las soluciones son expresados en una notacin matemtica familiar. Los usos tpicos de Matlab incluyen: a) Computacin y matemticas, b) Desarrollo de algoritmos, c) Manejo de datos, d) Modelacin, simulacin y desarrollo de prototipos, e) Anlisis de datos, exploracin y visualizacin, f) Grficos de ciencia e ingeniera, g) Desarrollo de aplicaciones, que incluyen construccin de interfaces para graficacin.

1.2 Entorno de Matlab El despliegue de inicio de la pantalla de Matlab muestra:

Barra de mens

Barra estndar

Apuntador y cursor Ventana de directorio actual Recuadro de directorio actual Ventana de comandos Ventana de historial de comandos

Figura 1.1 Despliegue de inicio de Matlab

1.3 Variables, nmeros y operadores en Matlab Variables: A diferencia de otros lenguajes de programacin, matlab no requiere de declaracin de variables o dimensionamiento de matrices, pues las crea automticamente cuando encuentra el nombre por primera vez, debe recalcarse que distingue entre asignacin de variables con letras minsculas y letras maysculas, ejemplo:

>> metodo=5 >> METODO=23

Si se desea que Matlab no despliegue valores de variables o matrices, es necesario terminar cada sentencia con punto y coma, ejemplo:

>>concentracion=100;

Nmeros: Para el almacenamiento de nmeros internamente se usa un formato de precisin de aproximadamente 16 dgitos en un intervalo entre 10-308 a 10308, denominado long. Para expresar la escala de la potencia 10 se usa la letra e o E; los nmeros imaginarios debern acompaarse ya sea de la letra i o j, algunos ejemplos de nmeros en Matlab son:

2.7183

1.55E15

2.23E-12

6.67j

Operadores: Operadores aritmticos suma, +; resta, -; multiplicacin, *; divisin, /; recproco, \; potencia ^

Operadores de elemento a elemento suma,.+; resta, .- ; multiplicacin, .*, divisin, ./; recproco, .\; potencia .^

Operadores lgicos and, or, not, xor, any, all 2

1.4 Funciones internas Al igual que cualquier paquete matemtico se cuenta con funciones matemticas del tipo trigonomtrico, exponencial, complejas y redondeo, las cuales se citan a continuacin en la tabla siguiente:

Tabla 1.1 Funciones matemticas Trigonomtricas sin sinh asin asinh cos cosh seno seno hiperblico arco seno arco seno hiperblico coseno coseno hiperblico

acosh arco coseno hiperblico tan tanh atan atan2 atanh sec sech asec tangente tangente hiperblico arco tangente arco tangente en los 4 cuadrantes arco tangente hiperblica secante secante hiperblica arco secante

asech arco secante hiperblica csc csch acsc cosecante cosecante hiperblica arco cosecante

acsch arco cosecante hiperblica cot coth acot acoth cotangente cotangente hiperblica arco cotangente arco cotangente hiperblica

Tabla 1.1 Funciones matemticas (continuacin) Exponenciales exp log log10 log2 pow2 sqrt conj imag real exponencial logaritmo natural logaritmo de base 10 logaritmo de base 2 potencia de base 2 raz cuadrada complejo conjugado parte imaginaria del nmero complejo parte real del nmero complejo Redondeo y residuo fix floor ceil complejo conjugado redondea a menos infinito redondea a ms infinito

round redondea al entero ms cercano mod rem sign residuo de la divisin residuo signo

1.5 Grficos en dos y tres dimensiones Instruccin plot Sintaxis >>plot(x,y) Ejemplo >>x=[0:pi/100:2*pi]; >>y=sin(x); >>plot(x,y)

El ejemplo anterior generara la funcin seno como se muestra a continuacin, las leyendas de los ejes y ttulos se pueden editar desde el entorno grfico

Figura 1.2 Grfica de la funcin seno en Matlab

Instruccin hold on Permite la graficacin de varias funciones a la vez

Ejemplo >> x=[0,0]; >> y=[-5,5]; >> plot(x,y); >> hold on; >> x=[-5,5]; >> y=[0,0]; >> plot(x,y); >> x=[-5:0.5:5]; >> y=sqrt(1-x); >> plot(x,y); >>plot(x,-y);

Esta serie de instrucciones permitir desplegar la figura de una parbola, con los ejes respectivos X y Y; si se desea editar puede hacerse desde la ventana de la misma grfica

Figura 1.3 Grfica de la parbola y = 1 x en Matlab

Una manera alterna de realizar varias grficas en una misma ventana de despliegues grficos, puede realizarse de la manera como indica el ejemplo siguiente. >> t=[0:pi/100:pi]; >> x=cos(t); >> y=sin(t); >> plot(t,x,'c-',t,y,'m--'); lo cual producira
1

0.8 seno coseno 0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1

0.5

1.5 t

2.5

3.5

Figura 1.4 Grfica del seno y coseno

Grficas en tres dimensiones En este tipo de grficas se emplean las instrucciones mesh y surf, tal como se observa en el siguiente ejemplo:

>> [x,y]=meshgrid(-10:0.5:10); >> r=sqrt(x.^2+y.^2); >> z=sin(r)./r; >> mesh(x,y,z);

0.8 0.6

0.4 z 0.2 0 -0.2 -0.4 10 8 6 4 2 0 -2 -4 -6 -8 -10 y -10 -8 -6 -4 -2 0 2 4 6 8 10

Figura 1.5 Empleo de la instruccin mesh

>> surf(x,y,z);

0.8 0.6

0.4

0.2

0 -0.2

-0.4 10 8 6 4 2 0 -2 -4 -6 -8 -10 -10 -8 -6 -4 -2 0 2 4 6 8 10

Figura 1.6 Empleo de la instruccin surf

II SOLUCIN DE ECUACIONES NO LINEALES


2.1 Races de polinomios Para encontrar todas las races de un polinomio, Matlab cuenta con funciones internas, que permite encontrarlas de una manera rpida y sencilla.

Funcin roots Sintaxis >>variable=roots([ pnp2 p1 p0]); o bien >>p=[ pnp2 p1 p0]; >>variable=roots(p); Ejemplo: encontrar las races del polinomio x 4 + 6 x 3 + 7 x 2 6 x 8 = 0 . >> p=[1 6 7 -6 -8]; >> raices=roots(p) raices = -4.0000 1.0000 -2.0000 -1.0000

Funcin polyval Verifica que las races encontradas de un polinomio sean satisfactorias Sintaxis >>polyval([pn++p2+p1+p0], variable) Ejemplo: con respecto al ejemplo anterior

>> polyval(p,raices) ans = 1.0e-012 * 0.1332 0.0071 0.0053 -0.0036

Funcin solve Sintaxis >>solve(ecuacin,variable_a_resolver) El uso de esta funcin se ilustra mediante el ejemplo siguiente: Ejemplo: resuelva la ecuacin del ejemplo anterior. >> solve('x^4+6*x^3+7*x^2-6*x-8',x) ans = -1 1 -2 -4 o bien >> solve('x^4+6*x^3+7*x^2-6*x-8') solamente Ejemplo: Calcule el volumen molar a 100 oC y 50 atm para los gases dados en la tabla siguiente, mediante la ecuacin de estado de Redlich-Kwong dada por la expresin: a P + T 1 / 2V (V + b ) (V b ) = RT Donde: P: presin en atm T: temperatura en K V: volumen molar en l/gmol R: constante universal de los gases en atm l/gmol K Los valores de a y b se calculan mediante:
a = 0.4278 R 2Tc Pc
2.5

, b = 0.0867

RTc Pc

Para el oxgeno Pc=49.70 atm, Tc=154.40 K. >> t=373; >> p=50; >> pc=49.7; >> tc=154.40; >> r=0.0821; >> a=0.4278*r^2*tc^2.5/pc;

>> b=0.0867*r*tc/pc; >> a a= 17.1866 >> b b= 0.0221 >> sol=solve('(50+17.1866/(373^0.5*v*(v+0.0221)))*(v-0.0221)-0.0821*373','v'); >> double(sol) ans = 0.6073 0.0026 + 0.0253i 0.0026 - 0.0253i

Advierta que la solucin se asigna a la variable sol, para despus desplegarla en forma de punto flotante con la funcin double. Otra opcin para resolver el problema, es mediante el empleo de la instruccin syms la cual le da un valor simblico a alguna variable.

Instruccin syms Sintaxis >>syms nombre_variable Ejemplo: >> syms v; >> t=373; >> p=50; >> pc=49.7; >>tc=154.4; >> r=0.0821; >> a=0.4278*r^2*tc^2.5/pc a= 17.1866 >> b=0.0867*r*tc/pc b= 0.0221 10

>> f=(p+a/(t^0.5*v*(v+b)))*(v-b)-r*t; >>sol= solve(f); >> double(sol) 0.6073 0.0026 + 0.0253i 0.0026 - 0.0253i

11

III MATRICES Y SISTEMAS DE ECUACIONES LINEALES


3.1 Operaciones con matrices y solucin de sistemas lineales En este captulo se revisarn todas las operaciones realizadas con matrices, adems de la solucin de sistemas de ecuaciones lineales, que han sido estudiados en cursos de matemticas.

3.2 Vectores La forma de declarar vectores en Matlab se muestra a continuacin. Syntaxis >>variable=[nmero 1, nmero 2,, nmero n] o bien >>variable=[nmero1 nmero 2 nmero n];

Donde los nmeros no han sido separados por ningn signo de puntuacin. Ejemplo:

>> z=[2 4 5 6 7]; si se omite el punto y coma, se despliegan los valores del vector, como se haba advertido anteriormente. >> z=[2 4 5 6 7] z= 2 4 5 6 7

3.3 Matrices Las matrices se designan segn la sintaxis presentada enseguida. Sintaxis >>variable=[ vector1; vector2; ;vectorn] Ejemplo

>> z=[[2 3 4];[1 2 3];[3 4 5]] z= 2 1 3 3 2 4 4 3 5

Una forma ms simple es como se muestra >> z=[2 3 4; 1 2 3; 3 4 5] (se han omitido los corchetes de los vectores)

12

z= 2 1 3 3 2 4 4 3 5

3.4 Transpuesta de una matriz La transpuesta de una matriz designada como A ser A Sintaxis >>z; Ejemplo: la matriz transpuesta de la matriz que se cit anteriormente ser >> z' ans = 2 3 4 1 2 3 3 4 5

3.5 Determinante de una matriz Sintaxis >>det (nombre_de_la_matriz) Ejemplo:

>> A=[ 1 5 -8; 3 5 -2; 8 9 -1] A= 1 3 8 5 5 9 -8 -2 -1

>> det(A) ans = 52

3.6 Inversa de una matriz Sintaxis >>inv(nombre_de _la_matriz) Ejemplo: para la matriz A del ejemplo anterior

>> inv(A)

13

ans = 0.2500 -1.2885 -0.2500 -0.2500 0.5769

1.2115 -0.4231 0.5962 -0.1923

3.7 Multiplicacin de matrices Sintaxis >>nombre_de_la_matriz_1*nombre_de_la_matriz_2 Ejemplo: considerar la misma matriz A.

>> A

A= 1 3 8 5 5 9 -8 -2 -1

>> B=inv(A) B= 0.2500 -1.2885 -0.2500 -0.2500 >> A*B ans = 1.0000 0 0 0 0 0.5769

1.2115 -0.4231 0.5962 -0.1923

1.0000 -0.0000 0.0000 1.0000

3.8 Solucin de sistemas de ecuaciones lineales Como se sabe la solucin se fundamenta en el hecho siguiente
Ax = b A 1 * Ax = A 1 * b I * x = A 1 * b

(3.1) Ejemplo: resolver el siguiente sistema de ecuaciones

14

2 x1 + 4 x 2 + 6 x3 = 18 8 x1 + 5 x 2 + 6 x3 = 40 3 x1 + x 2 2 x3 = 4

>> A=[2 4 6; 8 5 6; 3 1 -2]; >> b=[18; 40; 4]; >> x=inv(A)*b x= 4.0000 -2.0000 3.0000 Observe que los elementos del vector b son separados por punto y coma, de no haber realizado esto, se empleara para el clculo la transpuesta de b, como se muestra

>> A=[2 4 6; 8 5 6; 3 1 -2]; >> b=[18 40 4]; >> x=inv(A)*b' x= 4.0000 -2.0000 3.0000

3.9 Otras operaciones La suma de matrices y la multiplicacin por un escalar no se han incluido por ser demasiado obvias, de cualquier forma se introduce aqu la sintaxis.

Suma de matrices >>nombre_de_la_matriz_1+nombre_de_la_matriz_2

Multiplicacin por un escalar >>escalar*nombre_de_la_matriz

15

IV SOLUCIN DE SISTEMAS DE ECUACIONES NO LINEALES


4.1 Sistemas de ecuaciones no lineales Los sistemas a los que se hacen referencia, implica una combinacin de lo que se revis en los dos captulos anteriores, pues se resuelven sistemas del tipo definido a continuacin.

f 1 = f1 x 1 , x 2 ,..., x n

f 2 = f 2 ( x1 , x 2 ,..., x n )

M f n = f n ( x1 , x 2 ,..., x n )
(4.1)

4.2 Funcin solve Aqu, se refiere la sintaxis, para dos ecuaciones solamente, aunque puede ampliarse para un sistema de ecuaciones cualquiera. Sintaxis >>solve(ecuacin1,ecuacin2,variable_1,variable_2). Ejemplo: resuelva el sistema de ecuaciones no lineales siguiente:

f 1 ( x, y ) = 2 * x + y 2 6 = 0
>> [x,y]=solve('2*x+y^2-6=0','x^2-y^2+2*y=0'); >> double([x,y]) ans = -1.8705 - 0.0000i 3.1211 + 0.0000i 0.6252 - 0.0000i 2.1794 + 0.0000i 2.1095 - 0.0000i -1.3345 - 0.0000i -4.8642 + 0.0000i -3.9659 + 0.0000i

f 2 ( x, y ) = x 2 y 2 + 2 * y = 0

4.3 Comprobacin de la solucin Funcin inline Verifica que las races encontradas de un sistema sean satisfactorias Sintaxis nombre_variable=inline([ecuacin1; ecuacin2]). Ejemplo: comprobar que las races del ejemplo anterior satisfagan el sistema. >> f1f2=inline('[2*x+y.^2-6;x.^2-y.^2+2*y]')

16

f1f2 = Inline function: f1f2(x,y) = [2*x+y.^2-6;x.^2-y.^2+2*y] >> f1f2(double(x),double(y)) ans = 1.0e-014 * 0.1776 + 0.0000i 0.1776 + 0.0000i 0 + 0.0000i 0 -0.0888 + 0.0000i -0.0888 - 0.0000i -0.0444 - 0.0000i 0.1776 - 0.0000i

4.4 Representacin grfica de la solucin Se puede hacer uso de lo que se revis en el captulo 1 para ver grficamente, la solucin. >> [x,y]=meshgrid(-5:0.5:5); >> z=x.^2-y.^2+2*y; >> mesh(x,y,z); >> hold on; >> z=2*x+y.^2-6; >> mesh(x,y,z); >> z=0*x.*y; >> mesh(x,y,z); >>plot3([-1.8705,0.6252,2.1095,-4.8642],[3.1211,2.1794,-1.3345,-3.9659], [0,0,0,0],'d');

La figura que aparece junto con los puntos de interseccin se muestra a continuacin.

17

40

20

-20

-40 5 5 0 -5 0 -5 x

Figura 4.1 Interseccin entre planos

4.5 Otras funciones grficas Funcin sphere Realiza la grfica de una esfera. Sintaxis >>[x,y,z]=sphere(numero).

Funcin cylinder Realiza la grafica de un cilindro. Sintaxis >>[x,y,z]=cylinder(numero).

Funcin meshc Aade un mapa de contorno. Sintaxis >>mesh(x,y,z)

Funcin hidden off Efecta las grficas en forma transparente

18

V AJUSTE DE DATOS
5.1 Ajuste de datos Frecuentemente es necesario ajustar datos experimentales a ciertas funciones para crear un modelo matemtico que describa cierto fenmeno; el tipo de funcin al cual pueden ajustarse puede ser de tipo lineal, polinomial o alguna otra; en esta seccin revisaremos algunos de ellos.

5.2 Funciones de matlab para el ajuste de datos Funcin polyfit Syntaxis >>polyfit(var_independiente, var_dependiente, grado de ajuste) Ejemplo: > peso=[0:10:90] peso = 0 10 20 30 40 50 60 70 80 90

>> calor_esp=[1 0.9 0.81 0.73 0.675 0.65 0.64 0.615 0.575 0.515] calor_esp = 1.0000 0.5750 0.9000 0.5150 0.8100 0.7300 0.6750 0.6500 0.6400 0.6150

>> z=polyfit(peso,calor_esp,1) z= -0.0048 0.9267


= 0.0048 x + 0.9267 La funcin que resulta es y

>> z=polyfit(peso,calor_esp,2) z= 0.0000 -0.0089 0.9815


= 0 x 2 0.0089 x + 0.9815 La funcin resultante en este caso es y

EL ajuste a cierto tipo de funciones se puede realizar dentro del entorno grfico, mediante la instruccin plot; esto puede ilustrarse mediante el ejemplo que se muestra a continuacin.

19

> plot(peso, calor_esp,'o--')


1.1 data 1 linear quadratic cubic

y = - 0.0048*x + 0.93 1 y = 4.6e-005*x2 - 0.0089*x + 0.98 y = - 1.1e-006*x3 + 0.0002*x2 - 0.014*x + 1

0.9

calor especifico

0.8

0.7

0.6

0.5

0.4

10

20

30

40 50 peso de cido ntrico

60

70

80

90

Figura 5.1 Ajuste de datos

La forma en que se desplegaron las ecuaciones, sus grficos y leyendas, fue desde el entorno grfico, en la barra de menus, seleccionando

ToolsBasic Fitting Dentro de este cuadro se selecciona las opciones linear, quadratic, cubic y show equations.

Figura 5.2 Ventana del Basic fitting de matlab

20

5.3 Instruccn cftool Al invocarse la instruccin despliega una ventana en la cual pueden realizarse los ajustes ya analizados y otros correspondientes a otras funciones, para desplegar la ventana y comenzar a trabajar sobre ella se teclea. >>cftool;

La manipulacin de datos para el ajuste es extremadamente sencilla y no necesita una descripcin aparte.

5.4 Otras funciones de ajuste Para observar el desplegado de otras funciones de ajuste, puede usarse la instruccin siguiente >> cflibhelp; Con dicha instruccin se mostrar la mayor parte de las funciones a las cuales los datos de cualquier experimento pueden ser ajustados.

21

VI SOLUCIN DE SISTEMAS DE ECUACIONESDIFERENCIALES


6.1 Integracin numrica de funciones Instruccin syms Designa variables simblicas Sintaxis >>sims x;

Funcin int Realiza integrales de funciones definidas por variables simblicas. Sintaxis >>int(nombre_funcin, lmite superior, lmite inferior)

Ejemplo: resolver la integral dada por >> syms x; >> f=(exp(-x)*sin(x))/x;

e x senx dx x 0

%definicin de la funcin

>> int(f,0,inf) %inf define a infinito ans = 1/4*pi Ejemplo: resolver >> syms x; >> f=exp(-(x^2)/2)/sqrt(2*pi); >> int(f,-1,1) ans = 2251799813685248/5644425081792261*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/2) >> double(ans) %para cambiar a un nmero de punto flotante ans = 0.6827

x2 2

dx

6.2 Creacin de un archivo M Los archivos M son creados por el usuario y son empleados por matlab, para ejecutar ciertas funciones. Para crear uno se pulsa en la barra de menus, la opcin representada por una hoja en blanco y tecleamos a continuacin en ese editor 22

function dy = enfriam (x, y) % Temperatura de enfriamiento de un cuerpo humano % Ultima modif: [May 9,08] dy = -0.063 * (y - 20);

A continuacin salvamos los cambios como en cualquier editor de textos con cualquier nombre, en esta ocasin guarde con el nombre de enfriamiento. El archivo anterior describe a la ecuacin diferencial dada por:

dy = 0.063 * ( y 20 ) que modela la temperatura de enfriamiento de un cuerpo dt

humano.

6.3 Solucin de ecuaciones diferenciales Funcin ode45 Sintaxis >>ode45(nombre_archivo_M, [valor inicial de la variable

independiente, valor final de la variable independiente], valor inicial variable dependiente). Ejemplo: Resuelva la ecuacin diferencial condicin inicial en t=0, y=37; para t=40, y=?. >> [t, T]=ode45('enfriamiento',[0,40],37); >> plot(t,T)
dy = 0.063 * ( y 20 ) con las dt

Advierta que en la ecuacin diferencial la variable dependiente es y y el resultado en matlab se guarda en T, lo cual no advierte ninguna importancia; en el caso de que se omitiera la asignacin de los resultados al vector [t, T], se hubiese desplegado la grfica inmediatamente sin necesidad de emplear plot(t, T). De cualquier forma la solucin numrica a la ecuacin diferencial est representada por la Figura 6.1.

23

38 36 34 32 30 T 28 26 24 22 20 0

10

15

20 t

25

30

35

40

Figura 6.1 Solucin grfica de una ecuacin diferencial

6.4 Solucin de sistemas de ecuaciones diferenciales La funcin ode 45 puede resolver sistemas de ecuaciones diferenciales de la misma forma en que se ejecut para una ecuacin diferencial, siempre y cuando se escriba el archivo M correspondiente la sintaxis de esta funcin considerando un sistema de 3 ecuaciones sera. Sintaxis >>ode45(nombre_archivo_M, [valor inicial de la variable

independiente, valor final de la variable independiente], [valores iniciales de la variable dependiente).

Ejemplo: considere una reaccin llevada a cabo en un reactor batch o str (stirred tank reactor) como se muestra en la Figura 6.2, la reaccin se lleva
k1 k2 cabo de acuerdo a la reaccin A R S ; en el tiempo t=0, las

concentraciones iniciales son

[A]o = 1

M, [ R]o = 0 M, se desea saber las

concentraciones al cabo de t=2.5 horas, Las constantes de velocidad son

k1 = 3 hr-1, k 2 = 1 hr-1.

Considerando la Figura 6.2 el conjunto de reacciones que definen el sistema, considerando que no hay entradas ni salidas, estn dados por:

24

k1 k2 Figura 6.2 Reactor batch str para la reaccin A R S

Para un reactor cstr (continuous stirred tank reactor) las ecuaciones estn dadas por:

d (V [ A]) = Fo [ A]o F [A] V k1 [A] dt d (V [R ]) = Fo [R ]o F [R ] + V k1 [ A] V k2 [R ] dt d (V [S ]) = Fo [S ]o F [S ] + V k 2 [S ] dt

Pero para un reactor batch no hay flujos de entrada ni de salida, adems el volumen permanece constante, por tanto el sistema a resolver se reduce a:

d [A] = k1 [ A] = 3 [ A] dt d [R ] = k1 [ A] k2 [R ] = 3 [ A] 1 [R ] dt d [S ] = k2 [R ] = 1 [R ] dt
Junto con las condiciones iniciales:

t=0 t=2.5

[A]o = 1 , [ R]o = 0 , [S ]o = 0 [A] = ? , [ R] = ? , [S ] = ?

El archivo M que se debe escribir para resolver el sistema ser el siguiente:

25

function sistema = batch(t, z) A=z(1); R=z(2); S=z(3); % Valores iniciales de variables dependientes k1=3; k2=1; % Constantes (velocidad de reaccion) para las ecs. sistema=[-k1*A; k1*A-k2*R; k2*R]; % Sistema de 3 EDO's (Vector columna), no aparece S

A continuacin guarde el archivo M con el nombre de reactor_batch, aunque puede usar cualquier otro. La solucin con matlab se efecta de la forma como se indica a continuacin. >> [t,z]=ode45('reactor_batch',[0,2.5],[1,0,0]); >> plot(t,z) Que desplegar la solucin dada en forma grfica por la siguiente figura
1 0.9 0.8 0.7 [concentracin] 0.6 0.5 0.4 0.3 0.2 0.1 0 [A] [R] [S]

0.5

1 t

1.5

2.5

Figura 6.3 Cintica de reaccin en un reactor batch para la reaccin


k1 k2 A R S

Si se desea desplegar los valores numricos bastar con teclearse >> [t,z] sin punto y coma al final.

26

VII INTRODUCCN AL SIMULINK


7.1 Simulink Es una herramienta de matlab empleada para modelar, simular y analizar sistemas, que pueden ser lineales o no lineales; de datos continuos, discretos o combinacin de los dos. Los sistemas simulados en simulink reciben el nombre de modelos.

7.2 Ejemplo de simulacin de una ecuacin de segundo orden mediante simulink Ejemplo: simular la Ecuacin diferencial con condiciones iniciales y(0)=0, y(0)=-2000; d2y dy + a + by = 0 . 2 dt dt d2y dy = a by ; con 2 dt dt

Para simular esta ecuacin diferencial se escribe como

a=-2000, b=-20000, a continuacin dentro de matlab pulsamos el cono de simulink en la barra estndar, al momento del cual se desplegara la ventana siguiente:

Figura 7.1 Ventana del simulink

27

A continuacin se crea un documento nuevo en la barra estndar de esta ventana, sobre la cual construiremos el diagrama siguiente:

dy/dx

1 s Integrator

1 s

Integrator 1 Scope

Gain -K-

a=-2000 b=-20000
Gain 1 -K -

Figura 7.2 Modelo en simulink para resolver la ecuacin diferencial

Cada uno de los conos de ganancia e de integracin fueron tomados de la librera de simulink, particularmente del menu bloques comnmente usados y unidos arrastrando el ratn y pulsando el click izquierdo simultneamente; el valor respectivo de los integradores y bloques de ganancia se introduce dando doble click con el botn izquierdo del ratn.

El bloque sum, suma los valores correspondientes al producto de cada integrador con su ganancia, para observar el resultado damos doble click con el mismo botn en el bloque de scope, en la barra de menus de la ventana donde se construy el diagrama de la figura 7.2.

En la opcin simulation se elige la opcin configuration parameters y se selecciona .01 segundos; a continuacin se comienza la simulacin con el cono start simulation en la barra estndar de la ventana mencionada anteriormente, desplegndose la Figura 7.3. En la ventana desplegada scope pulsamos el cono correspondiente a autoescale con forma de binoculares para ajustar la grfica.

28

Figura 7.3 Ventana de la solucin a la ecuacin diferencial d2y dy + a + by = 0 mediante simulink 2 dt dt

BIBLIOGRAFA SUGERIDA
Bez-Lpez, D., Matlab con aplicaciones a la Ingeniera, Fsica y Finanzas, Editorial, Alfaomega, Mxico, (2007).

Medina-Heredia, G. y P. A., Quintana-Hernndez, Solucin de problemas de ingeniera qumica empleando matlab, XXIV Seminario Anual de Ingeniera Qumica, Mxico, (2007).

Nieves, A., F. C., Domnguez, Mtodos Aplicados a la Ingeniera, Editorial, CECSA, Mxico, (2002).

29

Potrebbero piacerti anche