Você está na página 1de 11

Ministério da Educação

Universidade Tecnológica Federal do Paraná


Curso de Licenciatura em Matemática

JÉSSICA CRISTINA PEREIRA DA SILVA

TRABALHO CÁLCULO NUMÉRICO

TOLEDO
2021
1- Considere o sistema não linear abaixo no intervalo [-2,2]:

Faça um gráfico para observar as raízes.

Construindo a primeira função:

f<-function(x){x^3+x+3}
plot(f,-2,2,xlab=expression('x'[1]),
ylab=expression('x'[2]),
lwd=2,col="green")
abline(h=0,v=0,lwd=3)

Construindo a segunda função:


g<-function(x){cos(x^3)+3*x+3}
plot(g,-2,2,add=T,col="pink",lwd=3)
# Carregando o pacote
require(nleqslv)

# Definindo o sistema
sistema <- function(x) {
y <- numeric(2)
y[1] <- x[1]^3+x[1]+3-x[2]
y[2] <- cos(x[1]^3)+3*x[1]+3-x[2]
y
}
# Primeira raiz
#Definindo a aproximação inicial
xstart <- c(-0.5,2)
points(-0.5,2,pch=5,lwd=3,col="black")
Calculando a aproximação inicial da primeira raiz utilizando o Método de Newton:
nleqslv(xstart,sistema,method = c("Newton"),control=list(xtol=0.000001))

Plotando a solução encontrada:


points(-0.5937435,2.1969432, ,pch=20,lwd=3,col="blue")

(Ponto azul)
Agora, calculando a aproximação inicial para a segunda raiz:
#Definindo a aproximação inicial
xstart <- c(1,6)
points(1,6,pch=5,lwd=3,col="black")

Agora, calculando a aproximação inicial para a segunda raiz:


#Definindo a aproximação inicial
xstart <- c(1,6)
points(1,6,pch=5,lwd=3,col="black")
#Resolvendo
nleqslv(xstart,sistema,method =
c("Newton"),control=list(xtol=0.000001))

Plotando a solução encontrada:

points( 1.274477,6.344597,pch=20,lwd=3,col="blue")

3- A tabela a seguir lista o total de água (A) consumida nos Estados Unidos em bilhões de galões
por dia:
a) Faça um diagrama de dispersão;
x= c(1960, 1970, 1980, 1990, 2000)
y= c(136.43, 202.70, 322.90, 411.20, 494.10)
plot(x,y,xlim=c(1950,2010),ylim=c(100,500),lwd=5,pch=20)

b) Encontre uma regressão exponencial de consumo de água no tempo e coloque a função obtida
no gráfico acima.
y<- log(y)
y
reta<-lm(y~x)
reta
f<-function(x){exp(-59.32252)*exp(0.03281*x)}
curve(f, 1950,2010,add=T,col="red", pch=8)
f(2008)
f(2010)
3 c) Use o resultado acima para prever o consumo de água nos anos de 2008 e 2010.

O consumo de água previsto em 2008 é 706,24 bilhões de galões de água por dia. Já para o ano
de 2010 o valor em bilhões de galões por dia é 754,14.

5- Considere a integral
a) Faça um esboço da área a ser calculada;

b) Calcule uma aproximação utilizando a regra do trapézio, calcule o Erro Absoluto e


represente-o graficamente;
f<-function(x){(1-x^7)^(1/3) - (1-x^3)^(1/7)}
plot(f,0.4,0.8,lwd=6,col="blue",ylim=c(0,0.05),
xlim=c(0.3,0.9))
abline(h=0,v=0,lwd=6)
segments(0.4,0,0.4,f(0.4),col="red",lwd=3,lty=2)
segments(0.8,0,0.8,f(0.8),col="red",lwd=3,lty=2)
segments(0.4,f(0.4),0.8,f(0.8),col="red",lwd=3,lty=2)
A=((f(0.4)+f(0.8))*(0.8-0.4))/2
A
integrate (f, 0.4, 0.8)
abs(0.008865588-0.006163267)
require(caTools)
x<-seq(0.4,0.8,0.0004)
x
y<-f(x)
y
trapz(x,y)

c)Calcule uma aproximação utilizando a regra dos trapézios repetidos com 1000 subintervalos e
calcule o Erro Relativo;
Valor da área é 0.006163267 u.a.

6- Considere o seguinte PVI:

f<-function(x){(1/2*sin(2*x)) - (1/3*cos(3*x)) + (4/3)}


plot(f,0,1,lwd=3,col="blue",ylim=c(0,5),xlim=c(0,1.2))
abline(h=0,v=0,lwd=3)
require(pracma)

f <- function(x, y){cos(2*x)+sin(3*x)}


a <-0
b <-1
y0<-1
n=4

########
# Euler#
########

euler<-euler_heun(f,a,b,y0,n, improved = FALSE)


euler

points(euler$t,euler$y,pch=3,col="red")

# Euler Aperfeiçoado#
#####################

euler_a<-euler_heun(f,a,b,y0,n, improved =TRUE)


euler_a

points(euler_a$t,euler_a$y,pch=3,col="black")

c)

f<-function(x){(1/2*sin(2*x)) - (1/3*cos(3*x)) + (4/3)}


plot(f,0,1,lwd=3,col="blue",ylim=c(0,5),xlim=c(0,1.2))
abline(h=0,v=0,lwd=3)
require(pracma)

f <- function(x, y){cos(2*x)+sin(3*x)}


a <-0
b <-1
y0<-1
n=100

########
# Euler#
########

euler<-euler_heun(f,a,b,y0,n, improved = FALSE)


euler

points(euler$t,euler$y,pch=0.000000000000000000000000000000000001,col="red")

# Euler Aperfeiçoado#
#####################

euler_a<-euler_heun(f,a,b,y0,n, improved =TRUE)


euler_a

points(euler_a$t,euler_a$y,pch=0.000000000000000000000000000000000001,col="blue")

Você também pode gostar