# CÉLULA 1
# O caracter # permite a introdução de comentários no código. Eles não são levados em consideração quando o computador executa a célula.
import numpy as np
import matplotlib.pyplot as plt
from pylab import*
# CÉLULA 2
x = np.array([0.38, 0.64, 0.91, 1.26, 1.41, 1.66, 1.90, 2.18]) # Dados do eixo X
dx = np.array([0.038, 0.064, 0.091, 0.126, 0.141, 0.166, 0.190, 0.218]) # Erros dos dados do eixo X
y = np.array([1.4, 1.65, 3.0, 3.95, 4.3, 5.20, 6.85, 7.4]) # Dados do eixo Y
dy = np.array([ 0.4, 0.5, 0.4, 0.5, 0.6, 0.5, 0.5, 0.4]) # Erros dos dados do eixo Y
# CÉLULA 3
#fig, ax1 = plt.subplots()
#ax1.plot(x, y, c='b', marker='o', markeredgewidth=0, linewidth=0, markersize=3)
#fig, ax1 = plt.subplots()
plot(x, y, c='b', marker='o', markeredgewidth=0, linewidth=0, markersize=3)
errorbar(x, y, yerr=dy, xerr=dx, linestyle=' ', c= 'b')
m,b = polyfit(x, y, 1)
plot(x, y, 'yo', x, m*x+b, '--k')
plt.xlabel("Dados X")
plt.ylabel("Dados Y")
plt.title("Grafico Y versus X")
plt.grid()
plt.show()
# CÉLULA 4
from scipy.stats import linregress
x = [0.38, 0.64, 0.91, 1.26, 1.41, 1.66, 1.90, 2.18]
y = [1.4, 1.65, 3.0, 3.95, 4.3, 5.20, 6.85, 7.4]
linregress(x,y) #x and y are arrays or lists.
# CÉLULA 5
import numpy as np
import matplotlib.pyplot as plt
from pylab import*
# CÉLULA 6
t = np.array([1.0, 2.5, 6.0, 8.0, 10.0, 13.5, 16.0]) # tempo
errot = np.array([0.40, 0.42, 0.45, 0.41, 0.46, 0.45, 0.44]) # erros no tempo
x = np.array([105, 150, 240, 290, 340, 430, 500]) # posição ou deslocamento
errox = np.array([15, 16, 15, 16, 17, 14, 15]) # erros no deslocamento
# CÉLULA 7
fig, ax1 = plt.subplots()
ax1.plot(t, x, c='b', marker='o', markeredgewidth=0, linewidth=0, markersize=3)
ax1.errorbar(t, x, yerr=errox, xerr=errot, linestyle=' ', c= 'b')
m,b = polyfit(t, x, 1)
plot(t, x, 'yo', t, m*t+b, '--k')
plt.xlabel("Tempo (s)")
plt.ylabel("Deslocamento (m)") # A utilização da palavra "Posição" induz erro devido aos caracteres tilda e cedilha.
plt.title("Deslocamento X Tempo")
plt.grid()
plt.show()
# CÉLULA 8
from scipy.stats import linregress
t = [1.0,2.5,6.0,8.0,10.0,13.5,16.0]
v = [105,150,240,290,340,430,500]
linregress(t,v) #x and y are arrays or lists.
# CÉLULA 9
t = np.array([3,5,7,9])
errot = np.array([0.01,0.10,0.20,0.70])
v = np.array([2.5,3,4,5])
errov = np.array([0.5,0.3,0.5,0.6])
# CÉLULA 10
fig, ax1 = plt.subplots()
ax1.plot(t, v, c='b', marker='o', markeredgewidth=0, linewidth=0, markersize=3)
ax1.errorbar(t, v, yerr=errov, xerr=errot, linestyle=' ', c= 'b')
m,b = polyfit(t, v, 1)
plot(t, v, 'yo', t, m*t+b, '--k')
plt.xlabel("tempo (s)")
plt.ylabel("Velocidade (m/s)")
plt.title("Velocidade X Tempo")
plt.grid()
plt.show()
# CÉLULA 11
from scipy.stats import linregress
t = [3,5,7,9]
v = [2.5,3,4,5]
linregress(t,v) #x and y are arrays or lists.
# CÉLULA 12
import numpy as np
import matplotlib.pyplot as plt
data = loadtxt("dados4.txt") # Obtendo os dados do arquivo de nome "dados4.txt".
#xdata,ydata,yerror = data[:,0],data[:,1],data[:,2]
#xdata,ydata = zip(*sorted(zip(xdata,ydata))) # sorts the two lists after the xdata
#xd,yd = log10(xdata),log10(ydata)
# Obtendo os valores de t and y
t = data[:,0]
y = data[:,1]
erroy = data[:,2]
# Calculando polinômio de grau dois (parábola da forma y(x) = ax^2 + bx + c, que pode representar y(t) = 1/2 gt^2 + vt + h)
z = (a,b,c) = np.polyfit(t, y, 2)
f = np.poly1d(z)
# calcular novos t's e y's
t_new = np.linspace(t[0], t[-1], 50)
y_new = f(t_new)
plt.plot(t,y,'o', t_new, y_new)
plt.errorbar(t, y, yerr=erroy, linestyle=' ', c= 'b')
plt.xlim([t[0]-1, t[-1] + 1 ])
plt.title("Deslocamento X Tempo (Escala Linear)")
plt.xlabel("Tempo (s)")
plt.ylabel("Deslocamento (m)")
plt.grid()
plt.show()
# Mostrar os valores dos coeficientes "a", "b" e "c" em y(t) = at^2 + bt + c
print(a) # Coeficiente "a" da parábola y(x) = ax^2 + bx + c. Comparando com y(t) = 1/2 gt^2 +vt +h, temos que a = g/2 (g = aceleração da gravidade).
print(b) # Coeficiente "b" da parábola y(x) = ax^2 + bx + c. Comparando com y(t) = 1/2 gt^2 +vt +h, temos que b = v (v = velocidade inicial).
print(c) # Coeficiente "c" da parábola y(x) = ax^2 + bx + c. Comparando com y(t) = 1/2 gt^2 +vt +h, temos que c = h (h = altura inicial).
# CÉLULA 13
print(a) # Como a = g/2, temos que a aceleração da gravidade é 2 * 0.87 = 1.74 m/s^2, aproximadamente. Claro que não se trata da Terra!!
# CÉLULA 14
print(b) # Como b = v, temos que a velocidade inicial é aproximadamente 0.00 m/s.
# CÉLULA 15
print(c) # Como c = h, temos que a altura inicial é aproximadamente -0.05 m.
# CÉLULA 16
from scipy import polyfit
data = loadtxt("dados4.txt")
tdata, ydata = data[:,0], data[:,1]
tdata, ydata = zip(*sorted(zip(tdata,ydata))) # Ordenar as duas listas
td, yd = log10(tdata), log10(ydata)
polycoef = polyfit(td, yd, 1)
yfit = 10**( polycoef[0]*td + polycoef[1] )
plt.loglog(tdata, ydata,'.k', tdata, yfit,'-r')
plt.title("Deslocamento X Tempo (Escala LogLog)")
plt.xlabel("Log(Tempo) (s)")
plt.ylabel("Log(Deslocamento) (m)")
plt.grid(True,which="both",ls="-")
plt.show()
print(polycoef[0]) # O valor do coeficiente angular será escrito logo após o gráfico
print(polycoef[1]) # O valor do coeficiente linear será escrito logo após o gráfico
# CÉLULA 17
A=polycoef[1] # Coeficiente linear da reta Y = A + 2T
# CÉLULA 18
g=2*exp(A);round(g,2) # Obtenção da aceleração da gravidade g