Octave - Programação científica no Linux

Para todos os que realizam simulações usando MatLab e companhia, agora podem usar mais uma ferramenta do mundo livre: Octave. Neste artigo, e nos próximos (já escritos), vamos fazer mais que uma introdução. Veremos como usar o Octave para realizar as mais diferentes tarefas científicas no Linux.

[ Hits: 36.833 ]

Por: Juliao Junior em 12/09/2008


Equações diferenciais



Octave possui funções internas para resolver equações diferenciais não-lineares da forma:

dx/dt = f(x,t)

com a condição inicial:

x(t = t0) = x0

Para o Octave integrar equações desta forma, primeiro devemos fornecer uma definição da função f(x,t). Isto é feito de forma direta, e pode ser realizado diretamente na linha de comando. Por exemplo, os comandos abaixo definem as funções do lado direito para um interessante par de equações diferenciais não-lineares.

Note que enquanto você está entrando com uma função, o Octave responde com um prompt diferente, justamente para indicar que está esperando que você complete a entrada de dados.

octave:8> function xdot = f (x, t)
>
>  r = 0.25;
>  k = 1.4;
>  a = 1.5;
>  b = 0.16;
>  c = 0.9;
>  d = 0.8;
>
>  xdot(1) = r*x(1)*(1 - x(1)/k) - a*x(1)*x(2)/(1 + b*x(1));
>  xdot(2) = c*a*x(1)*x(2)/(1 + b*x(1)) - d*x(2);
>
> endfunction

Fornecendo a condição inicial:

     x0 = [1; 2];

e o conjunto de saídas- um vetor coluna (veja que a primeira saída corresponde à condição inicial dada acima):

     t = linspace (0, 50, 200)';

é fácil integrar o conjunto de equações diferenciais. Veja como:

     x = lsode ("f", x0, t);

A função "lsode" usa "Livermore Solver for Ordinary Differential Equations", descrito em A. C. Hindmarsh, ODEPACK, a Systematized Collection of ODE Solvers, em: Scientific Computing, R. S. Stepleman et al. (Eds.), North-Holland, Amsterdam, 1983, páginas 55-64.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Aritmética Matricial
   3. Equações diferenciais
   4. Gráficos e help
Outros artigos deste autor

CSS - Manual de Estilo (parte 3)

Distro-VOL: Meta-pacotes e comandos

Python, o curso (parte 1)

Blender - Iniciante (parte 1)

Inkscape - Introdução (parte 2)

Leitura recomendada

OcoMon RC6 + AD - Instalação e configuração

MainActor: Edição de vídeo profissional (Adobe Premiere) em Linux

VPN no CentOS 5 - via Yum

OCS-NG Inventory no Debian 8 (Jessie) - Instalação e Configuração

SIGE Plus, uma derivação do código do Siages descontinuado pela Solis

  
Comentários
[1] Comentário enviado por RhuanLima em 13/09/2008 - 02:08h

Otimo post! vou dar uma pesquisada sobre o octave, eu uso bastante o R que é um software estatistico mto mto bom trabalhamso com ele na UFPR caso tenha interesse:


http://www.r-project.org/

Abrç

[2] Comentário enviado por romualdoandre em 14/09/2008 - 09:38h

Ainda há alguns problemas com a função 'print' do Octave, nem todas as opções funcionam. Mas utilizo o Octave como alternativa ao Matlab e não tive problemas. Outros pontos a favor do Octave são o tamanho ocupado no disco e a contribuição da comunidade.

[3] Comentário enviado por liviocf em 14/09/2008 - 13:32h

Muito bom artigo! O Octave me parece uma ótima ferramenta!
Mas no mesmo estilo temos também o SciLab, que também possui recursos semelhantes ao octave e ao Matlab! Atualmente utilizo o SciLab para testar alguns cálculos de álgebra linear aplicada à biologia e ele está se mostrando muito bom!!
Quem sabe com seu artigo eu me inspiro a escrever meu primeiro falando um pouco também do SciLab!!!!
Parabéns pelo artigo!!

[4] Comentário enviado por f_Candido em 14/09/2008 - 16:34h

Gostei. Super simples de usar.
Parabéns,

Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts