Esta página mostra as diferenças entre as duas revisões da página.
| Ambos os lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
|
inf05504:dicas [2013/08/21 16:41] marcus [Relatório] |
inf05504:dicas [2025/03/18 11:06] (Actual) |
||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| - | ==== Plotar dados com Gnuplot ==== | + | ===== Regressão e plots ===== |
| - | Gerar um arquivo dados.txt: | + | ==== Regressão linear com GNU R ==== |
| - | <code> | + | [[http://nbviewer.jupyter.org/url/www.inf.ufrgs.br/~mrpritt/aa/Regressão linear com GNU R.ipynb]] |
| - | # x f(x) | + | |
| - | 1 0.01 | + | |
| - | 2 0.05 | + | |
| - | 4 0.10 | + | |
| - | 8 0.15 | + | |
| - | 16 0.20 | + | |
| - | 32 0.22 | + | |
| - | 64 0.32 | + | |
| - | </code> | + | |
| - | Plotar: | + | ==== Plotar dados com Gnuplot ==== |
| - | * Plot simples: <code> plot "dados.txt" w linesp</code> | + | [[http://nbviewer.jupyter.org/url/www.inf.ufrgs.br/~mrpritt/aa/gnuplot.ipynb]] |
| - | * Plot f(x)/log(x): <code>plot "dados.txt" w linesp using 1:($2/log($1))</code> | + | |
| - | Eixos: | + | ===== Medir tempo ===== |
| - | * Eixo x: <code> set xlabel "Número de arestas" </code> | + | |
| - | * Eixo y: <code> set ylabel "Tempo (em ms)" </code> | + | |
| - | (Dicas avaçadas para gnuplot: [[:tufte|aqui]].) | + | ==== Em C++ ==== |
| - | + | ||
| - | ==== Regressão linear com GNU R ==== | + | |
| - | + | ||
| - | Gerar um arqivo de dados: | + | |
| - | <code> | + | |
| - | n t | + | |
| - | 2 0.77 | + | |
| - | 4 0.87 | + | |
| - | 8 1.19 | + | |
| - | 16 2.36 | + | |
| - | 32 7.57 | + | |
| - | 64 27.91 | + | |
| - | 128 92.52 | + | |
| - | 256 336.13 | + | |
| - | 512 1434.72 | + | |
| - | 1024 6024.10 | + | |
| - | 2048 24390.20 | + | |
| - | 4096 100000.00 | + | |
| - | </code> | + | |
| - | + | ||
| - | Em GNU R (para uma hipótese polinomial): | + | |
| - | <code> | + | |
| - | d=read.table("r.dat",header=T) | + | |
| - | lm(d$t~d$n) | + | |
| - | </code> | + | |
| - | + | ||
| - | ==== Medir tempo ==== | + | |
| - | + | ||
| - | === Em C++ 11 === | + | |
| <code c++> | <code c++> | ||
| #include <chrono> | #include <chrono> | ||
| Linha 63: | Linha 22: | ||
| cout << chrono::duration_cast<chrono::milliseconds>(chrono::system_clock::now()-t).count() << endl; | cout << chrono::duration_cast<chrono::milliseconds>(chrono::system_clock::now()-t).count() << endl; | ||
| </code> | </code> | ||
| - | (No g++: opção "-std=c++0x" para C++ 11.) | + | (No gcc/clang: opção "-std=c++20" para C++ 20.) |
| - | === Em C === | + | ==== Em C ==== |
| [[http://stackoverflow.com/questions/361363/how-to-measure-time-in-milliseconds-using-ansi-c]] | [[http://stackoverflow.com/questions/361363/how-to-measure-time-in-milliseconds-using-ansi-c]] | ||
| - | ==== Relatório ==== | + | ==== Medir memória ==== |
| + | |||
| + | Duas dicas para medir memória: | ||
| + | |||
| + | * Internamente: [[http://stackoverflow.com/questions/372484/how-do-i-programmatically-check-memory-use-in-a-fairly-portable-way-c-c%29]] | ||
| + | * Externamente: [[http://stackoverflow.com/questions/131303/how-to-measure-actual-memory-usage-of-an-application-or-process]] | ||
| + | |||
| + | ===== Relatório ===== | ||
| * [[Relatório|Regras gerais para relatórios]] | * [[Relatório|Regras gerais para relatórios]] | ||
| * Modelo do relatório: {{R.tex|Fonte LaTeX}}, {{R.bib|Fonte .bib}}, {{R.pdf|PDF}} | * Modelo do relatório: {{R.tex|Fonte LaTeX}}, {{R.bib|Fonte .bib}}, {{R.pdf|PDF}} | ||
| - | * Para compilar vocês tem que baixar o estilo UFRGS em [[http://www.inf.ufrgs.br/utug]] e modificar o {{iiufrgs.cls}}. | + | * Para compilar vocês tem que baixar o estilo UFRGS em [[http://www.inf.ufrgs.br/utug]] e substituir o {{iiufrgs.cls}}. |