Vous êtes sur la page 1sur 5

TECNOLÓGICO DE COSTA RICA

MÉTODOS NUMÉRICOS DE INGENIERÍA

PRIMER EXÁMEN PARCIAL


PARTE PROGRAMADA

ESTEBAN CORDERO DELGADO


2013100782

RODNEY DELGADO ARCE


201173963

FECHA: 1/11/17
#Ejercicio número 1
Simpson =function(g,a,b,n){
fun = parse(text=g)
f = function(x) eval(fun)
h = (b-a)/n
xpar = seq(a+2*h, b-h , by=2*h)
ximpar = seq(a+h,b-h, by=2*h)
aprox = h/3*(f(a)+f(b)+4*sum(f(ximpar))+2*sum(f(xpar)))
cat("La aproximacion es:", aprox)
}
Simpson("sin(x)", 1,4,50)

#Ejercicio número 2

newton=function(f, a, n){
g=parse(text=f)
dg=D(g,"x")
funcion=function(x){eval(g)}
dfuncion=function(x){eval(dg)}
for(i in 1:n){
x=a-funcion(a)/dfuncion(a)
e=abs((x-a)/x)
a=x

cat("La aproximación numero" ,i,"es:",x,"y su error es:",e,"\n")


}
}
newton("2*cos(x) - exp(x)",2,4)
#Ejercicio número 3
A=matrix(c(4,-1,0,0,-1,4,-1,0,0,-1,4,-1,-1,0,-1,4),nrow=4, byrow =T)
A

D=matrix(c(4,0,0,0,0,4,0,0,0,0,4,0,0,0,0,4),nrow=4,byrow = T)
D

L=matrix(c(0,0,0,0,-1,0,0,0,0,-1,0,0,-1,0,-1,0),nrow=4,byrow =T )
L
A
U=matrix(c(0,-1,0,0,0,0,-1,0,0,0,0,-1,0,0,0,0),nrow=4,byrow = T)
U

B=matrix(c(1,-1,1,0))
B
A[2,]=1/4*A[1,]+A[2,]
A
A[4,]=1/4*A[1,]+A[4,]
A

gauss=function(a,b,c,d,n){
Y<-U%*%matrix(c(a,b,c,d))
S<- solve(D+L,B)
W<-solve(D+L,U)

for(i in 1:n){

Z<- S-W%*%Y
error=abs((norm(Z)-norm(Y))/norm(Z))
Y<-Z

cat("la iteración número ",i)


cat("y su valor de error es :" , error)
print(Z)
}
}
gauss(0,0,0,0,3)

#Ejercicio numero 4
U=matrix(c(0,-1,4,-1,-1,4,-1,0,-1,0,-1,4,4,-1,0,0),nrow=4, byrow =T)
PT=diag(1,4)#MATRIZ DE PERMUTACION
L=matrix(rep(0,16),4)

U[c(1,4),]=U[c(4,1),]
PT[c(1,4),]=PT[c(4,1),]

U[2,]=1/4*U[1,]+U[2,]
U[3,]=1/4*U[1,]+U[3,]
L[2,1]=-1/4
L[3,1]=-1/4

U[3,]=0.25/3.75*U[2,]+U[3,]
U[4,]=1/3.75*U[2,]+U[4,]
L[3,2]=-0.25/3.75
L[4,2]=-1/3.75

U[c(3,4),]=U[c(4,3),]
L[c(3,4),]=L[c(4,3),]
PT[c(3,4),]=PT[c(4,3),]

U[4,]=(16/15)/(56/15)*U[3,]+U[4,]
L[4,3]=(-16/15)/(56/15)

diag(L)=rep(1,4)
P=t(PT)

U
PT
L
A=matrix(c(0,-1,4,-1,-1,4,-1,0,-1,0,-1,4,4,-1,0,0) ,nrow=4, byrow =T)
A
B=expand(lu(A))
B$L
B$U
B$P

B$P %*% B$L %*% B$U #ESTE PASO ES PARA REVISAR

Vous aimerez peut-être aussi