Aqui farei algumas anotações principalmente dicas que facilitam a vida durante minha pesquisa aqui no grupo de Sistemas Complexos do IF-UFF.
Só uma pequena merda que ocorre após instalar as várias versões do Python e sua bibliotecas científicas, parei mais com o vício de Python por conta que a versão 3 inutilizou muitos códigos meus. Mas recentemente estou precisando fazer uns testes de funções e como sempre o Python é uma boa pedida.
A merda é que a pylab não funciona com o backend selecionado por padrão, isso a gente descobre quando abrimos o ipython com a flag –pylab
e tentamos plotar algum gráfico, apenas o objeto é criado e nada é exibido. É fácil mudar isso, basta alterar o arquivo:
vim /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc
Provavelmente o endereço dele é dado de bandeja quando usamos a função show()
e o python retorna o erro de backend. Usei o vim para editar o arquivo, mas use o que preferir. Meu ipython trabalha com a versão 2.7 logo, alguns diretórios tem esse número no nome. Lá no arquivo ache a linha backend : Agg
e mude para um que exiba seus gráficos, por exemplo backend : MacOSX
.
Já algum tempo sem postar, mas não pude de fazer essa nota pois descobri isso sem auxílio do google. Havia simulado um novo conjunto de dados com os mesmos parâmetros, trocando apenas as sementes do gerador de números aleatórios, então adicionei a letra b aos nomes dos novos arquivos, mas quando fui utilizar novamente os dados antigos, e agora? Como posso lista-los já que o nome difere apenas pela letra b:
ls nomecomum*b.dat # para aqueles arquivos que terminam em b.dat ls nomecomum*[ˆb].dat # para os arquivos que não terminam em b.datPor isso gosto do shell, você vai desvendando as possibilidades.
Uma ótima ferramenta de análise de dados, o R, pode mandar mensagens pro melhor programa para a visualização destes. Basta usar:
library('TeachingDemos') gp.open('/usr/bin/gnuplot') # ou onde é que seu binário para o gnuplot está gp.plot(x,y,'p ou l') # use p para pontos e l para linhas gp.splot(x,y,z) # o legal que eles, x, y e z, são vetores do R gp.send('o comando de gnuplot que lhe der na telha')
não aprendi a controlar o tamanho dos pontos e demais frescuras
Um pouco sobre performance de geradores: http://blogdocalouro.blogspot.com/2009/12/numeros-aleatorios-performance.html
Como usar o gerador mais rápido, o problema é que é intel, então nem todos podem ter: http://blogdocalouro.blogspot.com/2009/12/gerando-numeros-aleatorios-com.html
Valeu Daniel pela dica.
Errei ao dar o nome nos arquivos em apenas um parâmetro então não quero renomear um por um dos arquivos, muito menos rodar o programa novamente com o nome certo, então apenas fazemos isso:
for i in $(ls N=10000_K=20_e=0.1_J=-6_*); do mv $i ${i/N=10000/N=100000}; done
Nesta linha $()
deposita a saída do comando ls no vetor que alimentará o laço for
, então $i retorna o nome dessa variável e ${}
apenas substitui a substring N=10000
contida em i
pela desejada N=100000
, simples assim. Acho que existe uma forma mais fácil ainda, se descobrir eu publico.
Quando você manda seu programa gerar números num formato específico usando a printf
do ANSI C, existe a possibilidade de escrever esse mesmo formato usando o R, isso é muito útil quando precisamos ler arquivos nos quais geramos seus nomes com a função sprintf
.
formatC(x, format="f")
Podemos usar todos os formatos do C, não somente o f
, se por acaso o número foi escrito com %f
para floats
, mas podemos usar d
para int
's, g
, lf
, u
e assim por diante…
Para o formato específico g
podemos usar:
format(x, format=g, digits=-1, width=-1)os valores negativos para as opções
digits
e width
fazem a formatação usar o padrão de seis algarismos significativos padrão do C e faz a justificação do número ser à esquerda.
Esse é um email que mandei para um professor algum tempo atrás e por sorte ele não foi perdido quando fui questionado novamente a esse respeito, então publico aqui pra ter mais uma cópia:
Copie a pasta que você baixou revtex4 para
/usr/share/texmf/tex/latex
:
no diretório que está a pasta revtex4
é só dar o comando
sudo cp -r revtex4 /usr/share/texmf/tex/latexe o diretório é copiado graças à flag -r.
Agora crie um diretório revtex4 em /usr/share/texmf/bibtex/bst é só fazer
sudo mkdir /usr/share/texmf/bibtex/bst/revtex4então mova os arquivos *.bst para essa pasta
sudo mv /usr/share/texmf/tex/latex/revtex/*.bst /usr/share/bibtex/bst/revtexPronto seu estilo revtex4 está no diretório padrão do tex inclusive o estilo do bibtex. Agora execute
sudo texhash
para atualizar os dados das classes instaladas.
Claro que estou supondo que o usuário é um sudoers senão tudo deverá ser feito como su sem o comando sudo
antes.
Primeiramente esse tutorial é ótimo: Transferindo arquivos com o rsync.
Mas como preciso apenas ficar levando arquivos da universidade para casa preciso apenas desse comando:
rsync -Cravzp orahcio@minhamaquinanauff:./algumapastapessoal/essaaqui ~/algumapastapessoale a pasta essaaqui será espelhada para sua algumapastapessoal. Melhor do que arrastar e soltar.
A variável mágica é o array $@
que armazena os parâmetros da linha de comando:
#!/bin/sh for i in $@ do echo $i donee você imprime no terminal os parâmtros que foram passados, para usar um parâmetro em específico use
$0
, que armazena o nome do script, $1
o primeiro parâmetro, $2
o segundo, e assim por diante.
P.S.1: Para escrever $ no wiki use o <nowiki> $ </nowiki> ou %% $ %%. Metalinguagem dá trabalho.
P.S.2: a partir do décimo parâmetro temos que usar ${10}
, do contrário o shell irá usar o parâmetro 1
e escreverá um 0
em seguida.