You are on page 1of 9

# trabalho computacional 1

#exercicio 1
# fun��o f(x) = x.tag(x)-1,28

f<-function(x){((x*tan(x)) - 1.28)}
#gr�fico
curve(f,0,1,col="red",type = "l", main="Grafico exercicio 1")
abline(h=0,col="black")
abline(v=0,col="black")

# bisse��o

bisec<-function(f,a,b,e){
k=0
while (b-a > e){
k=k+1
x=(a+b)/2

if(f(a)*f(x)<0){
a=a
b=x
}
if(f(x)*f(b)<0){
a=x
b=b
}
}
return(list(aproxima��o=(a+b)/2,itera��es=k))
}

bisec(f,0,1,0.00000001)

#exercicio 2

#f<-function(x){(x^3)+(2*x^2)+(2.2*x)+0.4}
g<-function(x){((x^3)+(2*x^2))}
h<-function(x){-((2.2*x)+0.4)}

#grafico de g
curve(g,-1,0, xlim=c(-3,2),col="red",type = "l",main="Grafico exercicio
2",ylab="y")
abline(h=0,col="black")
abline(v=0,col="black")
#grafico de h
curve(h,add=T,col="blue")
text(2.5,0.5,"h(x)")
text(1.5,0.25,"g(x)")

#falsa posi��o
f<-function(x){(x^3)+(2*x^2)+(2.2*x)+0.4}

posi��o_falsa<-function(f,a,b,e){
k=1
x=(a*f(b)-b*f(a))/(f(b)-f(a))

while (abs(f(x)) > e){


k=k+1
if(f(a)*f(x)<0){
a=a
b=x
x=(a*f(b)-b*f(a))/(f(b)-f(a))
}

if(f(x)*f(b)<0){
a=x
b=b
x=(a*f(b)-b*f(a))/(f(b)-f(a))
}
}
return(list(aproxima��o=x,itera��es=k))
}

posi��o_falsa(f,-1,0,0.000001)

# exercicio 3
#fun��o
f<-function(x){((x^3)+(x)+1)}
#fun��o itera��o
gfun <- function(x){-1/(x^2+1)}
#grafico
curve(f,-1,0,col="red",type = "l",main="Grafico exercicio 3")
abline(h=0,col="black")
abline(v=0,col="black")

fixedpoint <- function(fun, x0, tol=0.0005, niter=50){


xold <- x0
xnew <- fun(xold)
for (i in 1:niter) {
xold <- xnew
xnew <- fun(xold)
if ( abs((xnew-xold)) < tol )
return(xnew)
}
stop("excedeu o n�mero permitido de itera��es")
}

fixedpoint(gfun,00000.1)

#exercicio 4
# fun��o

f<-function(x){(exp(-0.005*x)*(cos(sqrt((2000-0.01*(x^2))))*0.05)-0.01)}
# grafico
curve(f,-100,100,col="red",type = "l",main="Grafico exercicio 4")
abline(h=0,col="black")
abline(v=0,col="black")

#metodo de Newton-Raphson

require(Deriv)
newton_raphson<-function(f,x,e){
f_linha<-Deriv(f)
k=0
while (abs(f(x)) > e){
k=k+1
x<-x-(f(x)/(f_linha(x)))
}
return(list(aproxima��o=x,itera��es=k))
}

newton_raphson(f,100,0.000001)

#exercicio 5
#fun��o

f<-function(x){2*(sqrt(((1-x^2)^2)+ (4*(0.1221)^2)*x^2))-1}
#grafico
curve(f,-5,5,col="red",type = "l",main="Grafico exercicio 4")
abline(h=0,col="black")
abline(v=0,col="black"))

#metodo de newton raphson

require(Deriv)
newton_raphson<-function(f,x,e){
f_linha<-Deriv(f)
k=0
while (abs(f(x)) > e){
k=k+1
x<-x-(f(x)/(f_linha(x)))
}
return(list(aproxima��o=x,itera��es=k))
}

newton_raphson(f,1,0.0001)

# trabalho computacional 2

#exercicio 1)a

A <-matrix(c(17,1,0,0,0,0,0,6,-5,-4,6,0,0,0,12,0,0,2,-9,1,0,8,0,0,0,0,2,-
4,8,0,0,0,0,0,0,3,-9,6,0,0,0,0,1,0,1,-20,3,0,0,1,0,0,0,6,-23,10,-2,0,0,0,0,0,8,-
31),nrow=8,ncol=8,byrow=F)

b<-c(1000,0,0,0,0,0,0,0)

solve(A,b)

#1)b

A <-matrix(c(17,1,0,0,0,0,0,6,-5,-4,6,0,0,0,12,0,0,2,-9,1,0,8,0,0,0,0,2,-
4,8,0,0,0,0,0,0,3,-9,6,0,0,0,0,1,0,1,-20,3,0,0,1,0,0,0,6,-23,10,-2,0,0,0,0,0,8,-
31),nrow=8,ncol=8,byrow=F)

b=matrix(c(1000,0,0,0,0,0,0,0),ncol=1)

A1= cbind(b[,1],A[,2],A[,3],A[,4],A[,5],A[,6],A[,7],A[,8])
A2= cbind(A[,1],b[,1],A[,3],A[,4],A[,5],A[,6],A[,7],A[,8])
A3= cbind(A[,1],A[,2],b[,1],A[,4],A[,5],A[,6],A[,7],A[,8])
A4= cbind(A[,1],A[,2],A[,3],b[,1],A[,5],A[,6],A[,7],A[,8])
A5= cbind(A[,1],A[,2],A[,3],A[,4],b[,1],A[,6],A[,7],A[,8])
A6= cbind(A[,1],A[,2],A[,3],A[,4],A[,5],b[,1],A[,7],A[,8])
A7= cbind(A[,1],A[,2],A[,3],A[,4],A[,5],A[,6],b[,1],A[,8])
A8= cbind(A[,1],A[,2],A[,3],A[,4],A[,5],A[,6],A[,7],b[,1])
x1=det(A1)/det(A)
x2=det(A2)/det(A)
x3=det(A3)/det(A)
x4=det(A4)/det(A)
x5=det(A5)/det(A)
x6=det(A6)/det(A)
x7=det(A7)/det(A)
x8=det(A8)/det(A)

X=b=matrix(c(x1,x2,x3,x4,x5,x6,x7,x8),ncol=1)

#exercicio 2

f<-function(x){-x + 3}
g<-function(x){((x/3) + 1)}

#Gr�ficos
plot(f,-3,3,col="red")
abline(h=0)
abline(v=0)
plot(g,0,2,add=T,col="blue")

aproxima��es<-matrix(,ncol=2,nrow=5)

i=1
x1_k=0
x2_k=0
e=0.05
aproxima��es[i,1]=x1_k
aproxima��es[i,2]=x2_k
points(aproxima��es[1,1],aproxima��es[1,2],pch="*")
aproxima��es

# primeira itera��o
i=i+1
x1_kmais1=((-1*x2_k) + 3)
x2_kmais1=(((1/3)*x1_k)+ 1)
aproxima��es[i,1]=x1_kmais1
aproxima��es[i,2]=x2_kmais1
points(x1_kmais1,x2_kmais1,pch="*")
aproxima��es
max(abs(x1_kmais1-x1_k),abs(x2_kmais1-x2_k))>e

#segunda itera��o

i=i+1
x1_k=x1_kmais1
x2_k=x2_kmais1
x1_kmais1=((-1*x2_k) + 3)
x2_kmais1=(((1/3)*x1_k)+ 1)
aproxima��es[i,1]=x1_kmais1
aproxima��es[i,2]=x2_kmais1
points(x1_kmais1,x2_kmais1,pch="*")
aproxima��es
max(abs(x1_kmais1-x1_k),abs(x2_kmais1-x2_k))>e

#Terceira itera��o
i=i+1
x1_k=x1_kmais1
x2_k=x2_kmais1
x1_kmais1=((-1*x2_k) + 3)
x2_kmais1=(((1/3)*x1_k)+ 1)
aproxima��es[i,1]=x1_kmais1
aproxima��es[i,2]=x2_kmais1
points(x1_kmais1,x2_kmais1,pch="*")
aproxima��es
max(abs(x1_kmais1-x1_k),abs(x2_kmais1-x2_k))>e

#Quarta itera��o

i=i+1
x1_k=x1_kmais1
x2_k=x2_kmais1
x1_kmais1=((-1*x2_k) + 3)
x2_kmais1=(((1/3)*x1_k)+ 1)
aproxima��es[i,1]=x1_kmais1
aproxima��es[i,2]=x2_kmais1
points(x1_kmais1,x2_kmais1,pch="*")
aproxima��es
max(abs(x1_kmais1-x1_k),abs(x2_kmais1-x2_k))>e

# outro exercicio 2

#matriz a

A <-matrix(c(4,-1,0,-1,0,0,0,0,0,0,-1,4,-1,0,-1,0,0,0,0,0,0,-1,4,0,0,-1,0,0,0,0,-
1,0,0,4,-1,0,0,0,0,0,0,-1,0,-1,4,-1,-1,0,0,0,0,0,-1,0,-1,4,0,-1,0,0,0,0,0,0,-
1,0,4,-1,0,0,0,0,0,0,0,-1,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-
1,4),nrow=10,ncol=10,byrow=F)

#matriz b

b<-c(-110,-30,-40,-10,0,-15,-90,-25,-55,-65)

# m�todo direto

solve(A,b)

#m�todo de Gauss-Seidel

A <-matrix(c(4,-1,0,-1,0,0,0,0,0,0,-1,4,-1,0,-1,0,0,0,0,0,0,-1,4,0,0,-1,0,0,0,0,-
1,0,0,4,-1,0,0,0,0,0,0,-1,0,-1,4,-1,-1,0,0,0,0,0,-1,0,-1,4,0,-1,0,0,0,0,0,0,-
1,0,4,-1,0,0,0,0,0,0,0,-1,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-
1,4),nrow=10,ncol=10,byrow=F)

b<-c(-110,-30,-40,-10,0,-15,-90,-25,-55,-65)

x0=matrix(c(20,20,20,20,20,20,20,20,20,20),ncol=1)

require(pracma)

itersolve(A,b,x0,tol=0.001,method="Gauss-Seidel")

#exercicio 3

require(nleqslv)
sistema <- function(x) {
y <- numeric(2)
y[1] <- ((2*x[1])/9) - ((x[1]^2)/9) + ((4*(x[2]))/4) - ((x[2]^2)/4) + 8/9
y[2] <- (8*(x[1]))- (4*(x[1])^2)+40-(x[2])
y
}
#aproxima��o inicial (-1,-1)

abline(h=-1,col="green",lty=2)
abline(v=-1,col="green",lty=2)

xstart <- c(-1,-1)


fstart <- sistema(xstart)
fstart

nleqslv(xstart,sistema,method = c("Newton"),control=list(ftol=0.01))

#trabalho computacional 3

x<-c(0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8)


y<-c(3.16, 2.38, 1.75, 1.34, 1.00, 0.74, 0.56)

plot(x,y,xlim=c(0,1),
ylim=c(0,4),cex.lab=3,las=1,lwd=10,col="blue",cex.axis=2,
ylab="",xlab="")

abline(v=0,lwd=6,col="black")
abline(h=0,lwd=6,col="black")

#transformando os valores

y<-log(y)

plot(x,y,xlim=c(0,1),
ylim=c(0,4),cex.lab=3,las=1,lwd=10,col="blue",cex.axis=2,
ylab="",xlab="")

abline(v=0,lwd=6,col="black")
abline(h=0,lwd=6,col="black")

#ajuste linear

phil<-lm(y~x)

phil$coefficients

phil$coefficients[1]

phil$coefficients[2]

#isolado y temos e*ln(y)= y = (e^1.728290) * (e^(-2.888285 * x))

x<-c(0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8)


y<-c(3.16, 2.38, 1.75, 1.34, 1.00, 0.74, 0.56)
plot(x,y,xlim=c(0,1),
ylim=c(0,4),cex.lab=3,las=1,lwd=10,col="blue",cex.axis=2,
ylab="",xlab="")
abline(v=0,lwd=6,col="black")
abline(h=0,lwd=6,col="black")

phi<-function(x){exp(1.728290) * exp(-2.888285 * x)}


plot(phi,xlim=c(-2,2),col="red",add=T,lwd=6)
abline(v=0,lwd=6,col="black")
abline(h=0,lwd=6,col="black")

#trabalho computacional 4

require(digitize)

#carregando a figura

cal<- ReadAndCal('figura.jpg')

#marcando os pontos

pontos <- DigitData(col = 'red')

#calibrar os pontos

data <- Calibrate(pontos, cal,0,0.8,0,1.41)

#pontos calibrados

data

#criando vetores com os valores encontrado

x<-data[,1]
y<-data[,2]

plot(x,y,xlim=c(0,1),ylim=c(0,1.5),cex.lab=3,las=1,lwd=6,col="blue",cex.axis=2,
ylab="",xlab="")
abline(v=0,lwd=6,col="black")
abline(h=0,lwd=6,col="black")

# ajustando um polin�mio interpolador

require(polynom)

p<-poly.calc(x,y)

#valor de p

# criando uma fun��o com valor de p

p<-function(x){-0.01120072 + 1.921436*x + 1.146229*x^2 - 3.349508*x^3 +


2.107307*x^4}

#grafico da fun��o

plot(p,0,1,lwd=5,col="black",add=T)
abline(v=0,lwd=6,col="black")
abline(h=0,lwd=6,col="black")
# integrando a fun��o para calcular a area

integrate(p,0,0.8)

# area = 0.5966369

# Trabalho computacional 5

require(caTools)

i<-function(x){(log(x+1))/((x^2) +1)}
integrate(i,0,1)

plot(f,xlim=c(0,1.5),ylim=c(0,0.5),cex.lab=3,las=1,lwd=4,col="blue",cex.axis=2,
ylab="",xlab="")

abline(v=0,lwd=4,col="black")
abline(h=0,lwd=4,col="black")

#aplicando regra do trap�zio com cinco subintervalo

x<-c(0,0.2,0.4,0.6,0.8,1)
y<-c(f(x))

trapz(x,y)

plot(f,xlim=c(0,1.5),ylim=c(0,0.5),cex.lab=3,las=1,lwd=4,col="blue",cex.axis=2,
ylab="",xlab="")

abline(v=0,lwd=4,col="black")
abline(h=0,lwd=4,col="black")

segments(0,f(0),0.2,f(0.2),col="red",lwd=3)
segments(0.2,f(0.2),0.4,f(0.4),col="red",lwd=3)
segments(0.4,f(0.4),0.6,f(0.6),col="red",lwd=3)
segments(0.6,f(0.6),0.8,f(0.8),col="red",lwd=3)
segments(0.8,f(0.8),1,f(1),col="red",lwd=3)
segments(0.2,0,0.2,f(0.2),col="red",lwd=3)
segments(0.4,0,0.4,f(0.4),col="red",lwd=3)
segments(0.6,0,0.6,f(0.6),col="red",lwd=3)
segments(0.8,0,0.8,f(0.8),col="red",lwd=3)
segments(1,0,1,f(1),col="red",lwd=3)
segments(0,0,1,0,col="red",lwd=3)

#erro absoluto " Area real = 0.2721983 " " Area pela regra dos trap�zio = 0.2685311

EA = abs(0.2721983 - 0.2685311)

# EA = 0.0036672

#regra do trap�zio em 1000 subintervalo

# h = (b - a) / n --> h = (1 - 0) / 1000 --> h = 0.001

x <- seq(0,1,0.001)
y <-c(f(x))

trapz(x,y)
# com 1000 intervalos a area � de 0.2721982 u.a

#trabalho computacional 6

require(cmna)

# declarando a fun��o

f<- function(x,y){(x^2) - (4*y)}

#executando o comando, f: fun��o, 0: x 0, 1: y(0), 0.1 � o H, e 10 � a quantidade


de pontos calculados

ipv.euler <- euler(f,0,1,0.1,10)

#solu��o exata

y<- function(x){ ((31/32)*exp(-4*x)) + ((1/4) * x^2) - ((1/8) * x) + 1/32}

#gr�fico

plot(y,0,1,cex.lab=3,xlim=c(0,1),ylim=c(0,1),las=1,lwd=6,col="blue",cex.axis=2)
abline(h=0,lwd=6)
abline(v=0,lwd=6)

#solu��o aproximada

x1<-ipv.euler[,1]
y1<-ipv.euler[,2]

#Grafico da aproxima��o
lines(x1,y1,col="red",lwd=6)

You might also like