BASADRE GROHMANN
2013
RESOLUCION DE SISTEMAS DE ECUACIONES NO LINEALES
METODO DE LA BISECCION
En el mtodo de la biseccin, si f(x) es real y continua en el intervalo [a,b] y f(a).f(b)<0,
entonces existe al menos una ra real entre a y b.
Este mtodo, conocido tambin como !corte binario!, es un mtodo de b"s#ueda incremental
donde el intervalo se divide siem$re en dos. %i la funcin cambia de si&no sobre un intervalo,
se eval"a la funcin en el $unto medio. 'a $osicin del de la ra se determina situ(ndola en el
$unto medio del sub)intervalo dentro del cual ocurre el cambio de si&no. El $roceso se re$ite
*asta tener una me+or a$roximacin.
Diagrama de flujo:
,-,.,/
f(x), a,b,E
f(a)0f(b)<0
lb ) al1E
2a$3(a 4 b) 5 6
f(a)0f(2a$)30
a 3 b
b 3 2a$
f(a)0f(2a$)<0
a 3 2a$
7-o Existe 8ai7
2a$
9,-
v
9
v
v
9
9
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 1
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
./:,;/ :E <8/;8=>=?
CODIGO EN EL BOTON ACEPTAR:
function $us*button@A.allbacB(*/b+ect, eventdata, *andles)
f3inline(&et(*andles.edit@,7strin&7))C
a3str6double(&et(*andles.edit6,7strin&7))C
b3str6double(&et(*andles.editD,7strin&7))C
E3str6double(&et(*andles.editE,7strin&7))C
if f(a)0f(b)<0
F*ile abs(b)a)1E
x3(a4b)56C
if f(a)0f(x)330
a3bC
else
if f(a)0f(x)<0
b3xC
else
a3xC
end
end
end
else
set(*andles.editG,7strin&7,7-o existe 8ai7)
end
set(*andles.editG,7strin&7,x)
CODIGO EN EL BOTON GRAFICAR:
function $us*button6A.allbacB(*/b+ect, eventdata, *andles)
fi&ure(@)
f3inline(&et(*andles.edit@,7strin&7))C
e$lot(f)C&rid on
CODIGO EN EL BOTON SALIR:
function $us*buttonDA.allbacB(*/b+ect, eventdata, *andles)
close(biseccion)
HE-I=-= :E :,%EJ/ y =<',.=.,K-?
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 2
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
2 METODO DE PUNTO FIJO
INTERFAS
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 3
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
CACULO NUMERICO CODIGOS DE PROGRAMA
function pushbutton1_Callback(hObject, eventdata, handles)
f=inline(get(handles.edit1,'string'))
g=inline(get(handles.edit!,'string'))
"#=str!double(get(handles.edit$,'string'))
%=str!double(get(handles.edit&,'string'))
"1=g("#)
'hile abs("1("#))%
"#="1
"1=g("#)
end
set(handles.edit*,'string',"1)
+,-, .-,/0C,-
function pushbutton!_Callback(hObject, eventdata, handles)
g=inline(get(handles.edit!,'string'))
e1plot(g),grid on
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 4
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 5
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
METODO DE NEWTON-RAPSON PARA RESOL!ER LA ECUACION f"#$%&
El metodo de -eFton resuelve la ecuacin f(x)30, ba+o determinadas condiciones exi&idas a f,
mediante la iteracin xB4@3 (xB)f(xB))5(fL(xB)) $ara un valor inicial dado x0 lo suficientemente
$rximo a una solucin.
El dia&rama de flu+o es?
:,=;8=>=?
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 6
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
,-,.,/
9,-
f(x), f7(x) , 20 ,E
2@ 3 20 ) f(20)5f7(20)
20 3 2@
l2@ ) 20l1E
2@ 3 20 ) f(20)5f7(20)
2@
CODI'O DE PRO'RAMA:
CODIGO EN EL BOTON ACEPTAR:
9unction $us*buttonDA.allbacB (*/b+ect, eventdata, *andles)
f3inline (&et (*andles.edit@,7strin&7))C
df3inline(&et(*andles.edit6,7strin&7))C
203str6double(&et(*andles.editD,7strin&7))C
E3str6double(&et(*andles.editE,7strin&7))C
2@320)f(20)5(df(20))C
F*ile abs(2@)20)1E
2032@C
2@320)f(20)5(df(20))C
end
set(*andles.editG,7strin&7,2@)C
function $us*button@A.allbacB(*/b+ect, eventdata, *andles)
CODIGO EN EL BOTON GRAFICAR:
fi&ure(@)
f3inline(&et(*andles.edit@,7strin&7))C
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 7
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
e$lot(f)C&rid on
%,- ,-;8E%=8 '= :E8,H=:=? f L(x) 3
:,=;8=>= :E 9'MN/?
,-,.,/
9,-
20 3 2@
l2@ ) 20l1E
2@320)f(20)5(df)
2@
*30.0000@C
df3(f(204*))f(20))5*C
f(x), 20 ,E
2@320)f(20)5dfC
*30.0000@
./:,;/ :E <8/;8=>=?
CODIGO EN EL BOTON ACEPTAR:
function $us*button@A.allbacB(*/b+ect, eventdata, *andles)
f3inline(&et(*andles.edit@,7strin&7))C
203str6double(&et(*andles.editD,7strin&7))C
E3str6double(&et(*andles.editE,7strin&7))C
*30.0000@C
df3(f(204*))f(20))5*C
2@320)f(20)5dfC
F*ile abs(2@)20)1E
2032@C
*30.0000@C
2@320)f(20)5(df)C
end
set(*andles.editG,7strin&7,2@)C
CODIGO EN EL BOTON GRAFICAR:
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 8
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
function $us*button6A.allbacB(*/b+ect, eventdata, *andles)
fi&ure(@)
f3inline(&et(*andles.edit@,7strin&7))C
e$lot(f)C&rid on
HE-I=-= :E :,%EJ/ y =<',.=.,/-?
METODO DE LA SECANTE
'a funcin f(x) es continua en [a , b].
:ados los dos valores iniciales
1 #
, x x
%e traa la recta secante #ue $asa $or
) ( ), (
1 #
x f x f , #ue corta al e+e x en
!
x . Este
$unto es una a$roximacin a la ra exacta.
<ara obtener
!
x , se utilia la seme+ana de
tri(n&ulos?
! 1
1
1 #
1 #
) ( ) ( ) (
x x
x f
x x
x f x f
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 9
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
) ( ) (
) ( 2 ) (
# 1
1 # 1
1 !
x f x f
x f x x
x x
E( ge(eral:
) ( ) (
) ( 2 ) (
1
1
1
i i
i i i
i i
x f x f
x f x x
x x
=*ora los valores iniciales son
! 1
.. ... x y x .
Este $roceso se re$etir( *asta #ue un
1 + i
x satisfa&a #ue
E x x
i i
<
+1
, donde E es una
tolerancia $refi+ada.
DIA'RAMA DE )LU*O:
,-,.,/
9,-
f(x), 2@, 20 ,E
l2@ ) 20l1E
26
26 3 2@ ) (f(2@)0(2@ ) 20)) 5 (f(2@) ) f(20))
20 3 2@
2@ 3 26
!ENTANA DE DISE+O , APLICACION:
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 10
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
CODI'O DE PRO'RAMA:
CODIGO EN EL BOTON ACEPTAR:
function $us*button@A.allbacB(*/b+ect, eventdata, *andles)
f3inline(&et(*andles.edit@,7strin&7))C
203str6double(&et(*andles.edit6,7strin&7))C
2@3str6double(&et(*andles.editD,7strin&7))C
E3str6double(&et(*andles.editE,7strin&7))C
F*ile abs(2@)20)1E
2632@)((2@)20)0f(2@))5(f(2@))f(20))
2032@
2@326
end
set(*andles.editG,7strin&7,26)C
CODIGO EN EL BOTON GRAFICAR:
function $us*button6A.allbacB(*/b+ect, eventdata, *andles)
fi&ure(@)
f3inline(&et(*andles.edit@,7strin&7))C
e$lot(f)C&rid on
CODIGO EN EL BOTON SALIR:
function $us*buttonDA.allbacB(*/b+ect, eventdata, *andles)
close(secante
M-TODO DE BAIRSTOW
8esuelve todos los $roblemas de este ti$o? <(2)3a04a@x4a6x
6
4aDx
D
O.anx
n
En $rimer lu&ar debemos calcular los? b
1
,b
!
, b
$
,b
&
33bn
<ara ello debemos tener en cuenta lo si&uiente?
bB3aB)$bB4@)#bB46 B3n,n)@,n)6,n)DOO.0
adem(s bn4@30 C bn4630
a $artir de b
1
b
!
, b
$
,b
&
33bn debe4os calcular los valores de c
1
,c
!
,c
$
,c
&
3.c
n
con los valores de Pc! debemos formar el sistema de ecuaciones
c
1
c
$
b
o
5p
c
!
c
&
b
1
3 56
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 11
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
5p3$@)$ $@35p4$
563#@)# #@3564#
%ntonces se for4a "
!
7p
1
"76
1
Codificacin en matlab
n=str2double(get(handles.edit1,'string'));
a=str2num(get(handles.edit2,'string'));
p=str2double(get(handles.edit3,'string'));
q=str2double(get(handles.edit4,'string'));
E=str2double(get(handles.edit5,'string'));
dp=1;
dq=1;
b(n!2)=;
b(n!3)=;
"(n!2)=;
"(n!3)=;
#hile abs(dp)!abs(dq)$E
%or &=n!1'(1'1
b(&)=a(&)(p)b(&!1)(q)b(&!2);
"(&)=b(&)(p)"(&!1)(q)"(&!2);
end
*det=("(1))"(3))(("(2))"(2));
*dp=((b())"(3))((b(1))"(2)))+det;
*dq=(("(1))b(1))((b())"(2)))+det;
*p=p!dp;
*q=q!dq;
*,1=((p!sqrt(p-2(4)q))+2;
*,2=((p(sqrt(p-2(4)q))+2;
det=("(2))"(4))(("(3))"(3));
dp=((b(1))"(4))((b(2))"(3)))+det
dq=(("(2))b(2))((b(1))"(3)))+det
p=p!dp
q=q!dq
,1=((p!sqrt(p-2(4)q))+2
,2=((p(sqrt(p-2(4)q))+2
end
set(handles.edit.,'string',p);
set(handles.edit/,'string',q);
set(handles.edit0,'string',num2str(,1));
set(handles.edit1,'string',num2str(,2));
!ENTANA DE DISE+O , APLICACION:
METODO DE INTERPOLACION DE LA'RAN'E:
%i
n
x x x x ,..., , ,
$ ! 1
son (n4@) $untos distintos y f es una funcin cuyos valores est(n dados
en estos $untos, entonces existe un $olinomio < de &rado a lo mas Pn! con la $ro$iedad de #ue
f(2B)3$(2B) $ara cada B3@,6,D,E,G,Q,R,S,...,n
Este $olinomio esta dado $or
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 12
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
<(2)3
n
k
k n k
x L x f
#
,
)) ( 2 (
:onde
n
i i k
i
k n
x x
x x
x L
##
,
) (
'o #ue e#uivale al $roducto #ue se muestra a continuacin?
) ( )..., )( )( )( )( )( (
) )...( )( )( )( )( )( (
) (
* & $ ! 1 #
* & $ ! 1 #
,
i k k k k k k k
i
k n
x x x x x x x x x x x x x x
x x x x x x x x x x x x x x
x L
1
]
1
1
1
1
1
]
1
n
i
i
i
n
i
i
n
i
i
n
i
n
i
i i
y
y x
b
a
n x
x x
1
1
1
1 1
!
2
n
i
i
n
i
n
i
i i
n
i
i
n
i
i i
n
i
i
n x
x x
n y
x y x
a
1
1 1
!
1
1 1
n
i
i
n
i
n
i
i i
n
i
i
n
i
i
i
n
i
i
n
i
i
n x
x x
y x
y x x
b
1
1 1
!
1 1
1 1
!
:onde a y b se *allan con la solucin de la si&uiente matri?
:,=;8=>= :E 9'MN/
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 15
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 16
080C0O
9%%-
4 , "
i
, :
i
,
11
= #
,
1!
= #
,
!!
= 4
;
1
= #
;
!
= #
i=1 , 4 , 1
,
11
= ,
11
7 "
i
!
,
1!
= ,
1!
7"
i
,
!1
= ,
1!
;
1
= ;
1
7"
i
:
i
;
!
= ;
!
7:
i
a =
a =
%<C-0;0-
a , b
/08
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
MI,',T=-:/ M- ,-IE89=.E ;8=9,./?
./:,;/ :E <8/;8=>=?
CODIGO EN EL BOTON ACEPTAR:
% --------------------------------------------------------------------
function varar&out 3 $us*button@A.allbacB(*, eventdata, *andles, varar&in)
n3str6double(&et (*andles.edit@,7strin&7))C
x3str6num(&et(*andles.edit6,7strin&7))C
y3str6num(&et(*andles.editD,7strin&7))C
=@@30C
=@630C
=663n
W@30C
W630C
for i3@?nC@
for +30,@,@
=@@3=@@4(x(i)0x(i))
=@63=@64(x(i))
=6@3=@6
=663n
W@3W@4(x(i))0(y(i))
W63W64(y(i))
end
end
a3(W@0=66)W60=@6)5(=@@0=66)=@60=6@)
b3(=@@0W6)=6@0W@)5(=@@0=66)=@60=6@)
set(*andles.editE,7strin&7,a)C
set(*andles.editG,7strin&7,b)C
% --------------------------------------------------------------------
CODIGO EN EL BOTON GRAFICAR:
% --------------------------------------------------------------------
function varar&out 3 $us*buttonDA.allbacB(*, eventdata, *andles, varar&in)
n3str6double(&et (*andles.edit@,7strin&7))C
x3str6num(&et(*andles.edit6,7strin&7))C
y3str6num(&et(*andles.editD,7strin&7))C
[nu,m6]3sie(x)
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 17
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
[nv,m6]3sie(y)
=@@30C
=@630C
=663n
W@30C
W630C
for i3@?nC
for +30,@,@
=@@3=@@4(x(i)0x(i))
=@63=@64(x(i))
=6@3=@6
=663n
W@3W@4(x(i))0(y(i))
W63W64(y(i))
end
end
a3(W@0=66)W60=@6)5(=@@0=66)=@60=6@)
b3(=@@0W6)=6@0W@)5(=@@0=66)=@60=6@)
set(*andles.editE,7strin&7,a)C
set(*andles.editG,7strin&7,b)C
X3a0x4b
$lot(X),&ris
% ---------------------
-----------------------------------------------
CODIGO EN EL BOTON NUEVO:
% --------------------------------------------------------------------
function varar&out 3 $us*buttonEA.allbacB(*, eventdata, *andles, varar&in)
set(*andles.edit@,7strin&7,77)C
set(*andles.edit6,7strin&7,77)C
set(*andles.editD,7strin&7,77)C
set(*andles.editE,7strin&7,77)C
set(*andles.editG,7strin&7,77)C
CODIGO EN EL BOTON SALIR:
% --------------------------------------------------------------------
function varar&out 3 $us*button6A.allbacB(*, eventdata, *andles, varar&in)
close(>inimos.uadrados)C
REGRESIN POLINOMIAL :
@0.@ )IE/8,=?%u$on&amos #ue se conocen los datos (xo, yo),(x@, y@),O..(xn, yn) con x0, x@, O..,
xn n"meros reales di01i(1o0, y se desea encontrar un $olinomio
<m(x) 3 a0 4 a@x 4 a6x
6
4 O.. 4 am x
m
, con m<n
tal #ue?
( ) ( ) ( )
!
n
# k
k
4
k 4
!
k ! k 1 #
!
n
# k
k k 4 4 1 #
: " a ,....., " a " a a : " p ) a ,....., a , <(a
+ + +
%ea mnima.
<@) El &rado m del $olinomio $m(x) se $uede esco&er $reviamente con base en al&"n resultado
terico, al&una ex$ectativa o $or la a$licacin #ue se le $retenda dar al $olinomio. En cual#uier
caso estamos Plibres! de ele&ir el &rado #ue $areca me+or. En muc*os casos el &rado ser(
uno y el $olinomio obtenido se llamar( la re21a 3ue mejor 0e aju01a o la re21a de m4(imo0
2uadrado0 $ara la tabla de datos.
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 18
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
<6) Holviendo a la funcin %(a0, a@, O.., am), una condicin necesaria $ara la existencia de un
mnimo relativo de esta funcin es #ue las derivadas $arciales de %(a0, a@, O.., am) con
res$ecto a a+, + 3 0, @, 6, O,m sean cero.
8esultan entonces las si&uientes m4@ ecuaciones lineales en las inc&nitas a0, a@, O.., am ?
( )
( )( )
( )( )
( )( )
( )( ) # " : " a ..... " a " a a !
a
<
.. ..........
# " : " a ..... " a " a a !
a
<
..........
# " : " a ..... " a " a a !
a
<
# " : " a ..... " a " a a !
a
<
# : " a ..... " a " a a !
a
<
4
k k
4
k 4
!
k ! k 1 #
n
# k 4
j
k k
4
k 4
!
k ! k 1 #
n
# k j
!
k k
4
k 4
!
k ! k 1 #
n
# k !
k k
4
k 4
!
k ! k 1 #
n
# k 1
k
4
k 4
!
k ! k 1 #
n
# k #
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
, obtenemos?
( )
'
,
_
,
_
+ +
,
_
+
,
_
+
,
_
,
_
,
_
+ +
,
_
+
,
_
+
,
_
,
_
,
_
+ +
,
_
+
,
_
+
,
_
,
_
,
_
+ +
,
_
+
,
_
+
,
_
,
_
,
_
+ +
,
_
+
,
_
+ +
+
+
+
n
# k
k
4
k 4
n
# k
4 4
k !
n
# k
4 !
k 1
n
# k
4 1
k #
n
# k
4
k
n
# k
k
j
k 4
n
# k
j 4
k !
n
# k
j !
k 1
n
# k
j 1
k #
n
# k
j
k
n
# k
k
!
k 4
n
# k
! 4
k !
n
# k
&
k 1
n
# k
$
k #
n
# k
!
k
n
# k
k k 4
n
# k
1 4
k !
n
# k
$
k 1
n
# k
!
k #
n
# k
k
n
# k
k 4
n
# k
4
k !
n
# k
!
k 1
n
# k
k #
: " a " ..... a " a " a "
===
: " a " ..... a " a " a "
... ...
.
.
: " a " ..... a " a " a "
: " a " ..... a " a " a "
: a " ..... a " a " a 1 n
<E) Este es un %E' de m4@ ecuaciones lineales en las m4@ inc&nitas a0, a@, O.., am, #ue se
llama Si01ema de E2ua2io(e0 Normale0. Este sistema de ecuaciones normales se $uede
escribir en forma sim$lificada como si&ue?
4 #,1,....,. j con : " " a
n
# k
k
j
k
n
# k
j i
k
4
# i
i
+
:,=;8=>= :E 9'MN/?
INICIO
'EE8
m , x , y
=@@3=@@4((x(i))Y6)
=@63=@64x(i)
=6@3=@6
W@3W@4(x(i)0y(i))
W63W64y(i)
=@@30
=@630
=663m
W@30
W630
i%56m65
a3((W@0=66))(W60=@6))5((=@@0=66))(=@60=6@))C
b3((W60=@@))(W@0=6@))5((=@@0=66))(=@60=6@))C
escribir
a 7 8
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 20
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
HE-I=-= :E :,%EJ/ y =<',.=.,/-?
./:,;/ :E <8/;8=>=?
CODIGO EN EL BOTON ACEPTAR:
function $us*button@A.allbacB(*/b+ect, eventdata, *andles)
m3str6double(&et(*andles.edit@,7strin&7))C
x3str6num(&et(*andles.edit6,7strin&7))C
y3str6num(&et(*andles.editD,7strin&7))C
=@@30C
=@630C
=663mC
W@30C
W630C
for i3@?m
=@@3=@@4((x(i))Y6)C
=@63=@64x(i)C
=6@3=@6C
W@3W@4(x(i)0y(i))C
W63W64y(i)C
end
a3((W@0=66))(W60=@6))5((=@@0=66))(=@60=6@))C
b3((W60=@@))(W@0=6@))5((=@@0=66))(=@60=6@))C
ard3s$rintf(7y 3 UQ.Efx 4 UQ.Ef7,a,b)C
set(*andles.editE,7strin&7,ard)C
CODIGO EN EL BOTON GRAFICAR:
function $us*button6A.allbacB(*/b+ect, eventdata, *andles)
fi&ure(@)C
xx3min(x))@?0.6?max(x)4@C
yy3a0xx4bC
e$lot(x,y,7or7,xx,yy),&rid on
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 21
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
METODO DE 'AUSS-*ORDAN
El metodo ;auss)+ordan es una variacin de la eliminacin de ;auss. 'a $rinci$al diferencia
consiste en #ue cuando una inco&nita se elimina en el metodo de ;auss)Nordan, esta es
eliminada de todas las otras ecuaciones, no slo de las subsecuentes. =demas, todos los
ren&lones se normalian al dividirlos entre su elemento $ivote. :e esta forma, el $aso de
eliminacin &enera una matri identidad en ve de una trian&ular. En consecuencia, no es
necesario usar la sustitucin *acia atr(s $ara obtener la solucin
:ado el sistema de ecuaciones lineales?
n n nn n n n
n n
n n
n n
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a
+ + + +
+ + + +
+ + + +
+ + + +
... .......... ..........
.... .......... .......... .......... ..........
... .......... ..........
... .......... ..........
... .......... ..........
$ $ ! ! 1 1
$ $ $ $$ ! $! 1 $1
! ! $ !$ ! !! 1 !1
1 1 $ 1$ ! 1! 1 11
Zue en forma matricial se $uede escribir como?
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 22
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
1
1
1
1
1
1
]
1
1
1
1
1
1
1
]
1
1
1
1
1
1
1
]
1
n n nn n n n
n
n
n
b
b
b
b
x
x
x
x
a a a a
a a a a
a a a a
a a a a
.... ....
.. .......... ..........
.... .......... .......... .......... ..........
... .......... ..........
... .......... ..........
... .......... ..........
$
!
1
$
!
1
$ ! 1
$ $$ $! $1
! !$ !! !1
1 1$ 1! 11
/ tambin =x4W, donde = es la matri de coeficientes, x es el vector de la inc&nita y W es el
vector de los termino inde$endientes.
<rocedimiento
@. .rear la matri formada $or la matri de coeficientes y el vector de terminos
inde$endientes.
6. mediante tranformadas elementales la matri de coeficientes debe convertirse en la
matri identidad, y los valores #ue esten en la $osicin del vector de terminos
inde$endientes ser( el vector solucion.
D. entonces las raices del sistema son?
n n
r x r x r x ....... ..........
! ! 1 1
Este $roceso re#uiere de
! !
!
$
n
n
n
+ multi$licaciones y
! !
$
n n
sumas.
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 23
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
:,=;8=>= :E 9'MN/
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 24
/ >
080C0O
9%%-
n , a
ij
i = 1 , n , 1
/08
divisor a
ii
j = i , n71 , 1
a
ij
= a
ij
? divisor
k = 1 , n , 1
i @ j
pivote = a
ki
j = i , n71 ,
1
a
kj
= a
kj
A pivote 2 a
ij
O
%<C-0;0-
a
i
, n
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
C.digo 9ara C:l2ulo de ra42e0 a9ro#imada0
function varar&out 3 $us*button@A.allbacB(*, eventdata, *andles, varar&in)
n3str6double(&et(*andles.edit@,7strin&7))
a3str6num(&et(*andles.edit6,7strin&7))
for i3@?n
divisor3a(i,i)
for +3i?n4@
a(i,+)3a(i,+)5divisor
end
for B3@?n
if iV3B
$ivote3a(B,i)
for +3i?n4@
a(B,+)3a(B,+))$ivote0a(i,+)
end
end
end
end
for i3@?n
for +3@?n4@
end
c(i)3a(i,n4@)
end
set(*andles.editD,7strin&7,c)
Codigo 9ara 2errar el i(1erfa2e:
close(metodo&auss+ordan)
ENE><'/ :E' ,-IE89=.E?
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 25
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
METODO DE 'AUSS-SEIDEL
'os mtodos iterativos constituyen una alternativa a los mtodos de eliminacin descritos
a*ora, $ara a$roximar la solucin. Iales mtodos son similares a las tcnicas #ue se
desarrollaron $ara obtener las races de una sola ecuacin. =un#ue mtodos consistan en
su$oner un valor y lue&o usar un mtodo sistem(tico $ara obtener una a$roximacin me+orada
de la ra. El mtodo de &auss seidel es el mtodo iterativo m(s com"nmente usado. %u$on&o
#ue se da un sistema de n ecuaciones?
[ ]{ } { } B X
%u$on&a #ue se limita a un con+unto de ecuaciones de DxD. %i los elementos de la dia&onal no
son todos cero, la $rimera ecuacin se $uede resolver $ara x@, la se&unda $ara x6, y la tercera
$ara xD, $ara obtener
11
$ 1$ ! 1! 1
1
a
x a x a b
x
([)
!!
$ !$ 1 !1 !
!
a
x a x a b
x
([[)
$$
! $! 1 $1 $
$
a
x a x a b
x
([[[)
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 26
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
=*ora si em$eamos el $roceso de solucin al esco&er valores iniciales $ara las x. Mna forma
sim$le $ara obtener los valores iniciales es su$oner #ue todos son cero. Estos ceros se
sustituyen en la ecuacin ([) la cual se utilia $ara calcular un nuevo valor x@3 b@5a@@. :es$us,
se sustituye este nuevo valor de x@ +unto con el valor $revio cero de xD en la ecuacin ([[) y se
calcula el nuevo valor de x6. Este $roceso se re$ite con la ecuacin ([[[) $ara calcular un
nuevo valor de xD. :es$us se re&resa a la $rimera ecuacin y se re$ite todo el $rocedimiento
*asta #ue la solucin conver+a suficientemente cerca de los valores verdaderos. 'a
conver&encia %E HE8,9,.= M%=-:/ E' .8,IE8,/.
s
j
i
j
i
j
i
ai
E
x
x x
E <
B 1##
1
:,=;8=>= :E 9'MN/
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 27
/ >
9%%-
n , 4a" ite , a
ij
, b
i
, >
i
080C0O
/08
k = 1 , 4a" ite ,
1
i = 1 , n , 1
"
i
= v
i
i = 1 , n , 1
< = #
j = 1 , n , 1
i @ j
< = < 7 a
ij
2 "
j
>
i
= (b
i
A <) ? 1###
"
i
= >
i
%<C-0;0-
>
i
, i = 1, !, $3
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
Codigo 9ara Cal2ulo de rai2e0 a9ro#imada0
function varar&out 3 $us*button@A.allbacB(*, eventdata, *andles, varar&in)
,IE83str6double(&et(*andles.editD,7strin&7))C
n3str6double(&et(*andles.edit@,7strin&7))C
v3str6num(&et(*andles.edit6,7strin&7))C
a3str6num(&et(*andles.editE,7strin&7))C
b3str6num(&et(*andles.editG,7strin&7))C
cad@377C
for B3@?,IE8
for i3@?n
x(i)3v(i)C
end
for i3@?n
s30C
for +3@?n
if +V3i
s3s4a(i,+)0x(+)C
end
end
v(i)3(b(i))s)5a(i,i)C
x(i)3v(i)C
end
for B3@?n
cad63s$rintf(7xUd3U@0.Sf7,B,x(B))C
cad@3[cad@,cad6]C
end
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 28
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
cad63s$rintf(7\n7)C
cad@3[cad@,cad6]C
end
set(*andles.editQ,7strin&7,cad@)
Codigo 9ara 2errar el i(1erfa2e:
close(metodo&aussseidel)
ENE><'/ :E' ,-IE89=.E?
REGLA DEL TRAPECIO:
IE/8,=?
%i em$leamos $olinomios de &rado n3@ y tomamos como nudos x03a y x@3b, tenemos el caso
m(s sencillo $osible, en donde los $olinomios de inter$olacin son?
3
3
$or lo #ue?
'a frmula de cuadratura corres$ondiente es?
Esta ex$resin se conoce como regla del 1ra9e2io y $ro$orciona un resultado exacto $ara
todas las funciones de &rado menor o i&ual a @.
:,=;8=>= :E 9'MN/?
RE'LA DEL TRAPECIO
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 29
080C0O
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
HE-I=-= :E :,%EJ/ y =<',.=.,/-?
./:,;/ :E <8/;8=>=?
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 30
9eer
f("), a, b, n
h=(b(a)
n
s = f(a) A f(b)
i = 1, n(1, 1
Ci = a 7 i2h
s = s 7 !2f("i)
,-%, = <2h?!
%scrbir
,-%,
/08
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
CODIGO EN EL BOTON ACEPTAR:
function varar&out 3 $us*button@A.allbacB(*, eventdata, *andles, varar&in)
f3inline(&et(*andles.edit@,7strin&7))C
a3str6double(&et(*andles.edit6,7strin&7))C
b3str6double(&et(*andles.editD,7strin&7))C
n3str6double(&et(*andles.editE,7strin&7))C
*3(b)a)5nC
s3f(a)4f(b)C
for i36?n
x(i)3a4((i)@)0*)C
s3s460(f(x(i)))C
end
=8E=3s0(*56)C
set(*andles.editG,7strin&7,=8E=)C
CODIGO EN EL BOTON GRAFICAR:
function varar&out 3 $us*button6A.allbacB(*, eventdata, *andles, varar&in)
f3inline(&et(*andles.edit@,7strin&7))C
e$lot(f)C&rid on
CODIGO EN EL BOTON SALIR:
function varar&out 3 $us*buttonDA.allbacB(*, eventdata, *andles, varar&in)
close(tra$ecio)
REGLA DE SIMPSON DE1/3:
IE/8,=?
Em$leando un raonamiento similar al anterior y tomando un $olinomio de &rado n36 $ara
inter$olar a f, obtenemos la conocida regla de Sim90o(?
(@E)
#ue es exacta $ara todos los $olinomios de &rado 6 y curiosamente, exacta $ara todos los
$olinomios de &rado D.
En los c(lculos $r(cticos se em$lea, &eneralmente, la regla de Sim90o( 2om9ue01a, en la
#ue el intervalo de inte&racin [a,b] se divide en un n"mero $ar, n, de subintervalos. Ienemos
entonces?
en donde
h 3 (b)a)5n
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 31
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
=$licando la re&la de %im$son (@E) en cada uno de los subintervalos se obtiene la ex$resin
final?
(@G)
:,=;8=>= :E 9'MN/?
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 32
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 33
SIMPSON 1/
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 34
,-,.,/
'EE8
9(x),a,b,n
i30,n,@
%3%49(xi)6)4E9(xi)@)49(xi)
,3%0*5D
E%.8,W,8
,
9,-
n $ar
*3b)a
n
xi3a4*
%30
i36,n,@
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
HE-I=-= :E :,%EJ/ y =<',.=.,/-?
./:,;/ :E <8/;8=>=?
CODIGO EN EL BOTON ACEPTAR:
function varar&out 3 $us*button@A.allbacB(*, eventdata, *andles, varar&in)
f3inline(&et(*andles.edit@,7strin&7))C
a3str6double(&et(*andles.edit6,7strin&7))C
b3str6double(&et(*andles.editD,7strin&7))C
n3str6double(&et(*andles.editE,7strin&7))C
*3(b)a)5nC
for i3@?n4@
x(i)3a4(i)@)0*C
end
if rem(n,6)330
s30C
for +36?n
s3s4f(x(i)6))4E0f(x(i)@))4f(x(i))C
end
,3s0*5D C
set(*andles.editG,7strin&7,,)
else
end
CODIGO EN EL BOTON GRAFICAR:
function varar&out 3 $us*button6A.allbacB(*, eventdata, *andles, varar&in)
f3inline(&et(*andles.edit@,7strin&7))C
a3str6double(&et(*andles.edit6,7strin&7))C
b3str6double(&et(*andles.editD,7strin&7))C
e$lot(f,a,b)C &rid on
CODIGO EN EL BOTON SALIR:
function varar&out 3 $us*buttonDA.allbacB(*, eventdata, *andles, varar&in)
close(sin$son@D)
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 35
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
REGLA DE SIMPSON DE 3/8:
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 36
,-,.,/
'EE8
9(x),a,b,n
%3%4D5S0*0[ 9(xi)D)4D9(xi)6)4D9(xi)@)49(xi)]
E%.8,W,8
%
9,-
n3D
*3b)a
n
%30
i3D,n,D
E%.8,W,8
Pn debe ser
m"lti$lo de
tres!
SIMPSON /!
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
HE-I=-= :E :,%EJ/ y =<',.=.,/-?
./:,;/ :E <8/;8=>=?
./:,;/ E- E' W/I/- =.E<I=8?
function varar&out 3 $us*buttonDA.allbacB(*, eventdata, *andles, varar&in)
f3inline(&et(*andles.edit@,7strin&7))C
a3str6double(&et(*andles.edit6,7strin&7))C
b3str6double(&et(*andles.editD,7strin&7))C
n3str6double(&et(*andles.editE,7strin&7))C
if rem(n,D)330
*3(b)a)5n
for i3@?@?n4@
x(i)3a4(i)@)0*
end
s30
for +3@?D?n)@
s3s4f(x(+))4D0f(x(+4@))4D0f(x(+46))4f(x(+4D))
end
=3D0s0*5S
set(*andles.editG,7strin&7,=)
else
set(*andles.editG,7strin&7,7n debe ser multi$lo de D7)
end
CODIGO EN EL BOTON GRAFICAR:
function varar&out 3 $us*button@A.allbacB(*, eventdata, *andles, varar&in)
f3inline(&et(*andles.edit@,7strin&7))C
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 37
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
a3str6double(&et(*andles.edit6,7strin&7))C
b=st!"#$b%&'(&t'han"%&s)&"*t+,-st*n(-)).
&/0%#t'f,a,b), (*" #n
CODIGO EN EL BOTON SALIR:
function varar&out 3 $us*button6A.allbacB(*, eventdata, *andles, varar&in)
close(sim$son)
METODO DE EULER:
IE/8,=?
'as ecuaciones diferenciales a$arecen naturalmente al modelar situaciones fsicas en las
ciencias naturales, in&eniera, y otras disci$linas, donde *ay envueltas raones de cambio de
una varias funciones desconocidas con res$ecto a una varias variables inde$endientes.
Estos modelos varan entre los m(s sencillos #ue envuelven una sola ecuacin diferencial $ara
una funcin desconocida, *asta otros m(s com$le+os #ue envuelven sistemas de ecuaciones
diferenciales aco$ladas $ara varias funciones desconocidas. <or e+em$lo, la ley de
enfriamiento de -eFton y las leyes mec(nicas #ue ri&en el movimiento de los cuer$os, al
$onerse en terminos matem(ticos dan lu&ar a ecuaciones diferenciales. Msualmente estas
ecuaciones estan acom$a]adas de una condicin adicional #ue es$ecifica el estado del
sistema en un tiem$o o $osicin inicial. Esto se conoce como la 1#n"*1*2n *n*1*a% y +unto con la
ecuacin diferencial forman lo #ue se conoce como el 0#b%&3a "& 4a%# *n*1*a%. <or lo &eneral,
la solucn exacta de un $roblema de valor inicial es im$osible dificil de obtener en forma
analtica. <or tal ran los mtodos numricos se utilian $ara a$roximar dic*as soluciones.
.omenaremos discutiendo los mtodos $ara ecuaciones escalares y lue&o &eneraliamos los
mismos a sistemas de
:,=;8=>= :E 9'MN/?
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 38
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
HE-I=-= :E :,%EJ/ y =<',.=.,/-?
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 39
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
./:,;/ :E <8/;8=>=?
CODIGO EN EL BOTON ACEPTAR:
function varar&out 3 $us*button@A.allbacB(*, eventdata, *andles, varar&in)
funcion3&et(*andles.edit@,7strin&7)C
f3inline(funcion,7x7,7y7)C
x03str6double(&et(*andles.edit6,7strin&7))C
x@3str6double(&et(*andles.editD,7strin&7))C
n3str6double(&et(*andles.editE,7strin&7))C
y03str6double(&et(*andles.editG,7strin&7))C
*3(x@)x0)5nC
2(@,@)3x0
X(@,@)3y0
for i3@?n
y@3y04*0f(x0,y0)C
y03y@C
x@3x04*C
x03x@C
2(i4@,@)3x0C
X(i4@,@)3y0C
end
set(*andles.editQ,7strin&7,y@)C
set(*andles.editR,7strin&7,2)C
set(*andles.editS,7strin&7,X)C
CODIGO EN EL BOTON GRAFICAR:
function varar&out 3 $us*button6A.allbacB(*, eventdata, *andles, varar&in)
23str6num(&et(*andles.editR,7strin&7))C
X3str6num(&et(*andles.editS,7strin&7))C
$lot(2,X,7.7,2,X,7r)7),&rid on, axis e#ual
CODIGO EN EL BOTON SALIR:
function varar&out 3 $us*buttonDA.allbacB(*, eventdata, *andles, varar&in)
close(euler)
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 40