View
35
Download
3
Category
Preview:
DESCRIPTION
*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.
Citation preview
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
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 )
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.
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 .
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)
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
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.
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).
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.
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.
>> 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.
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
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
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
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:
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.
Recommended