Buscar

tutorial_gnuplot_fit_log

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

O Uso do GNUPLOT para Gra´ficos log-log e semi-log
Rafael Peixoto de Amorim
4 de julho de 2011
Resumo
Este e´ um trabalho final da disciplina de Softwares Livres de Uso Acadeˆmico, da Universidade
Federal de Goia´s, ministrada pelo Prof. Dr. Salviano Arau´jo Lea˜o. Onde inicialmente faz-se uma
breve apresentac¸a˜o do software a ser aboradado, gnuplot, e alguns comandos ba´sicos executa´veis na
linha de comando. Em seguida trata-se da utilizac¸a˜o do mesmo para o ajuste de curvas na˜o lineares,
mais especificamente as func¸o˜es exponenciais e logar´ıtmicas, bem como a mudanc¸a de escala dos eixos
ordenados.
1 Introduc¸a˜o
O aplicativo gnuplot e´ um software livre destinado a` visualizac¸a˜o de gra´ficos e superf´ıcies, u´teis em
aplicac¸o˜es cient´ıficas nas a´reas de f´ısica, matema´tica, estat´ıstica, engenharias (cartogra´fica,mecaˆnica,
ele´trica, ...), etc. Possui verso˜es para os diversos tipos de sistemas operacionais Mac OS, Linux, UNIX,
Windows, etc.. Foi originalmente criado para permitir que os cientistas e estudantes visualizem func¸o˜es
matema´ticas e dados de forma interativa, mas tem crescido para apoiar muitos usos na˜o-interativos, tais
como web scripting. Ele tambe´m e´ usado como um mecanismo de plotagem por aplicativos de terceiros
como o Octave. Gnuplot tem sido apoiado e esta´ em constante desenvolvimento desde 1986 [1].
Para a obtenc¸a˜o do aplicativo nas diversas plataformas, com exemplos de aplicac¸o˜es, manuais, in-
formac¸o˜es detalhadas, etc sa˜o sugeridos os seguintes enderec¸os eletroˆnicos:
ˆ http://www.gnuplo.info
ˆ http://t16web.lanl.gov/Kawano/gnuplot/index-e.html
Gnuplot possui uma manipulac¸a˜o simples e ra´pida atrave´s de linhas de comando. E´ case sensitive
(diferencia comandos escritos em maiu´sculo daqueles em minu´sculo), pode receber diversos comandos em
uma u´nica linha seprados por “;”(com a ressalva de que os comandos load e call devem ser escritos sempre
no final da linha) e as strings sa˜o indicadas com aspas simples ou duplas. Atualmente ele suporta qualquer
tipo de gra´fico em 2d ou 3d. Pode desenhar usando linhas, pontos, caixas, contornos, campos vetorias,
superf´ıcies, e va´rios tipos de texto associados. E tambe´m suporta va´rios tipos de gra´ficos especializados.
Para incializa´-lo abra o terminal (utilizando linux-Ubuntu) e digite gnuplot, caso voceˆ na˜o o possua
aparecera´ alguns comandos para instala´-lo. Feito isso tente fazer um exemplo simples de uma construc¸a˜o
de gra´fico que e´ dado a seguir.
f(x)=x**2 #define uma func¸a˜o f(x)
plot f(x) #mostra o gra´fico da func¸a˜o f(x)
o texto apo´s “# ”representa apenas um comenta´rio a respeito da linha de comando e utilizando as duas
linha acima obte´m-se o seguinte resultado:
1
Figura 1: Gra´fico de f(x) = x2.
Como vimos acima pode-se facilmente plotar um gra´fico de uma func¸a˜o qualquer no gnuplot. Entre-
tanto, na˜o estamos interessados em abordar estes exemplos mais simples. Considere agora que ao inve´s
de uma func¸a˜o voceˆ queira plotar dados obtidos em um laborato´rio em qualquer outro lugar. Tomamos
como exemplo a tabela a seguir:
Posic¸a˜o (cm) Tempo (s)
0 0
14.8 1.0
29.7 2.0
45.4 3.0
61.3 4.0
75.8 5.0
91.1 6.0
Tabela 1: Tabela com os valores fict´ıcios da posic¸a˜o de uma part´ıcula em func¸a˜o do tempo
Salvando estes dados num arquivo externo qualquer, tabela1.dat por exemplo, podemos plotar estes
pontos facilmente. Ao abrirmos o gnuplot devemos situa´-lo em que pasta desejamos buscar informac¸o˜es,
para isto usamos o comando “cd ”(change directory) seguido do caminho do direto´rio entre aspas duplas
ou simples. Em seguida usamos o comando plot e fazemos refereˆncia ao nome do arquivo de dados entre
aspas. Suponha que o arquivo tabela1.dat esteja no direto´rio /home/Roberto/Documentos, vejamos
enta˜o o exemplo a seguir:
cd '/home/Roberto/Documentos/' #define o direto´rio
plot 'tabela1.dat ' #plota os pontos num gra´fico
onde obte´m-se como resultado:
2
Figura 2: Dados da Tabela 1.
E´ sabido que estes pontos possuem a forma de uma func¸a˜o linear do tipo f(x) = a + bx, onde a
representa a posic¸a˜o inicial e b representa a velocidade da part´ıcula. Como na posic¸a˜o inicial a part´ıcula
esta´ em repouso, faz-se a = 0. O paraˆmetro b, que representa a velocidade, pode ser facimente obtido
atrave´s de um ajuste linear de curva, mais conhecido como fit linear. Para tal procedimento, usamos os
seguintes comandos:
reset # remove qualquer definc¸a˜o anterior
f(x) = b*x # define a func¸a˜o linear
b = 12 # define um valor inicial para b
fit f(x) ’tabela1.dat’ using 2:1 via b # determina os paraˆmetros desejados
feito isso, obte´m-se na tela o seguinte gra´fico:
Final set of parameters Asymptotic Standard Error
============= ================
b = 15.178 +/- 0.04163 (0.2742%)
correlation matrix of the fit parameters:
b
b 1.000
Que nos fornece como velocidade da part´ıcula v = (15.18± 0.04) cm/s.
Para constru´ırmos um gra´fico com a curva ajustada juntamente com os pontos experimentais, devemos
executar o seguinte comando:
plot f(x), 'tabela1.dat ' #plota os pontos e a curva ajustada
3
Figura 3: Pontos experimentais juntamente com a curva ajustada.
Considere agora uma situac¸a˜o onde faz-se uma tomada de dados num laborato´rio, onde o fenoˆmeno
observado se comporta com uma func¸a˜o do seguinte tipo y = Aebx. Temos como exemplos de um
fenoˆmenos que se comportam desta forma a descarga de um capacitor, a absorc¸a˜o de ele´trons por um
material, entre outros. Tomando o lagar´ıtimo natural de ambos os lados da equac¸a˜o temos ln(y) =
ln(A) + bx. Chamando ln(y) de Y podemos ter Y = ln(A) + bx, que nada mais e´ do que uma func¸a˜o
linear como a anterior, onde ln(A) e´ o coeficiente linear e b e´ o coeficiente angular. Entretanto, antes de
fazermos o ajuste dos paraˆmetros, devemos fazer, no eixo y, uma mudanc¸a de escala para a logar´ımica
de base e. Veja um exemplo da func¸a˜o f(x) = Aebx nas escalas decimal e logar´ıtmica.
Figura 4: Gra´fico da func¸a˜o f(x) = Aebx na escala
decimal
Figura 5: Gra´fico da func¸a˜o f(x) = Aebx na escala
logar´ıtimica
Utilizando uma tabela de dados experimentais, podemos fazer de modo ana´logo ao que fizemos antes
para obtermos dados de uma func¸a˜o logar´ıtimica atrave´s de um fit linear. Veja o exemplo abaixo, de
uma descarga de capacitor:
reset #remove qualquer definic¸a˜o anterior
g(x)=a+b*x #define a func¸a˜o g(x)
a=3 #define o paraˆmetro a
b=50 #define o paraˆmetro b
set yrange [0:3] #define o valor ma´ximo e mı´nimo de y a ser exibido
set xrange [0:190] #define o valor ma´ximo e mı´nimo de x a ser exibido
fit g(x) ’tabela2.dat’ using 1:(log($2)) via a, b #faz o ajuste da func¸a˜o g(x) para os dados
da tabela2 usando a coluna 1 como eixo x e ln dos dados da coluna 2 como eixo y
4
Tensa˜o (V) Tempo (s) Tensa˜o (V) Tempo (s) Tensa˜o (V) Tempo (s)
19.90 0 5.43 70.0 1.91 140
16.24 10.0 4.60 80.0 1.69 150
13.36 20.0 3.92 90.0 1.50 160
11.02 30.0 3.35 100 1.35 170
9.15 40.0 2.89 110 1.22 180
7.58 50.0 2.50 120 – –
6.42 60.0 2.18 130 – –
Tabela 2: Tabela com os valores tensa˜o na descarga de um capacitor em func¸a˜o do tempo
Utilizando o comando:
plot g(x), 'tabela2.dat'using 1:(log($2))
Obte´m-se:
Figura 6: Gra´fico de uma func¸a˜o linear juntamente com os dados da tabela 2 efetuando o logar´ıtmo natural dos dados do
eixo y
Para uma func¸a˜o do tipo y = axb, podemos tomar o logar´ıtmo em ambos os lados e teremos log(y) =
log(a) + blog(x). Chamado log(y) de Y e log(x) de X, teremos Y = A + bX, que e´ uma func¸a˜o linear.
Entretanto, agora ambas as varia´veis devem ser colocadas na escala logar´ıtmica (deve-se tomar um certo
cuidado ao se usar a escala logar´ıtimica, pois o argumento na˜o pode assumir valores negativos, sendo
assim devemos limitar as varia´veis nesta escala a` apenas valores positivos).Isto pode ser facilmente obtido
utilizando o comando “set log ”para base 10. Como exemplo, considere uma func¸a˜o do tipo y = axb,
onde tomaremos a = 20 e b = 3.
Figura 7: Gra´fico da func¸a˜o f(x) = Aebx na escala
decimal
Figura 8: Gra´fico da func¸a˜o f(x) = Aebx na escala
logar´ıtimica
5
2 Concluso˜es
O gnuplot possui va´rios comandos e imensas possibilidades, dependendo da necessidade, criatividade
e habilidade. Neste trabalho na˜o houve pretensa˜o de abordar todas as possibilidades deste software,
apenas uma pequena amostra que sera´ apresentada como trabalho final de uma disciplina. A partir
deste trabalho podemos perceber a grande flexibilidade do software em algumas situac¸o˜es, bem como na
obtenc¸a˜o de paraˆmetros atrave´s de dados experimentais. Espero que o pouco que se tem mostrado aqui
instigue aos leitores a curiosidade de procurar mais informac¸o˜es a respeito desta poderosa ferramenta.
3 Bibliografia
1. gnuplot homepage.
Dispon´ıvel no enderec¸o eletroˆnico:< http://www.gnuplot.info/docs 4.4/gnuplot.pdf >. Acessado em
01/07/2011.
2. gnuplot tips (not so Frequently Asked Questions)
Dispon´ıvel no enderec¸o eletroˆnico: < http://t16web.lanl.gov/Kawano/gnuplot/index-e.html >. Aces-
sado em 01/07/2011.
6
	Introdução
	Conclusões
	Bibliografia

Continue navegando