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.
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.
[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:
[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!!