Anda di halaman 1dari 7

O Uso do GNUPLOT para Gr acos log-log e semi-log

Rafael Peixoto de Amorim 4 de julho de 2011


Resumo Este e um trabalho nal da disciplina de Softwares Livres de Uso Acad emico, da Universidade Federal de Goi as, ministrada pelo Prof. Dr. Salviano Ara ujo Le ao. Onde inicialmente faz-se uma breve apresenta ca o do software a ser aboradado, gnuplot, e alguns comandos b asicos execut aveis na linha de comando. Em seguida trata-se da utiliza ca o do mesmo para o ajuste de curvas n ao lineares, mais especicamente as fun co es exponenciais e logar tmicas, bem como a mudan ca de escala dos eixos ordenados.

Introdu c ao

O aplicativo gnuplot e um software livre destinado ` a visualiza c ao de gr acos e superf cies, u teis em aplica c oes cient cas nas areas de f sica, matem atica, estat stica, engenharias (cartogr aca,mec anica, el etrica, ...), etc. Possui vers oes para os diversos tipos de sistemas operacionais Mac OS, Linux, UNIX, Windows, etc.. Foi originalmente criado para permitir que os cientistas e estudantes visualizem fun c oes matem aticas e dados de forma interativa, mas tem crescido para apoiar muitos usos n ao-interativos, tais como web scripting. Ele tamb em e usado como um mecanismo de plotagem por aplicativos de terceiros como o Octave. Gnuplot tem sido apoiado e est a em constante desenvolvimento desde 1986 [1]. Para a obten c ao do aplicativo nas diversas plataformas, com exemplos de aplica c oes, manuais, informa c oes detalhadas, etc s ao sugeridos os seguintes endere cos eletr onicos:
http://www.gnuplo.info http://t16web.lanl.gov/Kawano/gnuplot/index-e.html

case sensitive Gnuplot possui uma manipula c ao simples e r apida atrav es de linhas de comando. E (diferencia comandos escritos em mai usculo daqueles em min usculo), 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 nal da linha) e as strings s ao indicadas com aspas simples ou duplas. Atualmente ele suporta qualquer tipo de gr aco em 2d ou 3d. Pode desenhar usando linhas, pontos, caixas, contornos, campos vetorias, superf cies, e v arios tipos de texto associados. E tamb em suporta v arios tipos de gr acos especializados. Para incializ a-lo abra o terminal (utilizando linux-Ubuntu) e digite gnuplot, caso voc e n ao o possua aparecer a alguns comandos para instal a-lo. Feito isso tente fazer um exemplo simples de uma constru c ao de gr aco que e dado a seguir.

f(x)=x**2 plot f(x)

#dene uma fun c ao f(x) #mostra o gr aco da fun c ao f(x)

o texto ap os # representa apenas um coment ario a respeito da linha de comando e utilizando as duas linha acima obt em-se o seguinte resultado:

./graf1.png

Figura 1: Gr aco de f (x) = x2 .

Como vimos acima pode-se facilmente plotar um gr aco de uma fun c ao qualquer no gnuplot. Entretanto, n ao estamos interessados em abordar estes exemplos mais simples. Considere agora que ao inv es de uma fun c ao voc e queira plotar dados obtidos em um laborat orio em qualquer outro lugar. Tomamos como exemplo a tabela a seguir:
Posi ca o (cm) 0 14.8 29.7 45.4 61.3 75.8 91.1 Tempo (s) 0 1.0 2.0 3.0 4.0 5.0 6.0

Tabela 1: Tabela com os valores ct cios da posi ca o de uma part cula em fun ca o do tempo

Salvando estes dados num arquivo externo qualquer, tabela1.dat por exemplo, podemos plotar estes pontos facilmente. Ao abrirmos o gnuplot devemos situ a-lo em que pasta desejamos buscar informa c oes, para isto usamos o comando cd (change directory) seguido do caminho do diret orio entre aspas duplas ou simples. Em seguida usamos o comando plot e fazemos refer encia ao nome do arquivo de dados entre aspas. Suponha que o arquivo tabela1.dat esteja no diret orio /home/Roberto/Documentos, vejamos ent ao o exemplo a seguir: cd '/home/Roberto/Documentos/' plot 'tabela1.dat '

#dene o diret orio #plota os pontos num gr aco

onde obt em-se como resultado:

./graf2.png

Figura 2: Dados da Tabela 1.

sabido que estes pontos possuem a forma de uma fun E c ao linear do tipo f (x) = a + bx, onde a representa a posi c ao inicial e b representa a velocidade da part cula. Como na posi c ao inicial a part cula est a em repouso, faz-se a = 0. O par ametro b, que representa a velocidade, pode ser facimente obtido atrav es de um ajuste linear de curva, mais conhecido como t linear. Para tal procedimento, usamos os seguintes comandos:

reset # remove qualquer den c ao anterior f(x) = b*x # dene a fun c ao linear b = 12 # dene um valor inicial para b t f(x) tabela1.dat using 2:1 via b # determina os par ametros desejados feito isso, obt em-se na tela o seguinte gr aco:

Final set of parameters ============= b = 15.178

Asymptotic Standard Error ================ +/- 0.04163 (0.2742%)

correlation matrix of the t parameters: b 1.000

Que nos fornece como velocidade da part cula v = (15.18 0.04) cm/s. Para constru rmos um gr aco 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

./graf3.png

Figura 3: Pontos experimentais juntamente com a curva ajustada.

Considere agora uma situa c ao onde faz-se uma tomada de dados num laborat orio, onde o fen omeno observado se comporta com uma fun c ao do seguinte tipo y = Aebx . Temos como exemplos de um fen omenos que se comportam desta forma a descarga de um capacitor, a absor c ao de el etrons por um material, entre outros. Tomando o lagar timo natural de ambos os lados da equa c ao temos ln(y ) = ln(A) + bx. Chamando ln(y ) de Y podemos ter Y = ln(A) + bx, que nada mais e do que uma fun c ao linear como a anterior, onde ln(A) e o coeciente linear e b e o coeciente angular. Entretanto, antes de fazermos o ajuste dos par ametros, devemos fazer, no eixo y, uma mudan ca de escala para a logar mica de base e. Veja um exemplo da fun c ao f (x) = Aebx nas escalas decimal e logar tmica.

./graf4.png

./graf5.png

Figura 4: Gr aco da fun ca o f (x) = Aebx na escala decimal

Figura 5: Gr aco da fun ca o f (x) = Aebx na escala logar timica

Utilizando uma tabela de dados experimentais, podemos fazer de modo an alogo ao que zemos antes para obtermos dados de uma fun c ao logar timica atrav es de um t linear. Veja o exemplo abaixo, de uma descarga de capacitor:

reset #remove qualquer deni c ao anterior g(x)=a+b*x #dene a fun c ao g(x) a=3 #dene o par ametro a b=50 #dene o par ametro b set yrange [0:3] #dene o valor m aximo e m nimo de y a ser exibido set xrange [0:190] #dene o valor m aximo e m nimo de x a ser exibido t g(x) tabela2.dat using 1:(log($2)) via a, b #faz o ajuste da fun c ao g(x) para os dados da tabela2 usando a coluna 1 como eixo x e ln dos dados da coluna 2 como eixo y

Tens ao (V) 19.90 16.24 13.36 11.02 9.15 7.58 6.42

Tempo (s) 0 10.0 20.0 30.0 40.0 50.0 60.0

Tens ao (V) 5.43 4.60 3.92 3.35 2.89 2.50 2.18

Tempo (s) 70.0 80.0 90.0 100 110 120 130

Tens ao (V) 1.91 1.69 1.50 1.35 1.22

Tempo (s) 140 150 160 170 180

Tabela 2: Tabela com os valores tens ao na descarga de um capacitor em fun ca o do tempo

Utilizando o comando: plot g(x), 'tabela2.dat'using 1:(log($2))

Obt em-se:

./graf8.png

Figura 6: Gr aco de uma fun ca o linear juntamente com os dados da tabela 2 efetuando o logar tmo natural dos dados do eixo y

Para uma fun c ao 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 fun c ao linear. Entretanto, agora ambas as vari aveis devem ser colocadas na escala logar tmica (deve-se tomar um certo cuidado ao se usar a escala logar timica, pois o argumento n ao pode assumir valores negativos, sendo assim devemos limitar as vari aveis nesta escala ` a apenas valores positivos). Isto pode ser facilmente obtido utilizando o comando set log para base 10. Como exemplo, considere uma fun c ao do tipo y = axb , onde tomaremos a = 20 e b = 3.

Conclus oes

O gnuplot possui v arios comandos e imensas possibilidades, dependendo da necessidade, criatividade e habilidade. Neste trabalho n ao houve pretens ao de abordar todas as possibilidades deste software, apenas uma pequena amostra que ser a apresentada como trabalho nal de uma disciplina. A partir deste trabalho podemos perceber a grande exibilidade do software em algumas situa c oes, bem como na obten c ao de par ametros atrav es de dados experimentais. Espero que o pouco que se tem mostrado aqui instigue aos leitores a curiosidade de procurar mais informa c oes a respeito desta poderosa ferramenta.

./graf6.png

./graf7.png

Figura 7: Gr aco da fun ca o f (x) = Aebx na escala decimal

Figura 8: Gr aco da fun ca o f (x) = Aebx na escala logar timica

Bibliograa
1. gnuplot homepage. Dispon vel no endere co eletr onico:< 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 endere co eletr onico: < http://t16web.lanl.gov/Kawano/gnuplot/index-e.html >. Acessado em 01/07/2011.

Anda mungkin juga menyukai