100% encontró este documento útil (2 votos)
5K vistas42 páginas

Problemas de Metodos Numericos

Este documento presenta tres problemas resueltos mediante métodos numéricos como el método de Newton-Raphson. El primer problema involucra encontrar la raíz de una ecuación no lineal mediante iteraciones. El segundo problema busca determinar la altura de un tanque de agua usando también iteraciones. El tercer problema despeja la profundidad de la ecuación de Manning usando un esquema iterativo. Todos los problemas se resuelven tanto manual como programáticamente y se muestran los resultados de las iteraciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (2 votos)
5K vistas42 páginas

Problemas de Metodos Numericos

Este documento presenta tres problemas resueltos mediante métodos numéricos como el método de Newton-Raphson. El primer problema involucra encontrar la raíz de una ecuación no lineal mediante iteraciones. El segundo problema busca determinar la altura de un tanque de agua usando también iteraciones. El tercer problema despeja la profundidad de la ecuación de Manning usando un esquema iterativo. Todos los problemas se resuelven tanto manual como programáticamente y se muestran los resultados de las iteraciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

CIENCIAS FISICAS
INGENIERIA MECANICA DE FLUIDOS

CUARTA PRACTICA DOMICILIARIA


SEMANA 6

ALUMNO: Yunior Huillcahuaman Rivas


CODIGO: 17130167
DOCENTE: William Wilfredo Chauca Nolasco
CURSO: Métodos Numéricos
HORARIO: Sábado 3-8:00 pm

2020-II
PROBLEMA 1:

CALCULO MANUAL:
√2(9.81)𝐻
f(H)=√2(9.81)𝐻(tanh( 2(4)
(2.5))-5

Primera iteración:

Limite inferior a = 0 ^ f(0) = -5


Limite inferior b = 2 ^ f(2) = 1.019273183589953

(−5)+(1.019273183589953)
xr= = 1 ^ f(1)= -1.093720547483790
2

R = (-5)( -1.093720547483790) = Positivo

Entonces xr se convertirá en límite inferior a.


Segunda iteración:

Límite inferior a = 1 ^ f(1) = -1.093720547483790


Límite inferior b = 2 ^ f(2) = 1.019273183589953

(1.5)+(2)
xr= = 1.75 ^ f(1.75)= 0.566253547532602
2

R = (-1.093720547483790)( 0.566253547532602) = Negativo

Entonces xr se convertirá en límite superior b.

CODIGO DEL PROGRAMA

clear all
clc
format long
a=0;
b=2;
tol=1;
f='sqrt(19.62*x)*tanh(0.3125*sqrt(19.62*x))-5';
f=inline(f);
ezplot(f);
c=0;
ea=100;
i=0;
fprintf(' It a b c error
\n');
while(ea > tol)
c=(a+b)/2;
ea=100*(c-a)/c;
fprintf('\n %d\t %f\t %f\t %f\t %f\t %f
\n',i+1,a,b,c,ea);
i=i+1;
if(f(a)*f(c)<0)
b=c;
else
a=c;
end
end
EJECUCION DEL PROGRAMA

It a b c error

1 0.000000 2.000000 1.000000 100.000000


2 1.000000 2.000000 1.500000 33.333333
3 1.000000 1.500000 1.250000 20.000000
4 1.250000 1.500000 1.375000 9.090909
5 1.375000 1.500000 1.437500 4.347826
6 1.437500 1.500000 1.468750 2.127660
7 1.437500 1.468750 1.453125 1.075269
8 1.453125 1.468750 1.460938 0.534759
>>

PROBLEMA 2:
CALCULO MANUAL:
GRAFICO DE LA ECUACION:

h f(h)
0 -30.00000
1 -21.62242
2 -0.67847
3 26.54867
4 53.77580
5 74.71976
6 83.09734
7 72.62536
8 37.02064
9 -30.00000
10 -134.71976

Como nos piden la altura a la que llega el agua en 𝑣(ℎ) = 30 𝑚3


Entonces:
𝑓(ℎ) = 𝑣(ℎ) − 30 = 0
3𝑅−ℎ
𝑓(ℎ) = 𝜋ℎ2 ( ) − 30 ; 𝑐𝑜𝑚𝑜 𝑅 = 3
3

9−ℎ
→ 𝑓(ℎ) = 𝜋ℎ2 ( ) − 30
3
𝑓′(ℎ) = 6𝜋ℎ − 𝜋ℎ2
Usando el método de Newton-Raphson:
𝑓(ℎ𝑖 )
ℎ𝑖+1 = ℎ𝑖 −
𝑓′(ℎ𝑖 )
9 − hi
πhi 2 (
hi+1 = hi − 3 ) − 30
6πhi − πhi 2
valor inicial: h0 = 3
cifras significativas: n = 5
error permisible = 0.5 ∗ 10^(2 − n) = 0.0005
Iteración 1:
9 − ℎ0
𝜋ℎ0 2 ( ) − 30
3
ℎ1 = ℎ0 −
6𝜋ℎ0 − 𝜋ℎ0 2
18𝜋 − 30
ℎ1 = 3 −
18𝜋 − 9𝜋
ℎ1 = 2.06103

𝑒𝑎 = (ℎ1 − ℎ0 )/ℎ1
𝑒𝑎 = −0.45558

𝑒𝑎% = 𝑎𝑏𝑠((ℎ1 − ℎ0 )/ℎ1 ) ∗ 100

𝑒𝑎% = 𝑎𝑏𝑠((2.06103 − 3)/2.06103) ∗ 100

𝑒𝑎 = 45.55808%

Iteración 2:
9 − ℎ1
𝜋ℎ1 2 (
ℎ2 = ℎ1 − 3 ) − 30
6𝜋ℎ1 − 𝜋ℎ1 2
9 − 2.06103
𝜋 ∗ 2.061032 ( 3 ) − 30
ℎ2 = 2.06103 −
6𝜋 ∗ 2.06103 − 𝜋 ∗ 2.061032
ℎ2 = 2.02704

𝑒𝑎 = (ℎ2 − ℎ1 )/ℎ2
𝑒𝑎 = −0.01677

𝑒𝑎% = 𝑎𝑏𝑠((ℎ2 − ℎ1 )/ℎ2 ) ∗ 100

𝑒𝑎% = 𝑎𝑏𝑠((2.02704 − 2.06103)/2.02704) ∗ 100

𝑒𝑎% = 1.67687%

Iteración 3:
9 − ℎ2
𝜋ℎ2 2 (
ℎ3 = ℎ2 − 3 ) − 30
6𝜋ℎ2 − 𝜋ℎ2 2
9 − 2.02704
𝜋 ∗ 2.027042 ( ) − 30
ℎ3 = 2.02704 − 3
6𝜋 ∗ 2.02704 − 𝜋 ∗ 2.027042
ℎ3 = 2.02691
𝑒𝑎 = (ℎ3 − ℎ2 )/ℎ3
𝑒𝑎 = −6.7 × 10−5

𝑒𝑎% = 𝑎𝑏𝑠((ℎ3 − ℎ2 )/ℎ3 ) ∗ 100

𝑒𝑎% = 𝑎𝑏𝑠((2.02691 − 2.02704)/2.02691) ∗ 100

𝑒𝑎% = 0.00673%
Cuadro de iteraciones
En el problema nos piden solo 3 iteraciones:

iteracion hi error relativo aprox ea %


0 3.00000
1 2.06103 0.45558 45.55808
2 2.02704 0.01677 1.67687
3 2.02691 0.00007 0.00673
CODIGO DEL PROGRAMA:
clear all
clc
disp('metodo de newton raphson')
n=input('ingrese las cifras significativas = ');
R=input('ingrese el radio del tanque = ');
hi=input('ingrese el valor inicial de la profundidad = ');
es=(0.5*(10^(2-n)));
ea=100;
i=0;
fprintf('\n iter hi error aprox error aprox
por\n');
format short
%uso del ciclo while
while (ea>es)
ha=hi;
fhi=(pi*hi^2*(3*R-hi)/3)-30;
dhi=6*pi*hi-pi*hi^2;
hi=hi-(fhi/dhi);
ea=abs((hi-ha)/hi);
ea_por=abs((hi-ha)/hi)*100;
i=i+1;
fprintf('%5.0f\t %7.5f\t %9.5f\t
%14.5f\t\n',i,hi,ea,ea_por);
end % fin del while
fprintf('la raiz obtenida es : %12.5f \n' ,hi)
fprintf('el error aprox es : %12.5f \n' ,ea)
fprintf('el error aprox porcentual es : %12.5f \n' ,ea_por)
fprintf('numero de iteraciones : %4.0f \n',i)

EJECUCION DEL PROGRAMA:

método de newton Raphson


ingrese las cifras significativas = 5
ingrese el radio del tanque = 3
ingrese el valor inicial de la profundidad = 3

iter hi error aprox error aprox por:


1 2.06103 0.45558 45.55808
2 2.02704 0.01677 1.67687
3 2.02691 0.00007 0.00673
la raíz obtenida es: 2.02691
el error aprox es: 0.00007
el error aprox porcentual es: 0.00673
numero de iteraciones: 3
>>

PROBLEMA 3:
6.20. La ecuación de Manning se puede describir para un flujo en un canal abierto
rectangular como

√𝑺(𝑩𝑯)𝟓/𝟑
𝑸=
𝒏(𝑩 + 𝟐𝑯)𝟐/𝟑
Donde Q=flujo (m3/s), S=pendiente (m/m), H=profundidad (m), B=ancho (m) y
n=coeficiente de rugosidad de Manning. Desarrolle un esquema de iteración para
despejar H de esta ecuación dado Q=5, S=0.0002, B=20 y n=0.03. Pruebe que su
esquema converge para todos los valores iniciales mayores que cero o iguales a cero.

CALCULO MANUAL
Despejando en función de H

𝑄. 𝑛(𝐵 + 2𝐻)2/3
= (𝐵𝐻)5/3
𝑆 1/2
3/5
𝑄𝑛(𝐵 + 2𝐻)2/3
( ) = 𝐵𝐻
𝑆 1/2

1 𝑄𝑛 3/5
𝐻 = . ( ) . (𝐵 + 2𝐻)2/5
𝐵 √𝑆
En valores de x

1 𝑄𝑛 3/5
𝑥 = . ( ) . (𝐵 + 2𝑥)2/5
𝐵 √𝑆
La nueva función

1 𝑄𝑛 3/5
𝑔(𝑥) = . ( ) . (𝐵 + 2𝑥)2/5
𝐵 √𝑆

Entonces derivamos g(x) para verificar si es convergente


3
1 𝑄𝑛 5 2 3
𝑔′ (𝑥) = . ( ) . ( (𝐵 + 2𝑥)−5 (2))
𝐵 √𝑆 5
3
4 1 𝑄𝑛 5 3
𝑔′ (𝑥) = . . ( ) (𝐵 + 2𝑥)−5
5 𝐵 √𝑆
Reemplazando los valores constantes
3
4 1 (5)(0.03) 5 3
𝑔′ (𝑥) = . . ( ) (20 + 2𝑥)−5
5 20 √0.0002

a) Se evalúa si g’(x) es convergente, tomamos un valor inicial de 0


3
4 1 (5)(0.03) 5 3
|𝑔′(𝑥)| = | . . ( ) (20 + 2(0))−5 | = |0.02733932266| < 1
5 20 √0.0002

Es convergente porque es menor a 1. Entonces procedemos a iterar.

• Error permisible=0.00001
• Q= 5
• S=0.0002
• B=20
• n=0.03

Iteración 1

1 (5)(0.03) 3/5
𝑥1 = .( ) . (20 + 2(0))2/5 = 0.683483067
20 √0.0002
0.683483067 − 0
𝑒𝑟𝑟𝑜𝑟 = | | ∗ 100 = 100.000000000
0.683483067

Iteración 2

1 (5)(0.03) 3/5
𝑥1 = .( ) . (20 + 2(0.683483067))2/5 = 0.70179926
20 √0.0002
0.70179926 − 0.683483067
𝑒𝑟𝑟𝑜𝑟 = | | ∗ 100 = 2.609890618
0.70179926
Cuadro de iteraciones:

iteracion xa xi error condicional


1 0.000000000 0.683483067 100.000000000 continue
2 0.683483067 0.70179926 2.609890618 continue
3 0.70179926 0.702280289 0.068495421 continue
4 0.702280289 0.702292916 0.001797883 continue
5 0.702292916 0.702293247 0.000047191 continue
6 0.702293247 0.702293256 0.000001239 La raiz

𝐻 = 0.702293256 𝑚

b) Se evalúa si g’(x) es convergente, tomamos un valor inicial de 0.5


3
4 1 (5)(0.03) 5 3
|𝑔′(𝑥)| = | . . ( ) (20 + 2(0.5))−5 | = |0.02655058969| < 1
5 20 √0.0002

Es convergente porque es menor a 1. Entonces procedemos a iterar.

• Error permisible=0.00001
• Q= 5
• S=0.0002
• B=20
• n=0.03

Iteración 1

1 (5)(0.03) 3/5
𝑥1 = .( ) . (20 + 2(0.5))2/5 = 0.696952979
20 √0.0002
0.696952979 − 0.5
𝑒𝑟𝑟𝑜𝑟 = | | ∗ 100 = 28.259148779
0.696952979

Iteración 2

1 (5)(0.03) 3/5
𝑥1 = .( ) . (20 + 2(0.696952979))2/5 = 0.702153062
20 √0.0002
0.702153062 − 0.696952979
𝑒𝑟𝑟𝑜𝑟 = | | ∗ 100 = 0.740591028
0.702153062
Cuadro de iteraciones:

iteracion xa xi error condicional


1 0.500000000 0.696952979 28.259148779 continue
2 0.696952979 0.702153062 0.740591028 continue
3 0.702153062 0.702289576 0.019438484 continue
4 0.702289576 0.702293160 0.000510227 continue
5 0.702293160 0.702293254 0.000013393 continue
6 0.702293254 0.702293256 0.000000352 La raiz

𝐻 = 0.702293256 𝑚

c) Se evalúa si g’(x) es convergente, tomamos un valor inicial de 1


3
4 1 (5)(0.03) 5 3
|𝑔′(𝑥)| = | . . ( ) (20 + 2(1))−5 | = |0.02581975634| < 1
5 20 √0.0002

d) Se evalúa si g’(x) es convergente, tomamos un valor inicial de 2


3
4 1 (5)(0.03) 5 3
|𝑔′(𝑥)| = | . . ( ) (20 + 2(2))−5 | = |0.0245063| < 1
5 20 √0.0002

e) Se evalúa si g’(x) es convergente, tomamos un valor inicial de 5


3
4 1 (5)(0.03) 5 3
|𝑔′(𝑥)| = | . . ( ) (20 + 2(5))−5 | = |0.02143546925| < 1
5 20 √0.0002

f) Se evalúa si g’(x) es convergente, tomamos un valor inicial de 10


3
4 1 (5)(0.03) 5 3
|𝑔′(𝑥)| = | . . ( ) (20 + 2(10))−5 | = |0.01803722627| < 1
5 20 √0.0002

En conclusión, este esquema converge para todos los valores iniciales mayores que
cero o iguales a cero. Sabiendo esto, podemos iniciar las iteraciones, y llegaríamos al
mismo resultado.
CODIGO DEL PROGRAMA:
clear all
clc
disp('La ecuacion de Manning en canal rectangular')
Q=input('ingrese el flujo volumetrico = ');
S=input('ingrese la pendiente = ');
B=input('ingrese el ancho del canal = ');
n=input('ingrese el coeficiente de rugosidad de Manning =
');
xi=input('ingrese el valor inicial = ');
es=input('ingrese el error permisible = ');
ea=100;
i=0;
fprintf('\n i xa xi
error\n');
while ea>es
xa=xi;
xi=(1/B)*(((Q*n)/(S^0.5))^(3/5))*((B+(2*xi))^(2/5));
ea=abs((xi-xa)/xi)*100;
i=i+1;
fprintf('%3.0f\t %12.9f\t %12.9f\t
%12.9f\t\n',i,xa,xi,ea);
end
fprintf ('\nEl valor de profundidad es =%12.9f\n',xi)
fprintf ('números iteraciones =%4.0f\n',i)
EJECUCION DEL PROGRAMA
La ecuación de Manning en canal rectangular
ingrese el flujo volumétrico = 5
ingrese la pendiente = 0.0002
ingrese el ancho del canal = 20
ingrese el coeficiente de rugosidad de Manning = 0.03
ingrese el valor inicial = 0
ingrese el error permisible = 0.00001

i xa xi error
1 0.000000000 0.683483067 100.000000000
2 0.683483067 0.701799260 2.609890618
3 0.701799260 0.702280289 0.068495421
4 0.702280289 0.702292916 0.001797883
5 0.702292916 0.702293247 0.000047191
6 0.702293247 0.702293256 0.000001239

El valor de profundidad es = 0.702293256


números iteraciones = 6
>>
Problema 4:
6.22 Determine las raíces de las siguientes ecuaciones no lineales simultaneas, por
medio de los métodos de a) Iteración de punto fijo y b) Newton-Raphson:

𝒚 = −𝒙𝟐 + 𝒙 + 𝟎. 𝟕𝟓
𝒚 + 𝟓𝒙𝒚 = 𝒙𝟐
Utilice los valores iniciales de x=y=1.2, y analice los resultados
A) POR EL METODO DE ITERACION DE PUNTO FIJO
CALCULO MANUAL
Hacemos:

xi = u(x,y) = √𝑥 − 𝑦 + 0.75
𝑥2
yi = v(x,y) =
1+5𝑥

x0 = 1.2 ^ y0 = 1.2
Primera iteración

xi = √(1.2) − (1.2) + 0.75 = 0.866025403


(0.866025403)2
yi = = 0.140709592
1+5(0.866025403)

x = xi ^ y = yi
Segunda iteración:

xi = √(0.866025403) − (0.140709592) + 0.75 = 1.21462579


(1.21462579)2
yi = = 0.208580363
1+5(1.21462579)

x = xi ^ y = yi
CODIGO DEL PROGRAMA
clear all
clc
format long
tol=input('Ingrese la tolerancia = ');
x0=input('Ingrese valor inicial de x0 = ');
y0=input('Ingrese valor inicial de y0 = ');
errorx=100;
errory=100;
i=0;
while errorx>tol & errory>tol
xi=sqrt(x0+0.75-y0);
yi=xi^2/(1+5*xi);
errorx=abs((xi-x0)/xi)*100;
errory=abs((yi-y0)/yi)*100;
x0=xi;
y0=yi;
i=i+1;
end
fprintf('La raiz de x es: %f\n',xi)
fprintf('La raiz de y es: %f\n',yi)
fprintf('Numero de iteraciones: %d',i+1)

EJECUCION DEL PROGRAMA


Ingrese la tolerancia = 0.001
Ingrese valor inicial de x0 = 1.2
Ingrese valor inicial de y0 = 1.2
La raiz de x es: 1.372063
La raiz de y es: 0.239501
Numero de iteraciones: 12

B) POR EL METODO DE NEWTON-RAPHSON


CALCULO MANUAL:
El sistema dado es equivalente a:
𝑢(𝑥, 𝑦) = 𝑥 2 − 𝑥 + 𝑦 + 0.75 = 0
𝑣(𝑥, 𝑦) = 𝑥 2 − 5𝑥𝑦 − 𝑦 = 0
Ahora determinamos las derivadas parciales para realizar las iteraciones
𝜕𝑢
(𝑥, 𝑦) = 2𝑥 − 1
𝜕𝑥
𝜕𝑢
(𝑥, 𝑦) = 1
𝜕𝑦
𝜕𝑣
(𝑥, 𝑦) = 2𝑥 − 5𝑦
𝜕𝑥
𝜕𝑣
(𝑥, 𝑦) = −5𝑥 − 1
𝜕𝑦
Usando el método de Newton-Raphson para un sistema con dos incógnitas:
𝑑𝑣𝑖 𝑑𝑢
𝑢𝑖 ∗ − 𝑣𝑖 ∗ 𝑖
𝜕𝑦 𝜕𝑦
𝑥𝑖+1 = 𝑥𝑖 −
𝑑𝑢𝑖 𝑑𝑣𝑖 𝑑𝑢𝑖 𝑑𝑣𝑖
∗ − ∗
𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑥
dui dv
vi ∗ − ui ∗ i
yi+1 = yi − ∂x ∂x
dui dvi dui dvi
∗ − ∗
∂x ∂y ∂y ∂x
Ahora estamos listos para calcular las aproximaciones:
𝑡𝑜𝑚𝑎𝑛𝑑𝑜 ∶ 𝑥0 = 𝑦0 = 1.2 𝑐𝑜𝑚𝑜 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑖𝑛𝑖𝑐𝑖𝑎𝑙𝑒𝑠

Iteracion1:
𝑑𝑣0 𝑑𝑢
𝑢0 ∗ − 𝑣0 ∗ 0
𝜕𝑦 𝜕𝑦
𝑥1 = 𝑥0 −
𝑑𝑢0 𝑑𝑣0 𝑑𝑢0 𝑑𝑣0
∗ − ∗
𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑥
𝑥1 = 1.54355
𝑑𝑢0 𝑑𝑣
𝑣0 ∗ − 𝑢𝑖 ∗ 0
𝑦1 = 𝑦0 − 𝜕𝑥 𝜕𝑥
𝑑𝑢0 𝑑𝑣0 𝑑𝑢0 𝑑𝑣0
∗ − ∗
𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑥
𝑦1 = 0.02903

1.54355 − 1.2
Ea(x) = | | ∗ 100 = 22.25705%
1.54355
0.02903 − 1.2
Ea(y) = | | ∗ 100 = 4033.33333%
0.02903

Iteración 2:
𝑥2 = 1.39412
𝑦2 = 0.22287

1.39412 − 1.54355
Ea(x) = | | ∗ 100 = 10.71824%
1.39412

0.22287 − 0.02903
Ea(y) = | | ∗ 100 = 86.97358%
0.22287

CUADRO DE ITERACIONES

iteración xi yi ui vi ∂ui/∂x ∂ui/∂y


1 1.2 1.2 0.69 -6.96 1.4 1
2 1.54355 0.02903 0.11803 2.12945 2.08710 1
3 1.39412 0.22287 0.02233 0.16715 1.78825 1
4 1.37245 0.23929 0.00047 0.00225 1.74491 1
5 1.37207 0.23950 0.00000 0.00000 1.74413 1
6 1.37207 0.23950 0.00000 0.00000 1.74413 1

iteración ∂vi/∂y Jacobiano xi+1 yi+1 Ea x(%) Ea y(%)


1 -7 -6.2 1.54355 0.02903 22.25705 4033.33333
2 -8.71774 -21.13671 1.39412 0.22287 10.71824 86.97358
3 -7.97061 -15.92730 1.37245 0.23929 1.57880 6.86206
4 -7.86227 -15.26740 1.37207 0.23950 0.02836 0.08742
5 -7.86033 -15.25606 1.37207 0.23950 0.00001 0.00002
6 -7.86033 -15.25606 1.37207 0.23950 0.00000 0.00000
CODIGO DEL PROGRAMA
clear all
clc
disp('solucion del problema 4b')
n=input('Ingrese precision de cifras significativas n = ');
xi=input('Ingrese valor inicial xi = ');
yi=input('Ingrese valor inicial yi = ');
Es=(0.5*10^(2-n));
Eax=100;
Eay=100;
i=0;
fprintf('\n iter xi yi ea(x)
ea(y)\n');
while Eax>Es & Eay>Es
xa=xi;
ya=yi;
Ui=(xi)^2-xi+yi-0.75;
Vi=(xi)^2-5*xi*yi-yi;
dUidx=2*xi-1;
dUidy=1;
dVidx=2*xi-5*yi;
dVidy=-5*xi-1;
Jacobiano=dUidx*dVidy-dUidy*dVidx;
xi=xi-(Ui*dVidy-Vi*dUidy)/Jacobiano;
yi=yi-(Vi*dUidx-Ui*dVidx)/Jacobiano;
Eax=abs((xi-xa)/xi)*100;
Eay=abs((yi-ya)/yi)*100;
i=i+1;
fprintf('%5.0f\t %7.5f\t %7.5f\t %7.5f\t
%9.5f\t\n',i,xi,yi,Eax,Eay);
end
fprintf('La raiz ´´x´´ es:%12.6f\n',xi)
fprintf('La raiz ´´y´´ es:%12.6f\n',yi)
fprintf('Numero de iteraciones:%8.0f\n',i)

EJECUCION DEL PROGRAMA


solución del problema 4b
Ingrese precisión de cifras significativas n = 8
Ingrese valor inicial xi = 1.2
Ingrese valor inicial yi = 1.2
iter xi yi ea(x) ea(y)
1 1.54355 0.02903 22.25705 4033.33333
2 1.39412 0.22287 10.71824 86.97358
3 1.37245 0.23929 1.57880 6.86206
4 1.37207 0.23950 0.02836 0.08742
5 1.37207 0.23950 0.00001 0.00002
6 1.37207 0.23950 0.00000 0.00000
La raíz ´´x´´ es: 1.372065
La raíz ´´y´´ es: 0.239502
Numero de iteraciones: 6
>>
PROBLEMA 5
6.23 Encuentre las raíces de las ecuaciones simultaneas que siguen:

(𝒙 − 𝟒)𝟐 +(𝒚 − 𝟒)𝟐 =5

𝒙𝟐 + 𝒚𝟐 =16
Use un enfoque grafico para obtener los valores iniciales. Encuentre estimaciones
refinadas con el método de Newton-Raphson para dos ecuaciones, que se describe
en la sección 6.6.2
CALCULO MANUAL
El sistema dado es equivalente a:
u(x,y):= (𝑥 − 4)2 +(𝑦 − 4)2 -5=0

v(x,y):= 𝑥 2 + 𝑦 2 -16=0
Ahora determinamos las derivadas parciales para realizar las iteraciones
𝜕𝑢
(𝑥, 𝑦) = 2(𝑥 − 4)
𝜕𝑥
𝜕𝑢
(𝑥, 𝑦) = 2(𝑦 − 4)
𝜕𝑦
𝜕𝑣
(𝑥, 𝑦) = 2𝑥
𝜕𝑥
𝜕𝑣
(𝑥, 𝑦) = 2𝑦
𝜕𝑦
Ahora estamos listos para calcular las aproximaciones:
Graficamos el problema:

Como vemos en la grafica hay 2 puntos donde se intersecan los 2 círculos, al primer
punto lo llamaremos ´´A´´ y al segundo ´´B´´, analizaremos para cada punto:
PARA EL PUNTO A
A≈(1.7,3.5)→ 𝑥0 =1.7, 𝑦0 =3.5
Iteracion1:
((1.7−4)2 +(3.5−4)2 −5)∗2∗3.5−(1.72 +3.52 −16)∗2(3.5−4)
𝑥1 =1.7- =1.80139
2(1.7−4)∗2∗3.5−2(3.5∗−4)∗2∗1.7

(1.72 +3.52 −16)∗2∗(1.7−4)−((1.7−4)2 +(3.5−4)2 −5)∗2∗3.5


𝑦1 =3.5- =3.57361
2(1.7−4)∗2∗3.5−2(3.5∗−4)∗2∗1.7

1.80139−1.7
Ea(x)=| |*100=5.62837
1.80139
3.57361−3.5
Ea(y)=| |*100=2.05985
3.57361

Iteración 2:
𝑥2 =1.80581
𝑦2 =3.56918
1.80581−1.80139
Ea(x)=| |*100=0.24526
1.80581
3.56918−3.57361
Ea(y)= | |*100=0.12409
3.56918
CUADRO DE ITERACIONES

iteracion xi yi ui vi ∂ui/∂x ∂ui/∂y ∂vi/∂x


1 1.7 3.5 0.54 -4.6-0.86 -1 3.4
- -
2 1.80138889 3.57361111 0.0156983 0.0156983 4.39722222 0.85277778 3.60277778
- -
3 1.80581788 3.56918212 3.9232E-05 3.9232E-05 4.38836425 0.86163575 3.61163575

iteración ∂vi/∂y Jacobiano xi+1 yi+1 Ea x(%) Ea y(%)


1 7 -28.8 1.80138889 3.57361111 5.62837317 2.05985231
2 7.14722222 -28.3555556 1.80581788 3.56918212 0.24526217 0.12408972
3 7.13836425 -28.2138279 1.805829 3.569171 0.00061601 0.00031167

PARA EL PUNTO B
B≈(3.5,1.7)→ 𝑥0 =3.5, 𝑦0 =1.7
Iteracion1:
((3.5−4)2 +(1.7−4)2 −5)∗2∗1.7−(3.52 +1.72 −16)∗2(1.7−4)
𝑥1 =3.5- =3.57361
2(3.5−4)∗2∗1.7−2(1.7∗−4)∗2∗3.5

(3.52 +1.72 −16)∗2∗(3.5−4)−((3.5−4)2 +(1.7−4)2 −5)∗2∗1.7


𝑦1 =1.7- =1.80139
2(3.5−4)∗2∗1.7−2(1.7∗−4)∗2∗3.5

3.57361−3.5
Ea(x)=| |*100=2.05985
3.57361
1.80139−1.7
Ea(y)=| |*100=5.62837
1.80139

Iteración 2:
𝑥2 =3.56918
𝑦2 =1.80581
3.56918−3.57361
Ea(x)= | |*100=0.12409
3.56918
1.80581−1.80139
Ea(y)=| |*100=0.24526
1.80581
CUADRO DE ITERACIONES

iteración xi yi ui vi ∂ui/∂x ∂ui/∂y ∂vi/∂x


1 3.5 1.7 0.54 -1-0.86 -4.6 7
- -
2 3.57361111 1.80138889 0.0156983 0.0156983 0.85277778 4.39722222 7.14722222
- -
3 3.56918212 1.80581788 3.9232E-05 3.9232E-05 0.86163575 4.38836425 7.13836425

iteración ∂vi/∂y Jacobiano xi+1 yi+1 Ea x(%) Ea y(%)


1
3.4 28.8 3.57361111 1.80138889 2.05985231 5.62837317
2
3.60277778 28.3555556 3.56918212 1.80581788 0.12408972 0.24526217
3
3.61163575 28.2138279 3.569171 1.805829 0.00031167 0.00061601

CODIGO DEL PROGRAMA


clear all
clc
disp('CALCULA LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO
LINEALES')
disp(' POR EL METODO ABIERTO DE NEWTON RAPHSON')
n=input('Ingrese precisión de cifras significativas n= ');
xi=input('Ingrese valor inicial xi= ');
yi=input('Ingrese valor inicial yi= ');
Es=(0.5*10^(2-n));
Eax=100;
Eay=100;
i=0;
while Eax>Es & Eay>Es
xa=xi;
ya=yi;
Ui=(xi-4)^2+(yi-4)^2-5;
Vi=xi^2+yi^2-16;
dUidx=2*(xi-4);
dUidy=2*(yi-4);
dVidx=2*xi;
dVidy=2*yi;
Jacobiano=dUidx*dVidy-dUidy*dVidx;
xi=xi-(Ui*dVidy-Vi*dUidy)/Jacobiano;
yi=yi-(Vi*dUidx-Ui*dVidx)/Jacobiano;
Eax=abs((xi-xa)/xi)*100;
Eay=abs((yi-ya)/yi)*100;
i=i+1;
endwhile
fprintf('La raiz ´´x´´ es:%12.15f\n',xi)
fprintf('La raiz ´´y´´ es:%12.15f\n',yi)
fprintf('Numero de iteraciones:%12.0f\n',i)
%Grafico del problema
phi=0:pi/50:2*pi;
for s=1:101
N1(s)=sqrt(5)*cos(phi(s))+4;
M1(s)=sqrt(5)*sin(phi(s))+4;
end

for s=1:101
N2(s)=4*cos(phi(s));
M2(s)=4*sin(phi(s));
end
plot(N1,M1)
hold on
plot(N2,M2)
EJECUCION DEL PROGRAMA
Para el punto ´´A´´
CALCULA LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO LINEALES
POR EL METODO ABIERTO DE NEWTON RAPHSON
Ingrese precisión de cifras significativas n= 5
Ingrese valor inicial xi= 1.7
Ingrese valor inicial yi= 3.5
La raíz ´´x´´ es:1.805829001200705
La raíz ´´y´´ es:3.569170998799295
Numero de iteraciones: 3
>>

Para el punto ´´B´´


CALCULA LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO LINEALES
POR EL METODO ABIERTO DE NEWTON RAPHSON
Ingrese precisión de cifras significativas n= 5
Ingrese valor inicial xi= 3.5
Ingrese valor inicial yi= 1.7
La raíz ´´x´´ es:3.569170998799295
La raíz ´´y´´ es:1.805829001200705
Numero de iteraciones: 3
>>
PROBLEMA 6

CALCULO MANUAL
El sistema dado es equivalente a:
u(x,y):= ):= 𝑥 2 -y+1=0
v(x,y):= 2cosx-y=0
Ahora determinamos las derivadas parciales para realizar las iteraciones
𝜕𝑢
(𝑥, 𝑦) = 2𝑥
𝜕𝑥
𝜕𝑢
(𝑥, 𝑦) = −1
𝜕𝑦
𝜕𝑣
(𝑥, 𝑦) = −2𝑠𝑒𝑛𝑥
𝜕𝑥
𝜕𝑣
(𝑥, 𝑦) = −1
𝜕𝑦
Ahora estamos listos para calcular las aproximaciones:

GRAFICAMOS LAS ECUACIONES

Como vemos las ecuaciones se intersecan en un punto ,el cual llamaremos ´´P´´
En el punto ´´P´´
P≈(0.7,1.5)→ 𝑥0 =0.7, 𝑦0 =1.5

Iteracion1:
(0.72 −1.5+1)(−1)−(−2𝑐𝑜𝑠0.7−1.5)(−1)
𝑥1 =0.7- =0.714761
−2∗0.7(−1)−(−1)(−2𝑠𝑒𝑛0.7)

(2𝑐𝑜𝑠0.7−1.5)∗2∗0.7−(0.72 −1.5+1)(−2𝑠𝑒𝑛0.7)
𝑦1 =1.5- =1.51067
2(0.7)(−1)−(−1)(−2𝑠𝑒𝑛0.7)

0.714761−0.7
Ea(x)=| |*100=2.06518
0.714761
1.51067−3.5
Ea(y)=| |*100=0.706019
1.51067

Iteración 2:
𝑥2 =0.71462107
𝑦2 =1.5106833
=0.71462107−0.714761
Ea(x)=| |*100=0.01960074
0.71462107
1.5106833−1.51067
Ea(y)= | |*100=0.00116879
1.5106833

CUADRO DE ITERACIONES

iteración xi yi ui vi ∂ui/∂x ∂ui/∂y ∂vi/∂x


-
1 0.7 1.5
-0.01 0.02968437 1.4 -1 1.28843537
- -
2 0.71476114 1.5106656 0.00021789 0.00016596 1.42952228 -1 1.31087407
-1.4819E- -
3 0.71462107 1.51068325 1.962E-08 08 1.42924214 -1 1.31066248

iteración ∂vi/∂y Jacobiano xi+1 yi+1 Ea x(%) Ea y(%)


1 -1 -2.68843537 0.71476114 1.5106656 2.06518521 0.70601978
2 -1 -2.74039636 0.71462107 1.51068325 0.01960074 0.00116879
3 -1 -2.73990463 0.71462106 1.51068326 1.7589E-06 1.0958E-07
CÓDIGO DEL PROGRAMA
clear all
clc
disp('CALCULA LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO
LINEALES')
disp(' POR EL METODO ABIERTO DE NEWTON RAPHSON')
n=input('Ingrese precisión de cifras significativas n= ');
xi=input('Ingrese valor inicial xi= ');
yi=input('Ingrese valor inicial yi= ');
Es=(0.5*10^(2-n));
Eax=100;
Eay=100;
i=0;
while Eax>Es & Eay>Es
xa=xi;
ya=yi;
Ui=(xi)^2-yi+1;
Vi=2*cos(xi)-yi;
dUidx=2*xi;
dUidy=-1;
dVidx=-2*sin(xi);
dVidy=-1;
Jacobiano=dUidx*dVidy-dUidy*dVidx;
xi=xi-(Ui*dVidy-Vi*dUidy)/Jacobiano;
yi=yi-(Vi*dUidx-Ui*dVidx)/Jacobiano;
Eax=abs((xi-xa)/xi)*100;
Eay=abs((yi-ya)/yi)*100;
i=i+1;
endwhile
fprintf('La raiz ´´x´´ es:%12.15f\n',xi)
fprintf('La raiz ´´y´´ es:%12.15f\n',yi)
fprintf('Numero de iteraciones:%12.0f\n',i)

%Cálculo del grafico del problema


x=0:0.1:2;

for i=1:21
y1(i)=x(i)*x(i)+1;
y2(i)=2*cos(x(i));
end

plot(x,y1)
hold on
plot(x,y2)
hold off

EJECUCION DEL PROGRAMA


CALCULA LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO LINEALES
POR EL METODO ABIERTO DE NEWTON RAPHSON
Ingrese precision de cifras significativas n= 5
Ingrese valor inicial xi= 0.7
Ingrese valor inicial yi= 1.5
La raíz ´´x´´ es:0.714621057779284
La raíz ´´y´´ es:1.510683256221582
Numero de iteraciones: 3
>>
PROBLEMA 7
Escriba en Word las siguientes imágenes, las ecuaciones en MathtType , los
programas escritos en Matlab y en el trabajo de forma de texto, no imagen.
6.6 Sistemas de ecuaciones no lineales
Hasta aquí nos hemos ocupado de determinar las raíces de una sola ecuación no lineal.
Un problema relacionado con este consiste en obtener las raíces de un conjunto de
ecuaciones simultaneas.

f1 ( x1 , x2 ,...., xn ) = 0
f 2 ( x1 , x2 ,...., xn ) = 0

f n ( x1 , x2 ,...., xn ) = 0 (6.17)

La solución de este sistema consta de un conjunto de valores x que simultáneamente


hacen que todas las ecuaciones sean iguales a cero.
En la parte tres presentaremos los métodos, para el caso en que las ecuaciones
simultaneas son lineales, es decir, que se puedan expresar en la forma general.

f ( x) = a1 x1 + a2 x2 + ..... + an xn − b = 0 (6.18)

Donde la b y las a son constantes. A las ecuaciones algebraicas y trascendentes que no


se pueden expresar de esta forma se les llaman ecuaciones no lineales. Por ejemplo.

x 2 + xy = 10
y
y + 3xy 2 = 57
son dos ecuaciones simultaneas no lineales con dos incógnitas, x e y, las cuales se
expresan en la forma de la ecuación (6.17) como.
u( x, y) = x 2 + xy − 10 = 0 (6.19a )
v( x, y) = y + 3xy − 57 = 0
2
(6.19b)
Así la solución serían los valores de x y de y que hacen a las funciones u(x,y) y v(x,y)
iguales a cero. La mayoría de los métodos para determinar tales soluciones son
extensiones de los métodos abiertos para resolver ecuaciones simples. En esta sección
presentaremos dos de ellos: iteración de punto fijo y newton-Rapshon.
6.6.1 Iteración de punto fijo
El método de iteración de punto fijo (sección 6.1) puede modificarse para resolver dos
ecuaciones simultaneas no lineales. Este método se ilustra en el siguiente ejemplo.
Ejemplo 6.11 (Iteración de punto fijo para un sistema no lineal)
Planteamiento del problema con el método de iteración de punto fijo determine las
raíces de la ecuación (6.19). observe que un par correcto de raíces es x=2 y y=3. Inicie
el cálculo con el valor inicial x=1.5 y y=3.5.
Solución: de la ecuación (6.19a) se puede despejar

10 − xi 2
xi +1 = ( E 6.11.1)
yi
Y de la ecuación (6.19b) se puede despejar

yi +1 = 57 − 3xi yi 2 ( E 6.11.2)

Observe que dejaremos los subíndices en el resto del ejemplo


Con base en los valores iniciales, la ecuación (E6.11.1) se utiliza para determinar un
nuevo valor de x:
10 − (1.5)2
x= = 2.21429
3.5

Este resultado y el valor inicial de y=3.5 se sustituye en la ecuación (E6.11.2) para


determinar un nuevo valor de y:

y = 57 − 3(2.21429)(3.5)2 = −24.37516

Así parece que el método diverge. Este comportamiento es aún más pronunciado en la
segunda iteración:
10 − (2.21429) 2
x= = −0.20910
−24.37516
y = 57 − 3(−0.20910)( −24.37516) 2 = 429.709

En efecto la aproximación se está descomponiendo.


Ahora, repita el cálculo, pero con la ecuación original puesta en una forma diferente.
Por ejemplo, un despeje alternativo de la ecuación (6.19a) es

x = 10 − xy
Y de la ecuación (6.19b) es
57 − y
y=
3x
Ahora los resultados son más satisfactorios:

x = 10 − 1.5(3.5) = 2.17945
57 − 3.5
y= = 2.86051
3(2.17945)
x = 10 − 2.17945(2.86051) = 1.94053
57 − 2.86051
y= = 3.04955
3(1.94053)

Así la aproximación converge hacia la solución correcta x=2 y y=3.


Ahora los resultados son más satisfactorios:

x = 10 − 1.5(3.5) = 2.17945
57 − 3.5
y= = 2.86051
3(2.17945)
x = 10 − 2.17945(2.86051) = 1.94053
57 − 2.86051
y= = 3.04955
3(1.94053)

Así la aproximación converge hacia la solución correcta x=2 y y=3.

du du
+ 1
dx dy
y
dv dv
+ 1
dx dy

Estos criterios son tas restringidos que el método de punto fijo tiene una utilidad
limitada para resolver sistemas no lineales. Sim embargo, como se describirá más
adelante en el libro, será muy útil para resolver sistema de ecuaciones lineales.
6.6.2 Newton-Raphson
Recuerde que el método de Newton-Raphson se utilizó empleando la derivada (al
evaluar es la pendiente de la recta tangente) de una función, para calcular su
intersección con el eje de la variable independiente, esto es la raíz. dicho cálculo se
basó en la expansión de la serie de Taylor de primer orden.
f ( xi +1 ) = f ( xi ) + ( xi +1 − xi ) f ( xi ) (6.20)

Donde 𝑥𝑖 es el valor inicial de la raíz y 𝑥𝑖+1 es el valor en el cual la recta tangente


intersecta al eje x. en esta intersección 𝑓(𝑥𝑖+1 ) es por definición igual a cero y la
ecuación (6.20) se reordena para tener.

f ( xi )
xi +1 = xi − (6.21)
f ( xi )
Que es la forma del método de Newton-Raphson para una sola ecuación.
La forma para múltiples ecuaciones se obtiene en forma idéntica. Sin embargo, se
debe usar una serie de Taylor de múltiples variables para tomar en cuenta el hecho de
que más de una variable independiente contribuye a la determinación de la raíz. En el
caso de dos variables, una serie de Taylor de primer orden se escribe para cada
ecuación no lineal como:
dui du
ui +1 = ui + ( xi +1 − xi ) + ( yi +1 − yi ) i
dx dy (6.22a )
dv dv
vi +1 = vi + ( xi +1 − xi ) i + ( yi +1 − yi ) i
dx dy (6.22b)

De la misma manera como en la versión para una sola ecuación, la raíz aproximada
corresponde a los valores de x y y, donde 𝑢𝑖+1 𝑦 𝑣𝑖+1 son iguales a cero. En tal
situación se reordena la ecuación (6.22) como:

dui du du du
xi +1 + i yi +1 = −ui + xi i + yi i (6.23a )
dx dy dx dy
dvi dv dv dv
xi +1 + i yi +1 = −vi + xi i + yi i (6.23b)
dx dy dx dy

Debido a que se conocen todos los valores con subíndice i (corresponden al último
valor estimado ), las únicas incógnitas son 𝑥𝑖+1 𝑦 𝑦𝑖+1 entonces la ecuación (6.23) es
un conjunto de dos ecuaciones lineales con dos incógnitas. En consecuencia, se
pueden usar manipulaciones algebraicas (por ejemplo, la regla de cramer) para
resolverlo:
dvi du
ui − vi i
dy dy
xi +1 = xi −
dui dvi dui dvi
− (6.24a )
dx dy dy dx

dui dv
vi − ui i
yi +1 = yi − dx dx
dui dvi dui dvi

dx dy dy dx (6.24b)

El denominador de cada una de esas ecuaciones se conoce formal mente como el


determinante jacobiano del sistema.
La ecuación (6.24) es la versión para dos ecuaciones del método de Newton-Raphson.
Como en el siguiente ejemplo, se puede emplear en forma iterativa para determinar
las raíces de dos ecuaciones simultáneas.
EJEMPLO 6.12 Newton-Raphson para un sistema no lineal
Planteamiento del problema Con el método de Newton-Raphson para múltiples
ecuaciones determine las raíces de la ecuación (6 19).Observe que un par correcto de
raíces es x=2 y y=3. Use como valores iniciales x=1.5 y y=3.5.
Solución : Primero calcule las derivadas parciales y evalúelas con los valores Iniciales
de x y y.
𝜕𝑢0 𝜕𝑢0
= 2𝑥 + 𝑦 = 2(1.5) + 3.5 = 6.5 = 𝑥 = 1.5
𝜕𝑥 𝜕𝑦

𝜕𝑢0 𝜕𝑢0
= 3𝑦 2 = 3(3.5)2 = 36.75 = 1 + 6𝑥𝑦 = 1 + 6(1.5)(3.5) = 32.5
𝜕𝑥 𝜕𝑥

Asi,el determinante jacobiano para la primera iteración es:


6.5(32.5)-1.5(36.75)=156.125
Los valores de las funciones se evalúan con los valores iniciales como
𝑢0 = (1.5)2 + 1.5(3.5) − 10 = −2.5
𝑣0 = 3.5 + 3(1.5)(3.5)2 − 57 = 1.625
Estos valores se sustituyen en la ecuación (6.24):
−2.5(32.5) − 1.625(1.5)
𝑥 = 1.5 − = 2.03603
156.125
1.625(6.5) − (−2.5)(36.75)
𝑦 = 3.5 − = 2.84388
156.125
Asi los resultados están convergiendo a los valores verdaderos X=2 y y=[Link] cálculos
se repiten hasta que se obtenga una precisión aceptable.
"Como con el método de iteración de punto fijo, la aproximación de"
"Newton-Raphson puede diverger si los valores iniciales no están lo suficientemente
cercanos a la raíz verdad era. Mientras que para el caso de una sola ecuación los
métodos gráficos son útiles para obtener un buen valor inicial, ningún procedimiento
tan simple está disponible para el caso de múltiples ecuaciones. Aunque existen
algunos métodos avanzados para obtener una primera aproximación aceptable, los
valores iniciales a menudo deben obtenerse mediante prueba y error, con el
conocimiento del sistema físico que se está modelando."
El método de Newton-Raphson para dos ecuaciones puede generalizarse para resolver
n ecuaciones simultáneas. Debido a que el camino más eficiente para esto implica
el álgebra matricial y la solución de
ecuaciones lineales simultáneas.

3.4 Sistema de ecuaciones no lineales


Consiste en obtener las raíces de un conjunto de ecuaciones simultaneas no lineales.
𝑓1 (𝑋1 , 𝑋2 , … . . , 𝑋𝑛 ) = 0
𝑓2 (𝑋1 , 𝑋2 , … . . , 𝑋𝑛 ) = 0
⋮ ⋮
𝑓𝑛 (𝑋1 , 𝑋2 , … . . , 𝑋𝑛 ) = 0
La solución de este sistema de ecuaciones simultaneas,consiste de un conjunto de
valores de 𝑥𝑖 =x, 𝑦𝑖 =y se tiene

𝑥 2 + 𝑥𝑦 = 10

𝑦 + 3𝑥𝑦 2 = 57
Las que son dos ecuaciones simultaneas no lineales con dos incognitas,las que se
pueden expresar como:

𝑢(𝑥, 𝑦) = 𝑥 2 + 𝑥𝑦 − 10 = 0
𝑣(𝑥, 𝑦) = 𝑦 + 3𝑥𝑦 2 − 57 = 0
La mayoría de los métodos para determinar la solución de este sistema de ecuaciones
no lineales, son extensiones de los métodos abiertos para resolver ecuaciones simples
como:iteración de punto fijo,Newton Raphson y otros.
3.4.1 Iteracion simple de punto fijo
El método de iteración simple de punto fijo para resolver ecuaciones simples,puede
modificarse para resolver dos ecuaciones simultaneas no lineales.
𝑓(𝑥) = 0
𝑥 = 𝑔(𝑥)

𝑥𝑖+1 = 𝑔(𝑥𝑖 )

De modo similar ,el algoritmo de iteración simple de punto fijo para dos ecuaciones
simultaneas no lineales es:
𝑥𝑖+1 = 𝑔(𝑥𝑖 , 𝑦𝑖 )
𝑦𝑖+1 = ℎ(𝑥𝑖 , 𝑦𝑖 )

Ejemplo 3.14:
Desarrolle, depure y pruebe un subprograma en MATLAB que permita determinar las
raíces de las ecuaciones:
𝑢(𝑥, 𝑦) = 𝑥 2 + 𝑥𝑦 − 10 = 0
𝑣(𝑥, 𝑦) = 𝑦 + 3𝑥𝑦 2 − 57 = 0
Empleando el Método de Iteración de Punto Fijo y empleando como valor inicial o
semilla 𝑥𝑖 =1.5 y 𝑦𝑖 =3.5
SOLUCIÓN

Despejando x de la ecuación: u ( x, y) = x 2 + xy − 10 = 0

Y despejando y de la ecuación: v( x, y) = y + 3xy 2 − 57 = 0

Se tiene:

x = 10 − xy Con subíndices xi +1 = 10 − xi yi

57 − y 57 − yi
y= Con subíndices yi +1 =
3x 3xi

Utilizando alternadamente una y otra de las ecuaciones se obtiene la siguiente tabla de


resultados
iteración(i) x(i) y(i) x(i+1) y(i+1) Eax(%) Eay(%)
1 1.5 3.5 2.17944947 2.86050599 31.1752798 22.3559753
2 2.17944947 2.86050599 1.94053388 3.04955067 12.3118486 6.19909965
3 1.94053388 3.04955067 2.02045629 2.98340475 3.95566128 2.21712882
4 2.02045629 2.98340475 1.99302813 3.00570436 1.37620517 0.74190982
5 1.99302813 3.00570436 2.00238524 2.9980543 0.46729828 0.25516748
6 2.00238524 2.9980543 1.99918491 3.00066556 0.16008175 0.08702262
7 1.99918491 3.00066556 2.00027865 2.99977255 0.05467942 0.02976942
8 2.00027865 2.99977255 1.99990475 3.00007776 0.01869593 0.01017344
9 1.99990475 3.00007776 2.00003256 2.99997342 0.0063903 0.00347791
10 2.00003256 2.99997342 1.99998887 3.00000909 0.00218447 0.00118882
11 1.99998887 3.00000909 2.0000038 2.99999689 0.00074671 0.00040638
12 2.0000038 2.99999689 1.9999987 3.00000106 0.00025525 0.00013891
13 1.9999987 3.00000106 2.00000044 2.99999964 8.7253E-05 4.7485E-05

CÓDIGO EN MATLAB
clear all
clc
disp('CALCULAR LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO
LINEALES')
disp('POR EL METODO ABIERTO DE')
disp('ITERACION SIMPLE PUNTO FIJO')
n=input('Ingrese precision de cifras significativas n = ');
xo=input('Ingrese valor inicial xo = ');
yo=input('Ingrese valor inicial yo = ');
Es=(0.5*10^(2-n));
Eax=100;
Eay=100;
i=0;
%EL SISTEMA DE ECUACIONES ES
%U(x,y)=x^2+x*y-10=0
%V(x,y)=y+3x*y^2-57=0
while Eax>Es & Eay>Es
xi=sqrt(10-xo*yo); %xi+1=g(xi,yi)
yi=sqrt((57-yo)/(3*xi)); %yi+1=h(xi,yi)
Eax=abs((xi-xo)/xi)*100; %calcular el error relativo
aproximado para x
Eay=abs((yi-yo)/yi)*100; %calcular el error relativo
aproximado para y
xo=xi;
yo=yi;
i=i+1;
end
fprintf('La raiz "x" es: %12.15f\n',xi)
fprintf('La raiz "y" es: %12.15f\n',yi)
fprintf('Numero de iteraciones: %12.0f\n',i)
Corrida y prueba del programa ´´punto fijo´´
>>puntofijo2
CALCULAR LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO
LINEALES
POR EL METODO ABIERTO DE
ITERACION SIMPLE PUNTO FIJO
Ingrese precisión de cifras significativas n = 5
Ingrese valor inicial xo = 1.5
Ingrese valor inicial yo = 1.5
La raiz "x" es: 2.000002516109123
La raiz "y" es: 2.999997946009110
Numero de iteraciones: 13

3.4.2 Newton Raphson


El método de Newton Raphson para una sola ecuación, se baso en la Serie de Taylor de
primer orden.
𝑓(𝑥𝑖+1 ) ≅ 𝑓(𝑥𝑖 ) + 𝑓′(𝑥𝑖 )(𝑥𝑖+1 − 𝑥𝑖 )
Donde 𝑥𝑖 es el valor inicial de la raíz y 𝑥𝑖+1 es el valor en el cual la recta tangente
intersecta al eje x, la que por definición en la intersección hace 𝑓(𝑥𝑖+1 ) es igual a cero.
La ecuación anterior se reordena para obtener:
0 = 𝑓(𝑥𝑖 ) + 𝑓′(𝑥𝑖 )(𝑥𝑖+1 − 𝑥𝑖 )
𝑓(𝑥𝑖 )
𝑥𝑖+1 = 𝑥𝑖 −
𝑓′(𝑥𝑖 )
Que es la ecuación de Newton Raphson para una sola ecuación ya visto anteriormente.
La forma de algoritmo de Newton Raphson para múltiples ecuaciones se obtiene en
forma idéntica. Sin embargo, se debe usar una serie de Taylor de múltiples variables
para tomar en cuenta el hecho de que mas de una variable independiente contribuye a
la determinación de la raíz.
En el caso de dos variables, una serie de Taylor de primer orden se escribe para cada
ecuación no lineal como:
𝜕𝑢𝑖 𝜕𝑢𝑖
𝑢𝑖+1 = 𝑢𝑖 + (𝑥𝑖+1 − 𝑥𝑖 ) + (𝑦 − 𝑦𝑖 )
𝜕𝑥 𝜕𝑦 𝑖+1
𝜕𝑣𝑖 𝜕𝑣𝑖
𝑣𝑖+1 = 𝑣𝑖 + (𝑥𝑖+1 − 𝑥𝑖 ) + (𝑦 − 𝑦𝑖 )
𝜕𝑥 𝜕𝑦 𝑖+1
De la misma manera como en el caso de una sola ecuación, la raíz aproximada
correspondiente a los valores x y y, donde 𝑢𝑖+1 y 𝑣𝑖+1 son iguales a cero, en tal
sentido se reordena la ecuación anterior como:
𝜕𝑢𝑖 𝜕𝑢𝑖 𝜕𝑢𝑖 𝜕𝑢𝑖
𝑥𝑖+1 + 𝑦𝑖+1 = −𝑢𝑖 + 𝑥𝑖 + 𝑦𝑖
𝜕𝑥 𝜕𝑦 𝜕𝑥 𝜕𝑦
𝜕𝑣𝑖 𝜕𝑣𝑖 𝜕𝑣𝑖 𝜕𝑣𝑖
𝑥𝑖+1 + 𝑦𝑖+1 = −𝑣𝑖 + 𝑥𝑖 + 𝑦𝑖
𝜕𝑥 𝜕𝑦 𝜕𝑥 𝜕𝑦

Debido a que se conoce todos los valores con subíndice i (correspondiente al ultimo
valor estimado), las únicas incógnitas son 𝑥𝑖+1 y 𝑦𝑖+1 .Entonces, las dos ecuaciones
anteriores son dos ecuaciones lineales con dos incógnitas. En consecuencia se puede
usar manipulaciones algebraicas (por ejemplo la reglas de Cramer) para resolverlo.
Finalmente el algoritmo de Newton Raphson para dos ecuaciones no lineales
simultaneas es:
𝜕𝑣𝑖 𝜕𝑢 𝜕𝑣𝑖 𝜕𝑢
𝑢𝑖 ∗ − 𝑣𝑖 ∗ 𝑖 𝑢𝑖 ∗ − 𝑣𝑖 ∗ 𝑖
𝜕𝑦 𝜕𝑦 𝜕𝑦 𝜕𝑦
𝑥𝑖+1 = 𝑥𝑖 − 𝑦𝑖+1 = 𝑦𝑖 −
𝜕𝑢𝑖 𝜕𝑣𝑖 𝜕𝑢𝑖 𝜕𝑣𝑖 𝜕𝑢𝑖 𝜕𝑣𝑖 𝜕𝑢𝑖 𝜕𝑣𝑖
∗ − ∗ ∗ − ∗
𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑥 𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑥

Donde al denominador de cada una de estas ecuaciones, se conoce formalmente como


el determinante Jacobiano del sistema.

Ejemplo 3.15:
Desarrolle, depure y pruebe un subprograma en MATLAB que permita determinar las
raíces de las ecuaciones:

𝑢(𝑥, 𝑦) = 𝑥 2 + 𝑥𝑦 − 10 = 0
𝑣(𝑥, 𝑦) = 𝑦 + 3𝑥𝑦 2 − 57 = 0
Empleando el Método de Newton Raphson y empleando como valor inicial o semilla
𝑥𝑖 =1.5, 𝑦𝑖 =3.5
Ea
i xi yi ui vi ∂ui/∂x ∂ui/∂y ∂vi/∂x ∂vi/∂y Jacobiano xi+1 yi+1 x(%) Ea y(%)
1 1.0 4.0 -5.0 -5.0 6.0 1.0 48.0 25.0 102.0 2.17647 1.941176 54.054 106.0606
2 2.1765 1.9412 -1.0 -30.5 6.2941 2.17647 11.3 26.3495 141.2428 1.90083 3.215238 14.501 39.62573
3 1.9008 3.2152 -0.3 5.2 7.0169 1.90083 31.0 37.6698 205.3742 1.99913 2.997167 4.9169 7.275916

4 1.9991 2.9972 0.0 -0.1 6.9954 1.99913 26.9 36.9503 204.6084 2.000 3.000003 0.0436 0.094536
9.28E-
5 2.0000 3.0000 0.0000 05 7.0000 2.0000 27.0 37.000 205.0002 2.000 3.000 0.000 9.14E-05

Código en MATLAB
clear all
clc
disp('CALCULA LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO
LINEALES')
disp(' POR EL METODO ABIERTO DE')
disp(' NEWTON RAPHSON')
n=input('Ingrese precision de cifras significativas n= ');
xi=input('Ingrese valor inicial xi= ');
yi=input('Ingrese valor inicial yi= ');
Es=(0.5*10^(2-n));%tolerancia porcentual prefijada
Eax=100; %Error relativo porcentual aproximado
para x
Eay=100; %Error relativo porcentual aproximado
para y
i=0;
%EL SISTEMA DE ECUACIONES ES
%U(x,y)=x^2+x*y-10=0
%V(x,y)=y+3x*y^2-57=0
while Eax>Es & Eay>Es %Verifica si los errores Eax y Eay
cumplen con la Es
xa=xi;
ya=yi;
Ui=xi^2+xi*yi-10; %Fucion U(x,y) evaluada en xi,yi
Vi=yi+3*xi*yi^2-57; %Fucion V(x,y) evaluada en xi,yi
dUidx=2*xi*yi; %Derivada U(x,y) respecto de x,
evaluada en xi, yi
dUidy=2*xi; %Derivada U(x,y) respecto de y,
evaluada en xi, yi
dVidx=2*yi^2; %Derivada V(x,y) respecto de x,
evaluada en xi, yi
dVidy=1+6*xi*yi; %Derivada V(x,y) respecto de y,
evaluada en xi, yi
Jacobiano=dUidx*dVidy-dUidy*dVidx; %Determiante
Jacobiano del Sistema
xi=xi-(Ui*dVidy-Vi*dUidy)/Jacobiano; %Algoritmo de Newton
Raphson par xi
yi=yi-(Vi*dUidx-Ui*dVidx)/Jacobiano; %Algoritmo de Newton
Raphson par yi
Eax=abs((xi-xa)/xi)*100; %Calcula el error
relativo aproximado para x
Eay=abs((yi-ya)/yi)*100; %Calcula el error
relativo aproximado para y
i=i+1; %Cuenta el numero de
iteraciones efectuadas
endwhile
fprintf('La raiz ´´x´´ es:%12.15f\n',xi) %Imprime la
raiz x
fprintf('La raiz ´´y´´ es:%12.15f\n',yi) %Imprime la
raiz y
fprintf('Numero de iteraciones:%12.0f\n',i) %Imprime el
numero de iteraciones

Corrida y prueba del programa ’Newton Raphson’


>>newton2
CALCULA LA RAIZ DE UN SISTEMA DE DOS ECUACIONES NO LINEALES
POR EL METODO ABIERTO DE
NEWTON RAPHSON
Ingrese precisión de cifras significativas n= 5
Ingrese valor inicial xi= 1.5
Ingrese valor inicial yi= 3.5
La raíz ´´x´´ es:1.999997246765540
La raíz ´´y´´ es:3.000003176237203
Numero de iteraciones: 4
>>

También podría gustarte