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
Embed
Trabajo Métodos Computacionales - Cap.11.3 & 11.4 Amos Gilat
*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
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