Anda di halaman 1dari 40

UNIVERSIDAD NACIONAL JORGE

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

9inalmente el $olinomio ser(?


<(2)3
)) ( 2 ) ( ... )) ( 2 ) ( )) ( 2 ) ( )) ( 2 ) (
, ! , ! 1 , 1 # , #
x L x f x L x f x L x f x L x f
n n n n n n
+ + + +
:ia&rama de 9lu+o del <ro&rama?
MI,',T=-:/ M- ,-IE89=.E ;8=9,./
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 13
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
C.digo del Programa:
U )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
function varar&out 3 edit@A.allbacB(*, eventdata, *andles, varar&in)
U )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
function varar&out 3 $us*button@A.allbacB(*, eventdata, *andles, varar&in)
x3str6num(&et(*andles.edit6,7strin&7))C
y3str6num(&et(*andles.editD,7strin&7))C
%30C
for B3@,n,@
-3@C
:3@C
for i3@,n,@
'B3@
if iV3B
-3-0(+$)x(i))
:3:0(x(B))x(i))
end
'B3'B0-5:
end
%3%4'B0(y(B))
end
set(*andles.editG,7strin&7,%)
U )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
function varar&out 3 $us*button6A.allbacB(*, eventdata, *andles, varar&in)
close(<olinomio'a&ran&e)
METODO DE MINIMOS CUADRADOS / RE'RESION LINEAL
'a &rafica tiene #ue ser una recta a+ustada .En el momento de
a$roximar se tiene errores .
El mnimos cuadrados es la de determinar la recta
a$roximante con una desviacin minima.
'a funcion lineal es &(x)3ax4b donde a y b son constantes $or
determinar
METODOS NUMERICOS APLICADOS CON MATLAB Pgina 14
UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013

1
1
1
1
]
1

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 #
+ + + +

+ + + +

+ + + +

+ + + +

+ + + +

<D) %i en las ecuaciones anteriores cancelamos el 6, desarrollamos los $arntesis y usamos


#ue
( )
#
n
# k
#
a 1 n a +

, 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



+

METODOS NUMERICOS APLICADOS CON MATLAB Pgina 19


UNIVERSIDAD NACIONAL JORGE
BASADRE GROHMANN
2013
<G) Estas ecuaciones se $ueden re$roducir a $artir de?
( )
k
4
k 4
!
k ! k 1 # k 4
: " a ,....., " a " a a " p + + +
<Q) >ulti$licando a ambos lados $or
j
k
"
, + 3 0, @, O, m,
k
j
k
j 4
k 4
j !
k !
j 1
k 1
j
k #
j
k k
j
k
4
k 4
j
k
!
k !
j
k k 1
j
k #
: " " a ,....., " a " a " a
" : " " a ,....., " " a " " a " a
+ + +
+ + +
+ + +
<R) %umando sobre B
4 ., #,1,!,.... j con : " " a ..... " a " a " a
4
# k
k
j
k
4
# k
j 4
k 4
n
# k
j !
k !
n
# k
j 1
k 1
n
# k
j
k #
+ + + +


+

:,=;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

Anda mungkin juga menyukai