# Este comando desliga notação científica options(scipen = 9999) # Este comando mostra-te a directoria (pasta) corrente # Lê aqui o nome do utente e confirma que pasta o R está lendo # Por exemplo, fora o resultado "C:/Users/Aluno/Documents" quereria dizer que o utente é Aluno e o R está a ler a pasta Documents getwd() # Este comando põe o R a trabalhar na secretária (Desktop) # Substitui por Aluno (ou pelo nome que o comando anterior tiver mostrado) setwd("C:/Users//Desktop") # Este comando confirma que mudaste para a secretária e deverá listar o ficheiro bola.txt que tem os dados dir() # Este comando carrega o ficheiro para um objecto de dados bola_caindo<-read.table("bola.txt", header=TRUE, sep="\t", dec=",") # Para saber a estrutura do objecto de dados str(bola_caindo) # Para ter uma ideia dos dados plot(bola_caindo$t,bola_caindo$y) # Ajustar o tempo para câmara-lenta ajuste_vid <- 240/30 # Determinar por tentativa e erro onde começam e onde acabam os dados de interesse. # O valor de 100 deverá ou não ser substituído por outro que permita mostrar a queda até ao primeiro contacto com o pavimento. # Ajusta igualmente os valores de y1 e de t1. y1<-bola_caindo$y[1:100] t1<-bola_caindo$t[1:100]/ajuste_vid # Ajustar o modelo fit1 <- lm(y1 ~ I(t1^2)) # Extrair o parâmetro m1 <- coef(fit1)[["I(t1^2)"]] # Calcular g (g1 <- 2*abs(m1)) # g de referência (Lisboa ao nível do mar) g_ref <- c(9.8006) # Erro relativo (erro_rel1 <- abs((g_ref-g1)/abs(g_ref))) # Gráfico plot(t1,y1, ylim=c(0,1.5), type="n", ylab=c("y (m)"), xlab=c("t (s)"), main="bola em queda") # Grelha discreta de coordenadas no fundo do gráfico. grid() # Linha pontilhada do modelo de queda. lines(t1,predict(fit1, newdata=data.frame(seq(0,5, length.out=length(t1)))), lty=3) # Pontos cor-de-rosa (subamostrados). points(t1[seq(1, length(t1), length.out=15)],y1[seq(1, length(y1), length.out=15)], pch=21, bg="pink") # Caixa de linhas mais grossas à volta do gráfico. box(lwd=3) # Etiquetas com os vários valores associados. text(x = 0.1, y = 1.0, labels = bquote(bold(g)[calc] == .(round(g1, 3)) ~ scriptstyle("m/s"^2)), col = "black", cex = 1.2, adj = 0) text(x = 0.1, y = 0.90, labels = bquote(bold(g)[ref] == .(round(c(g_ref), 3)) ~ scriptstyle("m/s"^2)), col = "black", cex = 1.2, adj = 0) text(x = 0.1, y = 0.80, labels = bquote(epsilon[rel] == .(round(erro_rel1, 3))), col="black", cex=1.2, adj = 0)