octave é incapaz de plotar veotres muito grandes?[Resolvido]

Iniciado por rudregues, 26 de Outubro de 2012, 22:06

tópico anterior - próximo tópico

rudregues

Pessoal, a plotagem de vetores normais funciona perfeitamente. Por exemplo:

Crio um pequeno vetor:
x=[1 9 87 78 6 4 8 476 67 4554 7 5];
Mando plotar:
plot(x);
Ok! Ele plota.

Agora, eu carrego uma variável de uma arquivo .mat grande(220MB), com dimensão 11520000x7 e mando plotar:
plot(x(1:11520000,1:7));
Ele não plota e usa indefinidamente memória, chegando até 7,8GB de RAM consumido(é o máximo de RAM do meu pc), então dá vários erros, incluindo este por último:
warning: broken pipe -- some output may be lost

Uso o octave3.2 no ubuntu 12.04.
Obs.: tanto no matlab do windows, quanto no matlab do ubuntu, ele plota sem passar muito dos 4,5GB de RAM, mesmo que demore.

Será um bug?!

  [ ]'s
Gentoo — Controle total sobre o sistema.

rudregues

#1
update:
Fiz outro teste aqui, mandei plotar esse vetor num intervalo menor, de 5000000x7 ao invés do total, que é 11520000x7, pouco mais que o dobro.
plot(x(1:5000000,:));
Ele plotou, apesar de demorar bastante, mas com o sistema consumindo 6,5GB no total.

Comparando com o matlab, ele só foi capaz de plotar um gráfico com pouco menos da metade dos dados do total, o matlab plota o total. E mesmo plotando um número menor de dados, ele demora bem mais que o matlab para plotar e gasta bem mais memória RAM pra isso.

Alguém tem alguma sugestão?
Gentoo — Controle total sobre o sistema.

Sergio Benjamim

Já tentou usar uma versão atualizada? Instale a versão 3.6.3, por meio de PPA:

GNU Octave PPA - Mike Miller

Se precisar de toolbox, como Control, instale diretamente pelo GNU Octave, se não me engano é package install -forge nomedatoolbox (tem que ter entrado no GNU Octave como sudo primeiro, e precisa ter instalado o octave-pkg-dev).

Ao instalar essa versão mais recente, se o problema persistir, reporte como bug, em http://savannah.gnu.org/bugs/?group=octave
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

rudregues

Ter instalado uma versão mais recente diminuiu um pouco o problema, mas não eliminou.
Reportei no site que você passou:
https://savannah.gnu.org/bugs/?37636 -> tá aqui o "bug"

Obrigado pela ajuda e vamos torcer pra que isso seja resolvido logo, octave é muito bom! :-)

  [ ]'s
Gentoo — Controle total sobre o sistema.

Sergio Benjamim

#4
Citação de: rudregues online 27 de Outubro de 2012, 00:04
Ter instalado uma versão mais recente diminuiu um pouco o problema, mas não eliminou.
Reportei no site que você passou:
https://savannah.gnu.org/bugs/?37636 -> tá aqui o "bug"

Obrigado pela ajuda e vamos torcer pra que isso seja resolvido logo, octave é muito bom! :-)

 [ ]'s

O pessoal do GNU Octave é bem rápido para responder, esses dias reportei um erro lá, da toolbox Control, e me responderam rápido, e me deram um toque que lá não é o lugar apropriado para reportar problemas de toolbox, mas o Jordi (acho q eh o nome dele) foi muito solicito e mandou para a mailing list o meu problema. Preciso me inscrever nessa mailing list de desenvolvimento para acompanhar o problema.

Acho q a gente podia trocar umas figurinhas a respeito, utilizo muito o GNU Octave em conjunto com o Scilab (mais exatamente o Xcos) no meu curso de Engenharia Elétrica, principalmente para a aula de Controle Linear e Introdução à Processamento de Imagens.

E sim, o Octave é muito bom mesmo! Pena que minha faculdade só liga para soft proprietários. Para o pessoal aqui não existe vida além Matlab. Parece que gostam de gastar dinheiro à toa.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

rudregues

São rápidos mesmo, acabo de resolver o problema utilizando o fltk para plotar (agradecimentos ao usuário Mike Miller). Pesquisei sobre esse fltk e parece que recentemente ele está sendo integrado ao octave, de modo a ter melhor compatibilidade com o matlab. Ele foi integrado ao octave a partir de uma versão 3.6.x do octave, mas como programa beta (ou algo do tipo). A idéia é que o fltk seja o padrão para plotagem no octave daqui a algum tempo.

Pra ativá-lo, antes da plotagem utilizei o comando no octave:
octave:3> graphics_toolkit fltk

Cada vez que inicia uma sessão no octave, o comando precisa ser utilizado novamente, mas perguntei lá se tem algum jeito de deixá-lo por padrão. Se tiver posto aqui pra galera. Tive a impressão de que o octave plotou um pouco mais rápido com o fltk do que a o próprio matlab plotou no windows/ubuntu. Também comparei o uso de RAM no tópico do bug bem aqui https://savannah.gnu.org/bugs/index.php?37636
Uma coisa importante a observar é que com o fltk o suporte de dados é de 10^38 por enquanto (espero que aumente) o gnuplot tem limite de 10^308 dados de plotagem. Ainda bem que ainda to longe dessa quantidade hehehe

O Scilab tive problemas logo no primeiro uso (semana passada), mas também tive no octave. Por enquanto não tenho planos para aprender o Scilab, mas se eu for pra elétrica também vou precisar da Xcos né, pois o octave num tem nada semelhante. Minha facul, quanto à isso, num tenho muito a reclamar. Sempre que possível, dão preferência ao Linux e software livre.

  [ ]'s



Gentoo — Controle total sobre o sistema.

Sergio Benjamim

Eu já conhecia esse fltk, mas não me dei muito bem com ele, o GNU Octave responde devagar quando utilizo ele. Prefiro o Gnuplot por enquanto mesmo, pelo que estou vendo vai demorar para esse fltk ficar estável.

Você conhece o manual/tutorial oficial do GNU Octave?

GNU Octave: Free Your Numbers
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !