Prática: MHS com sensor e software – Lei de Hooke – Material de apoio

Abaixo segue o script para gerar o gráfico T^2 versus m, ajustar uma reta e obter o coeficiente angular. (Esse script foi testado no gnuplot versão 5.4 patchlevel 3 last modified 2021-12-24)

# MHS – Com sensor e software
set terminal qt enhanced font ‘,13’ lw 1.5

unset key
set xlabel “massa (kg)”
set ylabel “T^2 (s^2)”
f(x) = a*x + b
fit f(x) “dados_periodo.txt”‘ u 2:3 via a,b

set label “f(x) = ax + b” at screen 0.2,0.85
set label sprintf(“a = \%3.4f”,a) at screen 0.2,0.81
set label sprintf(“b = \%3.4f”,b) at screen 0.2,0.77

plot “dados_periodo.txt” u 2:3 w p pt 6 ps 2 lc rgb “black”, f(x) w l lc rgb “blue”

 

O arquivo de dados “dados_periodo.txt” usado no script acima está no formato:

# MHS – Com sensor e software
# Número de massas           m (kg)            T^2 (s^2)
               1                              0.098071          0.228837
               2                              0.147949          0.342960
               3                              0.197807          0.453709

O script mostrado acima gera o gráfico abaixo:

  

O gnuplot pode ser encontrado no seguinte endereço: http://www.gnuplot.info/

Abaixo segue uma breve descrição dos comandos contidos no script acima:

• # MHS – Com sensor e software
As linhas iniciadas com “#” são ignoradas pelo gnuplot, servem para deixar comentários no script.

set terminal qt enhanced font ‘,13’ lw 1.5
Define o tipo de terminal (qt), o tamanho da fonte como 13 (font ‘,13’ ) e a largura das linhas 1.5 (lw 1.5 )

unset key
Desativa a legenda do gráfico

set xlabel “massa (kg)”
Define o título do eixo x

set ylabel “Tˆ2 (sˆ2)”
Define o título do eixo y

f(x) = a*x + b
Define uma função f(x) com constantes a e b

fit f(x) “dados_periodo.txt” u 2:3 via a,b
Ajusta a função f(x) aos dados do arquivodados_periodo.txt onde os eixos x : y serão as colunas 2 e 3 respectivamente (u 2:3). Os parâmetros a e b serão variados  para o melhor ajuste (via a,b).

set label “f(x) = ax + b” at screen 0.2,0.85
Insere o textof(x) = ax + b na janela do gráfico na posição 0.2,0.85, onde o primeiro mero é a posiçã horizontal e o segundo é a vertical.  Os valores extremos nas  posições horizontal e vertical são 0 e 1.

set label sprintf(“a = %3.4f “,a) at screen 0.2,0.81
Insere o textoa = seguido do valor do parâmetro a.

 
• set label sprintf(“b = %3.4f “,b) at screen 0.2,0.77
Insere o textob = seguido do valor do parâmetro b.

plot “dados_periodo.txt” u 2:3 w p pt 6 ps 2 lc rgb “black”, f(x) w l lc rgb “blue”;
Gera um gráfico com os dados contidos no arquivo dados_periodo.txt’ usando como x e y as colunas 2 e 3 respectivamente (u 2:3). Usa pontos (w p) do tipo círculos com tamanho 2 (pt 6 ps 2) na cor preta (lc rgb “black”). Além disso, inclui a função f(x) no formato linha (w l) da cor preta.