Caderno de anotações

Aqui farei algumas anotações principalmente dicas que facilitam a vida durante minha pesquisa aqui no grupo de Sistemas Complexos do IF-UFF.

gnuplot-mode no macosx

Alguma atualização do emacs para MacOs fez com que o gnuplot-mode não rodasse mais, e vi que alguns fontes desse modo para interagir com o gnuplot estão bem desatualizados. A dica é pegar o arquivo fonte de uma distribuição do Debian, por exemplo essa aqui e extrair o arquivo gnuplot.el e colocá-lo na sua pasta lisp desejada, aqui usei na minha home

~/.emacs-lisp/

O arquivo .emacs deve estar com os seguintes comandos

;; make sure file is visible to emacs (if needed)
;; I've used ~/.emacs-lisp/ as my lisp directory
(add-to-list 'load-path "/path/to/your/lisp/files")
 
;; load the file
(require 'gnuplot-mode)
 
;; specify the gnuplot executable (if other than /usr/bin/gnuplot)
(setq gnuplot-program "/sw/bin/gnuplot")
 
;; automatically open files ending with .gp or .gnuplot in gnuplot mode
(setq auto-mode-alist 
(append '(("\\.\\(gp\\|gnuplot\\)$" . gnuplot-mode)) auto-mode-alist))

Isso rodou com Aquamacs e o Emacs puro e seco para o MacOS.

Protocolo de instalação do abntex no MacOSX

Primeiramente localize onde sua instalação do texlive copia os arquivos no meu caso:

/usr/local/texlive/2012/
o ultimo diretório pode ser o ano da distribuição do texlive, depois de baixar a última versão do abntex desempacote e mande o conteúdo do que tem no diretório texmf do abntex em questão para o respectivo:
/usr/local/texlive/2012/texmf
de sua distribuição texlive, os arquivos dos estilos bibtex e latex já estão todos bem organizados no pacote da distribuição baixada.

O passo final de instalação é rodar o texhash pra atualizar a listagem de pacotes do latex. Para isso rode texhash no terminal, pra ter certeza que rodou o programa correto pode rodar

/usr/local/texlive/2012/bin/x86_64-darwin/texhash
pois seu texlive está instalado neste diretório, faça isso como super usuário claro.

Uma coisa que me deu problema ao usar o abntex foi na hora de rodar o bibtex pois o arquivo .aux gerado colocava o estilo plain na bibliografia, mesmo eu usando

\usepackage[alf]{abntcite}
\bibliographystyle{abnt-alf}
para uma lista de referências e citações sem números, apenas escrevendo os autores. Quando editei o respectivo arquivo .aux gerado, retirando a parte \bibstyle{plain}, a coisa funcionou bem.

Desligar o acesso ao disco no macosx

Uma dica achada aqui e que deixa o gerenciamento de memória do Mac OSX do mesmo jeito que no Linux, gaste toda memória física primeiro pra depois usar o swap:

Desligue a paginação para o disco

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

e depois reinicie o computador. Os processos que usam muita RAM irão rodar sem problema, anteriormente eles rodavam mais lentos pois simplesmente acessavam o disco para qualquer coisa.

Para reabilitar o tipo de acesso anterior basta usar o comando acima com a opção load ao invés de unload, como sugerido pelo macworld.

tkplot do igraph no R para macosx

Só para poder usar o R com todos os recursos que tínhamos no linux baixe o .dmg do tk neste link.

E também esse é um bom usuário de R, http://blog.ynada.com/.

Montando sua biblioteca de gestos

Uma dica para era das telas de toque. Existe um aplicativo que reconhece símbolos latex pelo seu desenho, ótimo pra quem está com preguiça de olhar a tabela de símbolos matemáticos do latex. É chamado de Detexify e é possível obtê-lo gratuitamente na loja google mais próxima do seu dedo, deve haver para iPhone também.

Mas para aqueles que possui um aparelho desses que não são compatíveis com este ótimo aplicativo :( é possível montar sua própria biblioteca de gestos com o Gesture Tool. Dessa forma toda vez que precisar de um símbolo Graph maluco vá no Detexify desenha ele, veja qual o código latex e insere o mesmo na sua biblioteca Gesture Tool. Dessa forma você nunca mais irá esquecer o símbolo e não vai precisar mais consultar nada. Mas caso isso ocorra lá está ele no seu telefone.

GSL no Mac OSX Lion

Uma novidade “boa” do XCode no Lion é que já vem com a gsl inclusa por padrão nele, porém não para arquitetura x86_64, logo ao compilarmos algum código que utilize a gsl devemos especificar a arquitetura disponível,

gcc source.c -lgsl -lgslcblas -lm -arch i386
e assim tudo volta a ser como era antes. Mais informações na lista da biblioteca gsl: http://osdir.com/ml/help-gsl-gnu/2010-02/msg00031.html

Uma forma mais inteligente é instalar uma biblioteca mais nova, usando o macports por exemplo, e linkar essa nova biblioteca:

$ C_INCLUDE_PATH=.:/opt/local/include # onde estao os cabeçalhos
$ LIBRARY_PATH=.:/opt/local/lib # onde esta a gsl
$ export C_INCLUDE_PATH
$ export LIBRARY_PATH
o macport instala praticamente todos os pacotes em /opt/local.

Reiniciar cups no OSX

Quando as impressoras não estiverem aparecendo, mesmo se você vai nas preferências do sistema. Deu alguma merda no serviço cups. O link abaixo mostra os comandos:

sudo launchctl stop org.cups.cupsd # para parar o serviço
sudo launchctl start org.cups.cupsd # para iniciar o serviço

Onde encontrar os comandos para tal.

Agora pode digitar no navegador http://localhost:631 e configurar suas impressoras.

Integração Numérica com GSL (erro de integração)

Se o seguinte erro surge numa tentativa de integração com a biblioteca GNU Scientific Library (gsl):

gsl: qags.c:548: ERROR: cannot reach tolerance because of roundoff error
Default GSL error handler invoked.
tente aumentar o erro relativo nos parâmetros de seu integrador:
 gsl_integration_qag (&funcao, inicio, fim, 0., 1e-7, Nx, 1, workspace, &result, &error); // 1e-7 é o erro relativo tente um valor mais alto e compile novamente.

Antes disso verifique se a função a qual você quer integrar está correta., até o momento não tive problemas em definir um erro absoluto igual a 0.

Mais informações de como usar os integradores da gsl em:

http://www.gnu.org/software/gsl/manual/html_node/Numerical-Integration.html

Título para múltiplos gráficos no R

Além de uma poderosa ferramenta para análise estatística de resultados experimentais ou provenientes de simulações o R constrói gráficos muito bacanas também para seu artigo. Dessa maneira se você for optar por múltiplos gráficos numa página e precisa de um título comum a todos use a função mtext lembrando antes de definir margens externas com a função par:

par(mfrow=c(1,2),mar=c(4,4,1,1),oma=c(0,0,2,0))
plot(x,y)
plot(t,r)
mtext('título comum aos dois plots',outer=TRUE)
aqui par define que serão dois gráficos lado a lado com o vetor c(1,2) passado como valor do argumento mfrow, mar define margens internas de cada gráfico, em que o vetor deve possuir valores para os tamanhos das margens inferior, esquerda, superior e direita respectivamente, e oma define as margens externas, escolhi adicionar 2 espaços para a parte superior apenas. Na sequencia os comandos plot para desenhar os gráficos obedecendo o layout aplicado em par e o título mtext com o argumento outer verdadeiro para que a string fique nas margens externas.

Notação Científica no R

É menos intuitiva que nos outros programas de gráficos (gnuplot, xmgrace), porém é possível fazer também. Primeiro crie a função que irá retornar a lista de expressões que você usará no atributo labels da função axis que cria os eixos:

flabs <- function(l) {
        # definimos o comprimento da lista de entrada l
	n <- length(l)
        # criamos um vetor de expressões vazio
	labs <- vector("expression",n)
        # um loop para preencher a lista com seus devidos valores, a função substitute retorna um objeto que contém a expressão no índice 2
	for(i in 1:n) {
		labs[i] <- substitute(expression(10^x),list(x = l[i]))[2]
	}
	return(labs)
}

Agora é só fazer um gráfico sem eixos, e logo em seguida construir os eixos com a função axis:

plot(x,y,axes=FALSE,frame.plot = TRUE)
# no eixo x
axis(1,at=axTicks(1),labels=flabs(log10(axTicks(1))))
# no eixo y
axis(2,at=axTicks(2),labels=flabs(log10(axTicks(2))))

isso funciona apenas para eixos proporcionais a . Mas caso necessite de algo como acrescente o número ao construir a expressão em flabs.

Conclusão. formatar eixos no R é bem artesanal.

O resultado dessa peleja é o gráfico inserido abaixo.

cumdistmod.pdf

Linkbacks

Use the following URL for manually sending trackbacks: http://complex.if.uff.br/lib/plugins/linkback/exe/trackback.php/orahcio:home
orahcio/home.txt · Última modificação: 2011/07/24 22:22 por orahcio
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0