Top Banner
Universidad Nacional de Trujillo Sección de postgrado en Ingeniería Química Maestría en Ciencias Químicas Resolución de ecuaciones algebraicas Derivación DOCENTE: Mcs. Walter Moreno Eustaquio ALUMNO: León Cruzado, Jhon Paul MATERIA: Métodos Computacionales
21

Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

Dec 10, 2015

Download

Documents

*Resolución de Ecuaciones Algebraicas:
Mediante la función solve se puede resolver una sola ecuación algebraica, en función de una de sus variables (si tiene más de una) o un sistema de ecuaciones de más de una variable.

*Derivación:
El cálculo simbólico diferencial, cálculo de derivadas, se lleva a cabo utilizando el comando diff.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

Universidad Nacional de Trujillo Sección de

postgrado en Ingeniería Química

Maestría en Ciencias Químicas

Resolución de ecuaciones

algebraicas Derivación

DOCENTE:

Mcs. Walter Moreno Eustaquio

ALUMNO:

León Cruzado, Jhon Paul

MATERIA:

Métodos Computacionales

TRUJILLO-PERU

2015

Resolución de Ecuaciones Algebraicas

Page 2: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

Mediante la función solve se puede resolver una sola ecuación algebraica,

en función de una de sus variables (si tiene más de una) o un sistema de

ecuaciones de más de una variable.

Resolución de una sola ecuación:

Una ecuación algebraica puede tener una o más variables simbólicas. Si la

ecuación tiene una variable, la solución es numérica. Si la ecuación tiene

más de una variable simbólica, una solución puede calcular para cualquiera

de las variables en función de las restantes. La solución se obtiene mediante

el comando solve, que tiene la forma.

ó

El argumento eq puede ser el nombre de una expresión simbólica

existente, o una expresión tecleada directamente dentro del

comando. Cuando se utiliza una expresión simbólica existente S para

eq, o cuando la expresión eq no contiene el símbolo =, MATLAB

resuelve la ecuación para eq = 0.

Se pueden resolver ecuaciones de la forma f ( x )=g (x) tecleando la ecuación (incluyendo el signo =) como cadena dentro del argumento eq.

Si la ecuación que se va a resolver tiene más de una variable, el

comando solve (eq) opera en función de la variable simbólica por

defecto. Para obtener la solución en función de cualquier otra

variable, se utiliza la sintaxis solve (eq, var), donde var es el

nombre de la variable a partir de la cual se calcula la ecuación.

Si el usuario teclea solve (eq), la solución se asignará a la variable

ans.

Si la ecuación tiene más de una solución, la salida h será un vector

columna simbólico, donde cada elemento representará una solución.

Los elementos de este vector son objetos simbólicos. Cuando se

h=solve (eq) h=solve (eq , var )

Page 3: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

visualiza un array de objetos simbólicos, cada fila encerrará entre

corchetes (véase los ejemplos siguientes).

Los siguientes ejemplos ilustran el uso del comando solve

>> syms a b x y z

>> h = solve (exp (2 * z) - 5)

h =

log (5) / 2

>> S = x ^ 2 – x - 6

S =

x ^2 - x - 6

>> k = solve (S)

k =

3

-2

>> solve ('cos(2*y)+3*sin(y)=2')

ans =

pi / 2

pi / 6

(5 * pi) / 6

>> T=a*x^2+5*b*x+20

T =

a * x ^ 2 + 5 * b * x + 20

>> solve (T)

ans =

-(5*b + 5^(1/2)*(5*b^2 - 16*a)^(1/2))/(2*a)

-(5*b - 5^(1/2)*(5*b^2 - 16*a)^(1/2))/(2*a)

>> M=solve (T, a)

M =

-(5 * b * x + 20) / x ^ 2

La ecuación que se va a resolver también se puede teclear en forma

de cadena, sin incluir las variables en la ecuación como objetos

simbólicos. Sin embargo, si la solución contiene variables (cuando la

Defina a, b, x, y, z como variables simbólicas.

Use el comando solve para resolver e2 z−5=0.

Use el comando solve (S) para resolver x2−x−6=0.

Cree la expresión simbólica x2−x−6 , y asigne esto para S.

La solución es asignada para h.

La solución es asignada para ans.

Use el comando solve para resolver cos (2y) + 3sen (y) = 2. (La ecuación se teclea como una cadena dentro del comando.)

La ecuación tiene dos soluciones. Están asignados para k, que es un vector columna de objeto simbólico.

Cree la expresión simbólica ax2+5b+20, y asigne esto para T.

La ecuación T = 0 se resuelve para la variable x, que es la variable por defecto.

Use el comando solve (eq, var) para resolver T = 0.

La ecuación T = 0 se resuelve para la variable a.

Use el comando solve (S) para resolver T = 0.

Page 4: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

ecuación tiene más de una variable), las variables no podrán existir

como variables simbólicas independientes. Por ejemplo:

>> Ts = solve (‘ 4 * t * h ^ 2 + 20 * t – 5 * g ')

ts =

(5 * g) / (4 * h ^ 2 + 20)

La ecuación también se puede resolver para una variable diferente. Por

ejemplo, una solución de g se obtiene:

>> gs = solve (‘ 4 * t * h + 20 * t – 5 * g ’ , ’ g ’)

gs =

(4 * t * h ^ 2) / 5 + 4 * t

Resolución de sistemas de ecuaciones:

El comando solve también se puede utilizar para resolver sistemas de

ecuaciones.

Si el número de ecuaciones y el número de variables son las mismas, la

solución será numérica. Si el número de variables es mayor que el número

de ecuaciones, la solución será simbólica para las variables deseadas, en

función de las otras variables. Un sistema de ecuaciones (dependiendo del

tipo de ecuaciones) puede tener uno o varias soluciones. Si el sistema tiene

una solución, cada variable para la cual se resuelve el sistema tendrá un

valor numérico (o expresión). Si el sistema tiene más de una solución, cada

una de las variables podrá tener más de un valor.

Se intenta resolver la expresión: 4 t h2+20 t−5 g

Las variables t, h, g no fueron creadas como variables simbólicas antes de que la expresión se tecleada en el comando solve.

MATLAB resuelve la ecuación 4 t h2+20 t−5 g=0 para t .

Page 5: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

El formato del comando solve para resolver un sistema de “n” ecuaciones

es:

Ó

La argumentos eq1, eq2,..., eqn son las ecuaciones que hay que

resolver. Cada argumento puede ser el nombre de una expresión

simbólica existente, o una expresión introducida como cadena.

Cuando se introduce una expresión simbólica S existente, la ecuación

será S = 0. Cuando se introduce una expresión, como cadena, que

no incluye el signo “¿”, la ecuación será la expresión igualada a cero

(= 0). Las ecuaciones que contengan el signo “¿” se debe introducir

obligatoriamente como cadenas.

En el primer formato visto, si el número de n ecuaciones es igual al

número de variables en las ecuaciones, MATLAB proporciona una

solución numérica para todas las variables. Si el número de variables

es mayor que el número n de ecuaciones, MATLAB proporciona una

solución para la n variables en función del resto de ellas. Estas

variables serán seleccionadas por MATLAB según el orden por

defecto.

Cuando el número de variables es mayor que el número n de

ecuaciones, el usuario puede seleccionar las variables para las cuales

se calculará la solución del sistema. Para hacer esto hay que usar la

segunda sintaxis del comando solve, en donde se deben introducir

los nombres de las variables implicadas: var1, var2,..., varn.

El output de la función solve, será la solución al sistema de ecuaciones.

Esta salida puede tener dos formatos distintos; un array de celdas o una

estructura MATLAB. Un array de celdas es un array en el cual cada elemento

output=solve (eq1 , eq2 ,… .. , eqn)

output=solve (eq1 , eq2 ,… .. , eqn , var 1 , var 2,… .. , varn)

Page 6: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

puede ser a su vez otro array. Una estructura es un array en el cual se

accede a cada elemento o campo de forma textual, por el nombre del

campo. Los campos de una estructura pueden ser arrays de diferentes

tamaños y tipos. Los arrays de celdas y las estructuras no se trataran en

este libro, aunque se dará una pequeña explicación, seguidamente, para

que el usuario pueda utilizar e interpretar los resultados del comando solve.

Cuando se tiene un array de celdas como salida del comando solve, el

comando tendrá la siguiente forma (en el caso, por ejemplo, de un sistema

de tres ecuaciones):

[varA, varB, varC]= solve (eq1, eq2, eq3)

Cuando se ejecuta este comando, la solución se asignará a las variables

varA, varB, varC y éstas serán visualizadas con la solución calculada

para cada una de ellas. Cada una de estas variables contendrá uno o

varios valores (representados en forma de vector columna), dependiendo

de si el sistema de ecuaciones tiene una o más soluciones.

El usuario puede dar cualquier nombre a las variables varA, varB,

varC. En realidad MATLAB asigna los valores de la solución del sistema

en orden alfabético. Por ejemplo, si las variables para las cuales se ha

resuelto el sistema son x, u y t, la solución para t se almacenará en

varA, la solución para u se almacenará en varB, y la solución para x

se almacenará en var C.

A continuación se muestra un ejemplo de uso del comando solve cuando se utilizan array de celdas en la salida del comando.

>> syms x y t

>> S = 10 * x + 12 * y + 16 * t;

>> [xt yt] = solve(S, '5 * x – y = 13 * t')

Se definen las variables x, y, t

Se asigna a S la expresión simbólica: 10x + 12y + 16t

Se utiliza el comando solve para resolver el sistema de ecuaciones: 10x + 12y + 16t = 0 5x – y = 13t

Page 7: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

xt =

2*t

yt =

-3*t

En el ejemplo anterior MATLAB resuelve el sistema de dos ecuaciones para x

e y en función de t, ya que x e y son las dos primeras variables en el orden

por defecto. El sistema, sin embargo, se puede resolver para otras variables

distintas. Veamos a continuación un ejemplo donde el sistema se resuelve

para y y t en función de x (utilizando la segunda forma del comando solve):

>> [tx yx]=solve(S, '5*x-y=13*t',y,t)

tx =

x/2

yx =

-(3*x)/2

Cuando se utiliza una estructura como salida del comando solve esté tendrá

la siguiente forma (en el caso de un sistema de tres ecuaciones):

AN = solve (eq1, eq2, eq3)

AN es el nombre de la estructura.

Cuando el comando se ejecuta, la solución se asigna a AN, MATLAB

visualiza el nombre de la estructura y los nombres de los campos de

la estructura, que se corresponden con los nombres de las variables

que dan la solución al sistema de ecuaciones. El tamaño y el tipo de

cada campo se visualizan a continuación del nombre del campo. Sin

embargo, el contenido de cada campo, que se corresponde con la

solución para una variable, no se visualiza.

La salida es un array con dos celdas, xt e yt.

Las soluciones x e y se asignan a xt e yt, respectivamente

Se añaden de forma explícita las variables para las cuales se resuelve el sistema de ecuaciones: y,t

Los valores de la solución del sistema se asignan en orden alfabético. La primera celda contiene la solución para t, y la segunda celda del array contiene la solución para y.

Page 8: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

Para visualizar el contenido de un campo (la solución para una

variable), el usuario debe teclear el nombre del campo, de la forma:

nombre_estructura.nombre_campo (ver el ejemplo que se muestra a

continuación).

A continuación se verá un ejemplo de resolución de un sistema de

ecuaciones basado en un ejemplo anterior, utilizando esta vez una

estructura para la salida.

>> syms x y t

>> S = 10 * x + 12 * y + 16 * t;

>> AN=solve(S,'5 * x – y = 13 * t')

AN =

x: [1x1 sym]

y: [1x1 sym]

>> AN.x

ans =

2*t

>> AN.y

ans =

-3*t

El Problema de ejemplo 11.1 muestra la resolución de un sistema de

ecuaciones con dos soluciones.

Problema de ejemplo 11.1: Intersección entre una circunferencia y

una recta

MATLAB visualiza el nombre de la estructura (AN) y el nombre de los campos (x e y), junto con el tamaño y el tipo de los mismos. Éstos se corresponden con los nombres de las variables para las que se han resuelto el sistema de ecuaciones.

Acceso al campo x de la estructura.

Se utiliza el comando solve para resolver el sistema de ecuaciones: 10x + 12y + 16t = 0 5x – y = 13t

Se visualiza el contenido del campo (solución para y).

Acceso al campo y de la estructura.

Se visualiza el contenido del campo (solución para x).

Page 9: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

La ecuación de una circunferencia en el plano x-y con radio R y un punto

central (2,4) viene dado por:

(x−2)2+( y−4)2=R2

La ecuación de una recta en el plano viene dada por:

y= x2+1

Calcular las coordenadas de los puntos (en función de R), donde la recta y la

circunferencia se intersectan.

SOLUCIÓN

La solución se obtiene resolviendo el sistema de dos ecuaciones para x e y

en función de R. Para mostrar la diferencia entre utilizar un array de celdas

y una estructura, el sistema de ecuaciones se resolverá dos veces utilizando

la función solve. La primera solución se corresponde con una salida de tipo

array de celdas:

>> syms x y R

>> [xc,yc]=solve ('(x - 2)^2 + (y - 4)^2=R^2' , 'y = x / 2 +1')

xc =

((4*R^2)/5 - 64/25)^(1/2) + 14/5

14/5 - ((4*R^2)/5 - 64/25)^(1/2)

yc =

((4*R^2)/5 - 64/25)^(1/2)/2 + 12/5

12/5 - ((4*R^2)/5 - 64/25)^(1/2)/2

En esta segunda solución se utiliza una estructura para la salida:

>> COORD=solve ('(x - 2)^2 + (y - 4)^2 = R^2' , 'y = x/2 + 1')

Las dos ecuaciones se teclean en el comando solve.

La salida [xc,yc] se corresponde con un array de celdas.

La salida es un array de dos celdas, llamadas xc e yc. Cada celda contiene dos soluciones, en forma de vector simbólico tipo columna.

La salida se introduce en una estructura llamada COORD.

Page 10: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

COORD =

x: [2x1 sym]

y: [2x1 sym]

>> COORD.x

ans =

((4*R^2)/5 - 64/25)^(1/2) + 14/5

14/5 - ((4*R^2)/5 - 64/25)^(1/2)

>> COORD.y

ans =

((4*R^2)/5 - 64/25)^(1/2)/2 + 12/5

12/5 - ((4*R^2)/5 - 64/25)^(1/2)/2

Derivación

El cálculo simbólico diferencial, cálculo de derivadas, se lleva a cabo

utilizando el comando diff.

Este comando tiene la forma:

ó

S puede ser una expresión simbólica completa o el nombre de una

expresión simbólica existente.

En el comando diff (S), si la salida contiene una sola variable simbólica, el

cálculo se llevará a cabo con respecto a la variable simbólica por defecto.

El comando diff (S, var) se utiliza para calcular la derivada de una

expresión con más de una variable simbólica. Este cálculo se lleva a cabo

con respecto a la variable var indicada como parámetro.

Las segundas derivadas (y otras de mayor orden) se pueden calcular

mediante las sintaxis diff(S, n) o diff(S, var, n), donde n es el número

positivo. Por ejemplo, n=2 para calcular la segunda derivada, n=3 para

calcular la tercera derivada, y así sucesivamente.

Veamos algunos ejemplos.

La estructura COORD tiene dos campos (x e y). Cada campo es un vector simbólico de 2 x 1.

Se teclea el nombre del campo x.

Se visualiza el contenido del campo (solución para x).

Se visualiza el contenido del campo (solución para y).

Se teclea el nombre del campo y.

diff (S) diff (S , var )

Se definen las variables x, y, t.

Page 11: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

>> syms x y t

>> S=exp(x ^4);

>> diff(S)

ans =

4 * x ^3 * exp (x ^4)

>> diff((1 – 4 * x) ^3)

ans =

-12* (4 * x - 1) ^2

>> R=5 * y ^2 * cos (3 * t);

>> diff(R)

ans =

10 * y *cos (3*t)

>> diff(R,t)

ans =

-15 * y ^2 * sin (3*t)

>> diff(S,2)

ans =

12*x^2*exp(x^4) + 16*x^6*exp(x^4)

Se crea la expresión simbólica: ex−4

.

La solución es: 4 x3 ex−4

.

Se calcula la derivada de S.

Se calcula la derivada de (1−4 x )3.

La solución es −12 (4 x−1 )2.

Se crea la expresión simbólica 5 y2cos (3 t )

MATLAB deriva R con respecto a y (variable simbólica por defecto). Se visualiza el resultado: 10ycos(3t).

Se calcula la derivada de R.

Se calcula la derivada de R con respecto a t.

Se calcula la segunda derivada de S.

La solución es −15 y2 sen (3 t).

La solución es 12 x2 ex4+16 x6 ex4.

Page 12: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

Es posible utilizar también el comando diff introduciendo la ecuación que se

va a derivar en forma de cadena, aunque se recuerda, al igual que en los

comandos vistos anteriormente, que las variables simbólicas contenidas en

la cadena se utilizan sólo para el cálculo, y no podrán ser utilizadas

posteriormente como variables simbólicas independientes.

SOLUCIÓN A EJERCICIOS PROPUESTOS

8. Una torre de agua tiene la

geometría mostrada en la figura

(la parte inferior es un cilindro con

radio R y altura h, y la parte

superior es una media esfera con

radio R). Determinar si el radio R

si h = 10 m y el volumen es 1050

m3. (Escriba una ecuación para el

volumen en términos del radio y

la altura. Resolver la ecuación

para el radio, y utilizar el

comando double para obtener

una valor numérico.

Solución

h=10m

Page 13: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

v=1050m3

V c=π∗r2∗h

V e=43∗π∗r 3 ; V e /2=

23∗π∗r3

V Torre=V c+V e/2=π∗r2∗h+23∗π∗r3=π (r2∗h+ 2

3∗r3)

R=?

Resolviendo en Matlab:

10. Considere las dos elipses en el plano x y dada por las ecuaciones

( x−1 )2

62+ y2

32=1 y

( x+2 )2

22+¿¿

(a) Utilizar el comando ezplot para trazar las dos elipses en la misma

figura.

(b) Determinar las coordenadas de los puntos donde se cruzan las

elipses.

Solución

Page 14: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

Obtenemos también su gráfico:

13. La potencia mecánica P en un músculo que se contrae está dada por:

P=Tv=kvT o(1− v

vmáx)

k+ vvmáx

Donde T es la tensión muscular, v es la velocidad de acortamiento (max de vmáx), T o es

la tensión isométrica (es decir, la tensión a velocidad cero), y k es un no-dimensional

Page 15: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

constante que oscila entre 0,15 y 0,25 para la mayoría de los músculos. La ecuación

puede escribirse en forma no dimensional:

p=ku (1−u)k+u

Donde p=(Tv) /(T o vmax) , y u=v / vmáx. Considere el caso k=0.25 .

a) Plotear p Vs. u para 0≤u≤1.

b) Utilice la diferenciación para encontrar el valor de u , donde p es máxima.

c) Encuentre el valor máximo de p.

Solución

Obtenemos también su gráfico:

Page 16: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

15. Una antena de radar de

seguimiento está bloqueado en un

avión que vuela a una altitud

constante de 5 de km, y una

velocidad constante de 540 km/h. El

avión se desplaza a lo largo de un

camino que pasa exactamente por

encima de la estación de radar. El

radar da comienzo al seguimiento

cuando el avión está a 100 km de distancia.

(a) Deducir una expresión para el ángulo θ de la antena del radar, como una función

del tiempo.

(b) Deducir una expresión para la velocidad angular de la antena, dθdt

, como una

función del tiempo.

Page 17: Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat

(c) Hacer dos ploteos en la misma página, una de θ en función del tiempo y el otro de dθdt

en función del tiempo, donde el ángulo está en grados y el tiempo está en minutos

para 0≤ t ≤20min.

Solución

Obtenemos también su gráfico: