ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES NO LINEALES


Enviado por   •  15 de Diciembre de 2015  •  Prácticas o problemas  •  7.431 Palabras (30 Páginas)  •  164 Visitas

Página 1 de 30

4[pic 2]

SOLUCIÓN NUMÉRICA DE SISTEMAS
DE
 ECUACIONES NO LINEALES

Un sistema de ecuaciones no lineales consiste en un conjunto de ecuaciones con varias incógnitas, en donde al menos una de sus ecuaciones no es de primer grado y combina ecuaciones algebraicas y trascendentes. Su representación es:

[pic 3]                                         (4.1)

La solución del sistema (4.1) consta de un conjunto de valores de xi, que simultáneamente hacen que todas las ecuaciones sean iguales a cero.

El problema de encontrar manualmente la solución de un sistema de ecuaciones no lineales, es mucho más complicado que para sistemas de ecuaciones lineales o ecuaciones trascendentes, analizadas en los capítulos anteriores, debido a que algunos sistemas carecen de soluciones reales. La mayoría de los enfoques para determinar las soluciones de los sistemas dados en (4.1) son extensiones de los métodos abiertos para resolver simples ecuaciones y sistemas de ecuaciones lineales.

4.1 Solución de sistema de ecuaciones no lineales mediante MatLab

MatLab tiene el comando fsolve y solve para resolver sistemas de ecuaciones no lineales del tipo (4.1), que hacen menos complicado y tedioso encontrar la solución.

Comando

Descripción

x = fsolve( f, x0)

Resuelve el sistema de ecuaciones no lineales dado en f y con los valores iniciales X0 por los Métodos de Gauss-Newton, Levenberg-Marquardt y Gran escala.

x = fsolve(f,x0,options)

Resuelve el sistema de ecuaciones no lineales dado en f con los valores iniciales X0, con la estructura options. Ésta se utiliza con optimset('Display', 'iter', 'TolFun',1e-8)

[x, fval] = fsolve( f, x0)

Resuelve el sistema de ecuaciones no lineales dado en f y con los valores iniciales X0 por los Métodos de Gauss-Newton, Levenberg-Marquardt y Gran escala. Además, proporciona la exactitud de las raíces a la solución mediante fval.

[x,y,z, . . .,n]=solve(‘ec1’,

              ‘ec2’,. . . , ‘ecn’)

Resuelve el sistema de ecuaciones no lineales ( ‘ec1’, ‘ec2’,..., ‘ecn’ ) en forma simbólica. Obtiene de forma inmediata todas las raíces que puede calcular con mejor exactitud en los resultados que fsolve, pero las soluciones dadas son muy complicadas.

4.2 Solución de Sistemas de Dos Ecuaciones No Lineales

Ejemplo 4.1  Resuelve el siguiente sistema de ecuaciones no lineales:

                    [pic 4]                                                                                         (4.2)

Solución:

Gráficamente la solución del sistema (4.2) está representada por las intersecciones del círculo y la exponencial. Graficando ambas ecuaciones con ayuda de la función ezplot tenemos (Ver Fig. 4.1, que está editada con la barra de herramientas de Figure 1):

>> ezplot('x^2 + y^2 - 4')

>> hold on, grid

>> ezplot('exp(x) + y – 1')

[pic 5]

Figura 4.1 Gráfica del círculo y de la exponencial

La figura 4.1 muestra que la solución está cercana a (-1.8, 0.8) y a (1, -1.7).

Se genera un archivo function en el editor de M-File de MatLab con el sistema de ecuaciones no lineales (4.2) con el nombre de circulo.m y se guarda en Work.

%Solución de un sistema de dos ecuaciones no lineales

function F = circulo(x)

F = [ x(1)^2 + x(2)^2 - 4;

      exp(x(1)) + x(2) -1];

Escribiendo las instrucciones en la Ventana de Comandos de MatLab para llamar al archivo circulo.m y resolver el sistema (4.2) tenemos:

Primer punto

>> x0 = [-1.8; 0.8];

>> [x  fval] = fsolve('circulo',x0)

Optimization terminated: first-order optimality is less than options.TolFun.

(La optimización terminó: el óptimo de primer orden es menor que la opción. Tolerancia de la función)

x =

   -1.8163

    0.8374

fval =

  1.0e-006 *

    0.1853

    0.0144

La solución es X = -1.8163   Y = 0.8374

Segundo punto

>> x0 = [1; -1.7];

>> [x fval] = fsolve('circulo',x0)

Optimization terminated: first-order optimality is less than options.tolfun.

(La optimización terminó: el óptimo de primer orden es menor que la opción. Tolerancia de la función)

x =

    1.0042

   -1.7296

fval =

  1.0e-007 *

    0.5263

    0.1029

La solución es X = 1.0042   Y = -1.7296

El comando solve no requiere crear un archivo function para encontrar la solución del sistema (4.1), lo hace directamente en forma simbólica, tampoco requiere de un valor inicial como fsolve para llegar a las raíces.

Usando el comando solve para resolver el sistema (4.2) tenemos:

>> [x, y]= solve('x^2 + y^2 = 4' ,'exp(x) + y = 1')

x =

 -1.816264

y =

.837368

El comando solve tiene la desventaja de no poder calcular en algunos sistemas de ecuaciones no lineales todas las posibles raíces, como es el caso del sistema (4.2). En este caso el comando fsolve es más efectivo.

...

Descargar como (para miembros actualizados)  txt (33.9 Kb)   pdf (1.2 Mb)   docx (516.5 Kb)  
Leer 29 páginas más »
Disponible sólo en Clubensayos.com