Metodos Numericos Codificados En Fortran

Páginas: 8 (1953 palabras) Publicado: 23 de agosto de 2011
PROYECTO FINAL DE LA ASIGNATURA DE MÉTODOS NUMÉRICOS

En el presente trabajo se encuentran los métodos de solución de ecuaciones lineales y no lineales (de dos puntos y un punto), así como los métodos de solución de sistemas de ecuaciones lineales; cada uno de ellos se presenta con su codificación en Fortran, su respectivo Diagrama de Flujo y 5 pruebas con distintas ecuaciones y 5 sistemas deecuaciones, según corresponda

Métodos de Solución de ecuaciones de Dos Puntos
-Bisección
-Regula – Falsi
-Regula – Falsi Modificado

Métodos de Solución de ecuaciones de Un Punto

-Newton – Raphson
-Punto Fijo

Métodos de Solución de Sistemas de ecuaciones Lineales
-Jacobi
-Gauss – Seidel
-SOR

Las ecuaciones usadas para los cinco primeros métodos son las siguientes:
1.-x3-5x+1=0
2.- 2x-4x2+1=0
3.- lnx-x+2=0
4.- x3-10x-5=0
5.- x-2cosx=0
6.- xex-2=0
Para los Métodos de Solución de sistemas de Ecuaciones Lineales se usaron los siguientes ejemplos:
4x-2y=0
-2x+4y-z=0.5
-y+4z=1
5x+y+2z-w=1
x+7y+3w=2
2x+5z+w=3
-x+3y+z+8w=4
10x-w=0.25y+2w=0.4
2z=1
-x+8w+3v=0.6
2y+3w+5v=0.8
10x-2y+3z=8
2x+4y-z=6
2x+6y+10z=4
4x-y=1
-x+4y-z=1
-y+4z-w=1
-z+4w=1

2x+y+z-w=-3
x+9y+8z+4w=15
-x+3y+5z+2w=10
y+w=2
4x+3z=24
3x+4y-z=30
-y+4z=-24

METODO DE LA BISECCIÓN
program bisección
REAL a,b,fa,fb,m,fm,ep
INTEGER nmax,aux
F(x)= ( ) ¡ESPACIO PARA LA FUNCION
write (*,*)"programa para encontrarla solucion de ecuaciones por"
write (*,*)"el metodo de biseccion "
PRINT*,"escribe a y b: "
READ*,a,b
PRINT*,"numero maximo de iteraciones? "
READ*,nmax
PRINT*,"escribe epsilon: "
READ*,ep
fa=F(a)
fb=F(b)
if ((fa*fb)>=0) then
if (fa==0) then
PRINT*,"a es la raiz"
else
if (fb==0) thenPRINT*,"b es la raiz"
else
PRINT*,"no existe raiz entre a y b"
end if
end if
else
aux=1
PRINT*,"_______________________________________________________"
PRINT*,"i a b m fm "
PRINT*,"-----------------------------------------------------------------------------------------"
doi=1,nmax
m=(b+a)/2
fm=F(m)
PRINT*,i," ",a," ",b," ",m," ",fm
if (ABS(fm)<=ep) then
PRINT*,"la raiz es ",m, "en",i,"iteraciones "
aux=nmax
exit
else
if ((fm*fa)>=0) then
a=m
else
b=m
end if
end if
end do
if (aux==nmax) then
else
PRINT*,"no converge en ",nmax,"iteraciones"
end if
end if
END program

PRUEBAS

METODO REGULA-FALSI
program Regula Falsi
REAL a,b,fa,fb,w,fw,ep
INTEGER nmax,aux
F(x)=( ) ¡ESPACIO PARA LA FUNCION
PRINT*,"Programa para obtener la raiz de una ecuacion "
PRINT*,"por el metodo Regula-Falsi "
PRINT*,"escribe a y b "
READ*,a,b
PRINT*,"numeromaximo de iteraciones? "
READ*,nmax
PRINT*,"escribe el valor de epsilon "
READ*,ep
fa=F(a)
fb=F(b)
if ((fa*fb)>=0) then
if (fa==0) then
PRINT*,"a es la raiz"
else
if (fb==0) then
PRINT*,"b es la raiz"
else
PRINT*,"no existe raiz entre a y b"
end if
end if
else
aux=1PRINT*,"_________________________________________________________"
PRINT*," i a b w fw"
PRINT*,"---------------------------------------------------------------------------------------------"
do i=1,nmax
w=((a*fb)-(b*fa))/(fb-fa)
fw=f(w)
PRINT*,i," ",a,"...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Metodos numericos (analisis numerico)
  • Metodos numericos
  • Métodos Numéricos
  • Metodos numericos
  • Metodos numericos
  • Metodos numericos
  • Metodos Numericos
  • Metodos Numericos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS