Buscar

p2 prova 2 metcomb mendeli leonardo sebastian

Prévia do material em texto

Métodos Computacionais da F́ısica B
Avaliação 2 / 2020-2
Aluno: Helena do Nascimento Coelho Matŕıcula:
00305645
1. xn+1 = f(xn) = −32xn2 + 52xn + 1
Verificar que 0, 1 e 2 constituem uma órbita periódica do mapa:
f(0) = −3
2
(02) + 5
2
(0) + 1 = 1
f(1) = −3
2
(12) + 5
2
(1) + 1 = 2
f(2) = −3
2
(22) + 5
2
(2) + 1 = 0
0 → 1 → 2 → 0 ...
Assim, 0, 1 e 2 constituem uma órbita periódica.
Para determinar a estabilidade devemos derivar F (3)(x) = f(f(f(x))) e testar se
|F (3)�(x∗)| < 1 :
d
dx
f(g(h(x)))
����
x=x∗
= df
dx
����
x=g(h(x∗)
d
dx
g(h(x)
����
x=x∗
= df
dx
����
x=g(h(x∗))
dg
dx
����
x=h(x∗)
dh
dx
����
x=x∗
Levando em conta que f = g = h:
df (3)
dx
����
x=x∗
= df
dx
����
x=f(f(x∗))
df
dx
����
x=f(x∗)
df
dx
����
x=x∗
→ df (3)
dx
����
x=0
= df
dx
����
x=f(f(0))
df
dx
����
x=f(0)
df
dx
����
x=0
f(x) = -3
2
x2 + 5
2
x+ 1, f �(x) = −3x+ 5
2����
df (3)
dx
����
x=0
���� =
����
df
dx
����
x=2
df
dx
����
x=1
df
dx
����
x=0
����
����
df (3)
dx
����
x=0
���� =
����(−3.2 + 52)(−3.1 + 52)(−3.0 + 52)
���� =
����
35
8
���� =
����4, 375
���� > 1
Podemos concluir que o ciclo é instável.
2. xj+1 = xje
µ(1−xj)
Pontos fixos:
x∗ = x ∗ eµ(1−x∗) → x1∗ = 0
Quando x∗ �= 0:
1 = eµ(1−x∗) → ln1 = µ(1− x∗) → 0 = µ− µx∗ → µ = µx∗ → x2∗ = 1
f(x) = x ∗ eµ(1−x∗) → f �(x) = eµ(1−x) − µxeµ(1−x)
Para que os pontos fixos sejam estáveis:
����
df
dx
����
x=x∗
���� < 1
Para x1∗ = 0,
|f �(x1∗)| < 1 → |eµ(1−0)−µ0eµ(1−0) | < 1 → |eµ| < 1 → eµ < 1 → µ < ln1
µ < 0, para que x1∗ seja estável.
Para x2∗ = 1,
|f �(x2∗)| < 1 → |eµ(1−1)−µ1eµ(1−1) | < 1 → |1− µ| < 1 → −1 < 1− µ < 1 → 2 > µ > 0
0 < µ < 2, para que x2∗ seja estável.
1
joseh
Carimbo novo
3. (a) média = 0.499697733662073
(b) desvio padrão = 0.28827829603991323
4. (a) ρ(x) = Acos(πx
2L
), x ∈ [−L,L), para L = 10 o valor de A se dá por:
� 10
−10 Acos(
πx
20
)dx = 1
u = πx
20
, A
� π/2
−π/2 cos(u)
20
π
du = 1 → A20
π
� π/2
−π/2 cos(u)du = 1 → A20π
�
sin(u)
�π/2
−π/2
= 1
A40
π
= 1 → A = π
40
→ A = 0, 078540
(b) No intervalo [0, 1), L = 10 e x = 0,6:
ρ(x) = 0, 078540cos(πx
20
) → R = 0, 078540 � x−10 cos(πx20 )dx
R = 0, 07854020
π
sin(πx
20
)− 0, 07854020
π
sin(−10π
20
)
sin(πx
10
) =
R+0,078540 20
π
sin(−10π
20
)
0,078540 20
π
→ sin(πx
10
) = R
0,078540 20
π
− 1
x = 20
π
arcsin( R
0,078540 20
π
− 1), lembrando que x = 0,6.
Então, sin(0,6π
20
) = R
0,078540 20
π
− 1
R = 0, 547055
(c) média dos valores em x2 = -0.005830
���� ��� ��� ��� ��� ��� ��� ��� ����
����
����
����
����
����
����
����
����
����
��
����
����������
5. (a) I =
� 10
−10 2[1− ( x10)2]dx
I = 2(
� 10
−10 1dx−
� 10
−10
x2
100
dx) → I = 2([x]10−10 − [ x
3
300
]10−10) → I = 2(20− 203 ) → I = 803
I = 26, 666667
(b) i) I = 26.661199999999997
� ����� ����� ����� ����� ������
����
����
����
����
����
����
����
����
����
����
�������
2
# −*− coding: utf−8 −*−
"""prova2_helenadonascimentocoelho_00305645.ipynb
Automatically generated by Colaboratory.
Original file is located at
 https://colab.research.google.com/drive/1AMMligtiw7Ru9yBvihEbmVZRePxXQd73
"""
#questão 3
import numpy as np
import math
def aleatorio():
a = 16807
m = 2147483647
aleatorio.x = a*aleatorio.x % m
y = 1.0*aleatorio.x/m
return y
aleatorio.x = 947236
#a
X = []
N = np.arange(0,100001,1)
for i in range (len(N)):
 x = aleatorio()
 X.append(x)
media = sum(X)/len(X)
print("Média =", media)
#b
x_media = 0
for i in range (100000):
 x_media = (X[i] − media)**2 + x_media
desvio = math.sqrt(x_media / 99999)
print("Desvio padrão =", desvio)
#Para não usar os comandos len e sum na letra a
z = 0
for i in range (100000):
 z = X[i] + z
mediaa = z/100000
print("Média calculada sem o comando sum =", mediaa)
#questão 4c
import matplotlib.pyplot as plt
import numpy as np
def inversa(X):
 d = 20/math.pi
 c = 1.999995323
 return (d)*np.arcsin((c*X) − 1)
X2 = []
z = 0
for i in range (100000):
 z = (inversa(X[i])) + z
 X2.append(inversa(X[i]))
X2 = np.array(X2)
media_x2 = z/100000
print("Média de x2 =", media_x2)
x = np.linspace(−10,10,100)
May 20, 21 17:53 Page 1/3prova2_helenadonascimentocoelho_00305645.py
def p(x):
 return 0.078540* math.cos(math.pi*(x)/20)
probabilidade = []
for i in range(len(x)):
 probabilidade.append(p(x[i]))
probabilidade = np.array(probabilidade)
’’’
#figura sem a normalização
figura = plt.figure(figsize=(10,5))
plt.bar(x, probabilidade, label=’Histograma’, color=’red’)
plt.plot(x, probabilidade, color = ’black’, label=’p(x)’)
plt.legend()
’’’
#para normalizar
valor_maior = 0
valor_menor = 0
for i in range(100000):
 if (X2[i] > valor_maior):
 valor_maior = X2[i]
 if (X2[i] < valor_menor):
 valor_menor = X2[i]
delta_x =(valor_maior − valor_menor)/100
#print(valor_menor)
#print(valor_maior)
#print(delta_x)
valor_histograma = []
limite_minimo = valor_menor
limite_maximo = valor_menor + delta_x 
for i in range(100):
 soma_histograma = 0
 for i2 in range(100000):
 if (limite_minimo <= X2[i2]):
 if (limite_maximo > X2[i2]):
 soma_histograma = soma_histograma + 1
 limite_minimo = limite_minimo + delta_x
 limite_maximo = limite_maximo + delta_x
 histograma = soma_histograma/(100000*delta_x)
 valor_histograma.append(histograma)
figura = plt.figure(figsize=(15,5))
plt.subplot(1,2,1)
plt.bar(x, valor_histograma, width = delta_x, ec = "k", color=’royalblue’, label=’
Histograma’)
plt.plot(x, probabilidade, color = ’red’, label=’p(x)’)
plt.legend()
plt.title(’4c’)
plt.savefig(’figura4c.pdf’)
#questao 5b
#i
Y = []
for i in range(100000):
 y = aleatorio()
 Y.append(y)
YY = []
XX = []
xmax = 10
xmin = −10
ymax = 2
ymin = 0
for i in range(100000):
 K = X[i]*(xmax − xmin) + xmin
 Z = Y[i]*(ymax − ymin) + ymin
 XX.append(K)
May 20, 21 17:53 Page 2/3prova2_helenadonascimentocoelho_00305645.py
Printed by mendeli
Friday May 21, 2021 1/2prova2_helenadonascimentocoelho_00305645.py
joseh
Carimbo novo
joseh
Carimbo novo
joseh
Carimbo novo
 YY.append(Z)
YY = np.array(YY)
func = []
def funcao(XX):
 return 2*(1 − ((XX)**2 / 100))
for i in range(100000):
 f = funcao(XX[i])
 func.append(f)
func = np.array(func)
S = 0
N = np.arange(1,100001, 1)
grafico = []
for i in range(len(N)):
 if (func[i] >= YY[i]):
 S = S + 1
 integral = (S/N[i]) * (xmax − xmin)*(ymax − ymin)
 grafico.append(integral)
print("Valor da integral pelo método da tentativa e erro =", integral)
plt.subplot(1,2,2)
plt.plot(N,grafico, color=’gray’)
plt.ylim(26.5,27.40)
plt.title(’ i − 5b’)
May 20, 21 17:53 Page 3/3prova2_helenadonascimentocoelho_00305645.py
Printed by mendeli
Friday May 21, 2021 2/2prova2_helenadonascimentocoelho_00305645.py
joseh
Carimbo novo
joseh
Carimbo novo

Continue navegando