Páginas

segunda-feira, 21 de março de 2011

Dica: Integração numérica usando Python script

Nesta minha primeira dica que posto aqui sobre Python script no SciDAVis vou falar sobre integração numérica. Antes da dica, vale lembrar que a linguagem Python deve ter sido préviamente selecionada no menu "Programação" → "Linguagem de programação (script)" (ou "Scripting" → "Scripting Language", se você estiver utilizando a interface em inglês). Os scripts podem ser editados e executados em uma nota (menu "Arquivo" → "Novo" → "Nova nota / script") ou executados via linha de comando (este último método não será abordado nesta dica).

Para este exemplo, vamos supor que tenhamos um gráfico, nomeado como Gráfico1, com uma curva rotulada de Tabela1_2, cujo parâmetro x varia entre 0 e 10. Vamos supor também que o usuário tenha conhecimentos básicos de Python.

As etapas necessárias para efetuar a integração numérica e extrair o resultado são:

- definir uma função com a curva a ser integrada, juntamente com os limites inferior e superior;
- definir o método a ser utilizado para interpolação (0, 1 ou 2, para Linear, Cúbica ou Akima, respectivamente);
- executar a integração;
- extrair o resultado.

A sintaxe da função que efetua a integração numérica no SciDAVis é:

integral = Integration(graph("Nome do gráfico").activeLayer(), "Nome da curva", Limite inferior, Limite superior)

Para definir o método de interpolação usamos:

integral.setMethod(Número do método)

Em seguida executamos com:

integral.run()

E extraímos o resultado com:

integral.result()

Vamos a um exemplo prático.
Abra uma nota e digite (ou copie e cole) os seguintes comandos (sem se esquecer da suposição de que temos um gráfico, nomeado como Gráfico1, com uma curva rotulada de Tabela1_2, cujo parâmetro x varia entre 0 e 10):

integral = Integration(graph("Gráfico1").activeLayer(), "Tabela1_2",0,5)
integral.setMethod(2)
integral.run()
integral.result()

Selecione tudo e tecle Ctrl + j para executar (se preferir, não selecione nada e tecle Ctrl + Shift + j). O resultado da operação aparecerá na janela de registro de resultados (Results Log), juntamente com todas as informações sobre a operação: método, limites, ymáx, etc.

Aí você pergunta: - Ok! Mas pra quê usar um script em Python para fazer esta operação se eu posso fazê-la através do menu "Análise" → "Integrar..."?

E eu respondo: - Pra poder automatizar o processo no caso de você precisar repeti-lo várias vezes. Por exemplo, se você precisar integrar vários intervalos da variável x, como é mostrado a seguir:

tabela2 = newTable("Tabela2",2,10) # criando uma nova tabela, com 2 colunas e 10 linhas
passo = 1.0 # incremento a ser utilizado para variar o intervalo de integração
lim_ini = 0.0
lim_fin = 1.0
for i in range(1,tabela2.numRows() + 1):
 tabela2.setCell(1,i,(lim_ini+lim_fin)/2)
 integral = Integration(graph("Gráfico1").activeLayer(),"Tabela1_2",lim_ini,lim_fin)
 integral.setMethod(0)
 integral.run()
 tabela2.setCell(2,i,integral.result())
 lim_ini = lim_ini + passo
 lim_fin = lim_fin + passo

Com este procedimento, obteremos uma tabela com valores da integração na segunda coluna e o valor médio do intervalo de integração na primeira.

Se esta informação for útil pra você, faça bom proveito.

Até a próxima.

sexta-feira, 1 de outubro de 2010

Atividades recentes no desenvolvimento

Boas notícias: e-mails recentes na lista de contribuidores [1] do SciDAVis mostram que a equipe de desenvolvimento do programa pode aumentar. Mesmo que os novos interessados contribuam implementando apenas uma ou outra funcionalidade, este aumento no número de programadores é algo que, a meu ver, pode fazer com que outras pessoas se interessem em contribuir para o projeto, seja com código, reportando bugs, divulgando, traduzindo, etc.
Algo que me parece óbvio é que um projeto com um número razoável de contribuidores tenha mais qualidade e funcionalidades e, com isto, a base de usuários tende a aumentar. Aí entramos num "círculo vicioso": projetos com muitos usuários atraem mais desenvolvedores, o que melhora o projeto e isto atrai mais usuários.
É isso aí! Vamos torcer, ou melhor, trabalhar para que o projeto SciDAVis continue evoluindo e sendo livre.

[1] http://sourceforge.net/mailarchive/forum.php?forum_name=scidavis-contributors

quinta-feira, 18 de março de 2010

Atualização disponível (v. 0.2.4)

No dia 12/03/2010 foi lançada a versão 0.2.4 do SciDAVis.
Esta atualização inclui, dentre outras coisas:
- correções de bugs;
- melhorias no desempenho;
- traduções: atualizadas (português, espanhol e alemão) e inclusas (checo);
- múltiplos gráficos podem ter ferramentas ativas simultaneamente;
- novas funcionalidades na API para scripts em Python;
- etc...
É recomendado atualizar para esta última versão.

Download:
O código fonte e a versão para Windows já estão disponíveis [1].
Para Linux:
- um binário universal será disponibilizado em breve;
- será incluído oficialmente na próxima versão do Ubuntu (10.04);
- no Debian, a versão 0.2.3 está na árvore “squeeze” (testing) e deverá ser atualizada para a 0.2.4 em breve;
- um pacote não-oficial para Slackware pode se baixado em [2] (não esqueça de ler os arquivos LEIA-ME e slack-deps). Um pacote foi submetido no "linuxpackages.net" [3], mas a aprovação/hospedagem pode levar algum tempo;
- usuários do Gentoo podem usar: “emerge scidavis” (sem aspas) para instalar o programa;
- pacotes para outras distribuições (Mandriva, Fedora, openSUSE, Arch Linux, etc...) deverão surgir e breve.

Por hora é isto. Aproveitem!

[1] http://sourceforge.net/projects/scidavis/files/
[2] http://www.ifi.unicamp.br/~fellypen/progs/scidavis/
[3] http://www.linuxpackages.net/search_view.php?by=name&name=scidavis&ver=

quinta-feira, 23 de julho de 2009

Atualização do programa e tutorial em português

O SciDAVis já está na versão 0.2.3. Se você ainda não atualizou, é recomendável que o faça, pois foram corrigidos vários bugs, inclusive alguns que faziam o programa quebrar. Além disso, a tradução para o português foi incorporada ao programa neste meio tempo.
-----------------------------------------
Consegui um tempinho para escrever um breve tutorial de introdução ao SciDAVis, em língua portuguesa, que pode ser baixado daqui. Tenho a intenção de fazer a tradução completa da versão em inglês do manual, porém, isto ainda vai demorar um pouco. Espero que o tutorial que escrevi seja útil para novos usuários.

terça-feira, 7 de abril de 2009

Disponível a tradução para a língua portuguesa

Concluí recentemente a tradução do SciDAVis para a língua portuguesa (português brasileiro). O arquivo de tradução ainda não foi incorporado ao programa, sendo necessário baixá-lo aqui.
Leiam o arquivo info.txt, que se encontra na mesma pasta, o qual tem instruções para uso da tradução, que já estará incorporada na próxima versão.
No momento, existem algumas partes do programa que "teimam" em não serem traduzidas. Além disso, alguns diálogos que utilizam texto diretamente das bibliotecas Qt continuam em inglês (seria necessário traduzir tais bibliotecas também...).
A versão atual do programa é a 0.2.1 e pode ser baixada na página de downloads.
Não deixem de olhar a página de bugs conhecidos, novos relatos são bem vindos.
Caso queiram relatar problemas/erros com a tradução me contactem pelo e-mail: fellypao at yahoo com br. Agradeço qualquer ajuda para o aperfeiçoamendo da mesma.

terça-feira, 10 de março de 2009

Objetivos deste blog

Este blog foi criado como forma de apoio (em língua portuguesa) ao programa SciDAVis, (publicando notícias sobre novas versões, tutoriais/manuais de uso, coletando relatos de bugs, etc).
O SciDAVis (Scientific Data Analisis and Visualization, Visualização e Análise de Dados Científicos) é um programa para criação de gráficos (de funções, tabelas de pontos, etc) e análise de dados (através de ajustes de curvas, interpolações, filtros...). Possui uma interface similar à do Origin (r), sendo fácil de usar e muito eficiente (além de gratuito e livre). Surgiu como um "fork" do Qtiplot (o qual se diz um clone do Origin), com o intuito de seguir um caminho próprio.
Para maiores informações visitem scidavis.sourceforge.net (em inglês). Existem versões binárias para Linux (várias distribuições), Windows e MacOS X.
Em breve postarei informações sobre algumas características especiais e links para downloads.
Até mais.