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.
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
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 '
./graf2.png
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:
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 '
./graf3.png
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
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
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
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.