Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

ARQUIVOS FÍSICA EXPERIMENTAL IFC LUZERNA PROF JOÃO MARCELLO

1006 views
License: MIT
ubuntu2004
Kernel: Julia 1.8

ACELERAÇÃO DE QUEDA LIVRE g

Este arquivo deve ser utilizado para calcular a propagação das incertezas no cálculo da aceleração de queda livre g. Os valores medidos devem ser digitados com ponto não com vírgula.

ANTES DE INICIAR O EXPERIMENTO LEIA TODO O ROTEIRO, POIS ALGUNS PASSOS PODEM SER DECISIVOS NA COLETA DE DADOS E LER ANTES O ROTEIRO REDUZ O RETRABALHO DO EXPERIMENTO.

Consulte o guia introdutório "Elementos Python Julia Fisica experimental" em bit.ly/fisica-experimental . Para aprender mais sobre Python ou Julia use: bit.ly/tutorial-basico-python-julia-fisica

Pacotes

# para instalar os pacotes # só funcionará no Jupyter off-line # se já instalou não precisa executar # execute com shift + enter using Pkg Pkg.add("Measurements") Pkg.add("DataFrames") Pkg.add("CSV") Pkg.add("Plots") Pkg.add("StatsBase")
Resolving package versions... No Changes to `~/.julia/environment/v1.8/Project.toml` No Changes to `~/.julia/environment/v1.8/Manifest.toml` Resolving package versions... No Changes to `~/.julia/environment/v1.8/Project.toml` No Changes to `~/.julia/environment/v1.8/Manifest.toml` Resolving package versions... No Changes to `~/.julia/environment/v1.8/Project.toml` No Changes to `~/.julia/environment/v1.8/Manifest.toml` Resolving package versions... No Changes to `~/.julia/environment/v1.8/Project.toml` No Changes to `~/.julia/environment/v1.8/Manifest.toml` Resolving package versions... No Changes to `~/.julia/environment/v1.8/Project.toml` No Changes to `~/.julia/environment/v1.8/Manifest.toml`
# importar os pacotes # execute com shift + enter using Measurements, DataFrames, CSV, StatsBase, Statistics, Plots gr()
┌ Info: Precompiling CSV [336ed68f-0bac-5ca0-87d4-7b16caf5d00b] └ @ Base loading.jl:1664 ERROR: LoadError: UndefVarError: PosLen not defined Stacktrace: [1] top-level scope @ ~/.julia/packages/WeakRefStrings/31nkb/src/poslenstrings.jl:6 [2] include(mod::Module, _path::String) @ Base ./Base.jl:419 [3] include(x::String) @ WeakRefStrings ~/.julia/packages/WeakRefStrings/31nkb/src/WeakRefStrings.jl:1 [4] top-level scope @ ~/.julia/packages/WeakRefStrings/31nkb/src/WeakRefStrings.jl:547 [5] include @ ./Base.jl:419 [inlined] [6] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::String) @ Base ./loading.jl:1554 [7] top-level scope @ stdin:1 in expression starting at /home/user/.julia/packages/WeakRefStrings/31nkb/src/poslenstrings.jl:6 in expression starting at /home/user/.julia/packages/WeakRefStrings/31nkb/src/WeakRefStrings.jl:1 in expression starting at stdin:1 ERROR: LoadError: Failed to precompile WeakRefStrings [ea10d353-3f73-51f8-a26c-33c1cb351aa5] to /home/user/.julia/compiled/v1.8/WeakRefStrings/jl_mqN5SM. Stacktrace: [1] error(s::String) @ Base ./error.jl:35 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool) @ Base ./loading.jl:1707 [3] compilecache @ ./loading.jl:1651 [inlined] [4] _require(pkg::Base.PkgId) @ Base ./loading.jl:1337 [5] _require_prelocked(uuidkey::Base.PkgId) @ Base ./loading.jl:1200 [6] macro expansion @ ./loading.jl:1180 [inlined] [7] macro expansion @ ./lock.jl:223 [inlined] [8] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [9] include @ ./Base.jl:419 [inlined] [10] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing) @ Base ./loading.jl:1554 [11] top-level scope @ stdin:1 in expression starting at /home/user/.julia/packages/CSV/mgO6B/src/CSV.jl:1 in expression starting at stdin:1
Failed to precompile CSV [336ed68f-0bac-5ca0-87d4-7b16caf5d00b] to /home/user/.julia/compiled/v1.8/CSV/jl_MIb8x2. Stacktrace: [1] error(s::String) @ Base ./error.jl:35 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool) @ Base ./loading.jl:1707 [3] compilecache @ ./loading.jl:1651 [inlined] [4] _require(pkg::Base.PkgId) @ Base ./loading.jl:1337 [5] _require_prelocked(uuidkey::Base.PkgId) @ Base ./loading.jl:1200 [6] macro expansion @ ./loading.jl:1180 [inlined] [7] macro expansion @ ./lock.jl:223 [inlined] [8] require(into::Module, mod::Symbol) @ Base ./loading.jl:1144 [9] eval @ ./boot.jl:368 [inlined] [10] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428

Análise de dados

# importação dos dados da aceleração # dados aceleração g e tempo dados_aceleracao_g = DataFrame(CSV.File("dadost1t2.csv")) dados_aceleracao_g
UndefVarError: CSV not defined Stacktrace: [1] top-level scope @ In[7]:4 [2] eval @ ./boot.jl:368 [inlined] [3] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String) @ Base ./loading.jl:1428
# calcular a quantidade de dados da aceleração # Para processar o cálculo execute shit+enter no teclado ou toque em Run n = length(dados_aceleracao_g.g) n
# quantidade de classes dada pela fórmula de Sturges # o valor deve ser arredondado para um número inteiro K = round(Int, 1.0 + 3.3*log(10,n))
# histograma # observe a semelhança com a curva normal histogram(dados_aceleracao_g.g, xlabel = "g", ylabel = "freq", bins = K)
# média aritmética g_med = mean(dados_aceleracao_g.g) # desvio padrão s = std(dados_aceleracao_g.g) # desvio da média s_med = s / sqrt(n) # procure na tabela t-student o valor de t (veja slide metrologia). t = # incerteza Δg Δg = t*s_med
# incerteza equipamento digital do sensor g do celular (veja o slide metrologia) Δg_equip =
# incerteza combinada (equipamento e cálculada) Δgc = sqrt(Δg^2 + Δg_equip^2)
# impressão aceleração g g_exp = measurement(g_med, Δgc)
using Roots, Measurements
T(t) = 80*exp(-measurement(-0.004527, 0.000037)*t)-50
T (generic function with 1 method)
find_zero(T,measurement(55,0))
-103.82 ± 0.85

FIM