CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

| Download

Física Experimental IFC

Views: 1389
License: MIT
Image: ubuntu2204
Kernel: Julia 1.9

0 - 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 rebrand.ly/fisicaexperimental .

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") Pkg.add("Pingouin")
Warning: could not download https://pkg.julialang.org/registries exception = RequestError: Failed to connect to pkg.julialang.org port 443 after 30001 ms: Timeout was reached while requesting https://pkg.julialang.org/registries @ Pkg.Registry /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/Registry/Registry.jl:69 Resolving package versions... Warning: could not download https://pkg.julialang.org/registries exception = RequestError: Failed to connect to pkg.julialang.org port 443 after 30003 ms: Timeout was reached while requesting https://pkg.julialang.org/registries @ Pkg.Registry /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/Registry/Registry.jl:69 Cloning [eff96d63-e80a-5855-80a2-b1b0885c5ab7] Measurements from https://github.com/JuliaPhysics/Measurements.jl.git
failed to clone from https://github.com/JuliaPhysics/Measurements.jl.git, error: GitError(Code:ERROR, Class:OS, failed to connect to github.com: Connection timed out) Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/Types.jl:69 [2] clone(io::IJulia.IJuliaStdio{Base.PipeEndpoint}, url::String, source_path::String; header::String, credentials::Nothing, kwargs::Base.Pairs{Symbol, Bool, Tuple{Symbol}, NamedTuple{(:isbare,), Tuple{Bool}}}) @ Pkg.GitTools /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/GitTools.jl:132 [3] clone @ /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/GitTools.jl:88 [inlined] [4] #ensure_clone#2 @ /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/GitTools.jl:74 [inlined] [5] ensure_clone @ /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/GitTools.jl:70 [inlined] [6] install_git(io::IJulia.IJuliaStdio{Base.PipeEndpoint}, uuid::Base.UUID, name::String, hash::Base.SHA1, urls::Set{String}, version_path::String) @ Pkg.Operations /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:678 [7] download_source(ctx::Pkg.Types.Context; readonly::Bool) @ Pkg.Operations /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:905 [8] download_source @ /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:791 [inlined] [9] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform) @ Pkg.Operations /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1391 [10] add @ /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1378 [inlined] [11] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Pairs{Symbol, IJulia.IJuliaStdio{Base.PipeEndpoint}, Tuple{Symbol}, NamedTuple{(:io,), Tuple{IJulia.IJuliaStdio{Base.PipeEndpoint}}}}) @ Pkg.API /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/API.jl:275 [12] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::IJulia.IJuliaStdio{Base.PipeEndpoint}, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}) @ Pkg.API /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/API.jl:156 [13] add(pkgs::Vector{Pkg.Types.PackageSpec}) @ Pkg.API /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/API.jl:145 [14] #add#25 @ /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/API.jl:144 [inlined] [15] add @ /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/API.jl:144 [inlined] [16] #add#24 @ /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/API.jl:143 [inlined] [17] add(pkg::String) @ Pkg.API /ext/julia/julia-1.9.4/share/julia/stdlib/v1.9/Pkg/src/API.jl:143 [18] top-level scope @ In[4]:7
# importar os pacotes # execute com shit + enter no teclado ou toque em Run using Measurements, DataFrames, CSV, Plots, StatsFuns, StatsBase, Pingouin gr()
ArgumentError: Package Measurements not found in current path. - Run `import Pkg; Pkg.add("Measurements")` to install the Measurements package. Stacktrace: [1] macro expansion @ ./loading.jl:1630 [inlined] [2] macro expansion @ ./lock.jl:267 [inlined] [3] require(into::Module, mod::Symbol) @ Base ./loading.jl:1611

Análise de dados

# importação dos dados da aceleração para a variável 'aceleração_g' # execute com shit + enter no teclado ou toque em Run aceleracao_g = CSV.read("aceleracao-g.csv", DataFrame)
# calcular a quantidade de dados da aceleração # Para processar o cálculo execute shit+enter no teclado ou toque em Run n = length(aceleracao_g.g)
# 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(aceleracao_g.g, title = "Histograma Aceleração g Luzerna-SC", xlabel = "Aceleração g (m/s²)", ylabel = "Frequencia absoluta", label = "", bins = K)
# histograma sem bins # observe a semelhança com a curva normal histogram(aceleracao_g.g, title = "Histograma Aceleração g Luzerna-SC", xlabel = "Aceleração g (m/s²)", ylabel = "Frequencia absoluta", label = "")
#Teste de normalidade. #Se pval > 0,05, 95% de probabilidade para normal nor
# média aritmética g_med = mean(aceleracao_g.g)
# desvio padrão s = std(aceleracao_g.g)
# desvio padrão da média s_med = s / sqrt(n)
# t-student com abrangência de 95,45%. # observe que para uma amostra grande de dados # e compare com o valor da curva normal t1 = round(tdistinvcdf(n - 1, 1 - ((1 - 0.9545) / 2)), digits = 3)
# incerteza Δg expandida Δg = t1*s_med
# digite a resolução do sensor g do celular (veja o slide metrologia) Δg_equip =
# incerteza combinada (equipamento e cálculada) Δgc = sqrt(Δg^2 + Δg_equip^2)
# equação de welch–satterthwaite. # os graus de liberdade de Δg_equip são infinitos V = Δgc^4/(s_med^4/(n-1))
# t-student com abrangência de 95,45%. # para V graus de liberdade determinado pela equação de welch–satterthwaite t2 = round(tdistinvcdf(round(V, digits = 1), 1 - ((1 - 0.9545) / 2)), digits = 3)
# incerteza combinada extendida # com abrangência de 95,45% ajustada AS Δgc_e = round(t2*Δgc, sigdigits = 1)
# impressão aceleração g g_exp = measurement(g_med, Δgc_e)

FIM