Nothepad

10/04/2009

Singularidades de EDO de segunda ordem

Arquivado em: math — nothepad @ 12:18

Considere a equação diferencial de segunda ordem

\frac{d^2y}{dx^2}+P(x)\frac{dy}{dx}+Q(x)y = 0
onde P(x) e Q(x) são polinômios reais.

Analisamos esta equação num ponto x_0 do domínio.

Se o \lim_{x\to{x_0}}^{P(x)} é finito e \lim_{x\to{x_0}}^{Q(x)} também, o ponto é ordinário.

Se um dos dois forem iguais a  \infty trata-se de um ponto singular.
(mais…)

06/04/2009

Octave: configurando para evitar sutilezas

Arquivado em: math — nothepad @ 1:26

Duas sutilezas frequentes no Octave:

  1. Toda vez que o comando “help” é executado, além do “help” aparece no final um texto genérico sobre sites de internet etc. que ocupa 7 linhas inteiras.
  2. O octave continua rodando versões anteriores de arquivos de funções mesmo após terem sido modificados durante a sua sessão, forçando o usuário a “reiniciar” o octave para carregar novamente os arquivos editados

Soluções
(mais…)

Octave: gravar PNG e visualizar 3-D, os dois mantras da funcionalidade

Arquivado em: math — nothepad @ 0:08

21/12/2007

Presente de natal: função do Matlab para conversão de bases numéricas

Arquivado em: math — nothepad @ 10:31

Esta função levei uma hora de estudo para desenvolver, lendo o primeiro capítulo de Shokranian, Salahoddin. Criptografia Para Iniciantes (Brasília: Editora UnB, 2005)

o M-file pode ser baixado clicando aqui

%REPRESENTA Representação de um número decimal em uma base arbritrária
%
%   [M,S,Z]=REPRESENTA(K,B) retorna a representação do decimal K na base B
%   colocando a representação numérica no vetor M, a representação em
%   uma string de soma potências em S e a mesma representação
%   desconsiderando zeros na string Z
%
%   M=REPRESENTA(K) retorna a representação do decimal K na base binária
%   no vetor numérico M
%
if nargin==2
    b=varargin{1};
else
    b=2;
end
s=sprintf('base: %d',b);
disp(s);
m=[];
while k>0
    %k
    %disp('novo algoritmo');
    m=[mod(k,b) m];
    k=floor(k/b);
    %[k m]
    %pause
end;
s='';
z='';
for n=1:length(m);
    %na representação binária, podemos tanto mostrar...
    s=strcat(s, sprintf(' + %d*%d^%d',m(n),b,length(m)-n));
    %... como omitir os zeros
    if(m(n))
        if(m(n)==1)
            z=strcat(z, sprintf(' + %d^%d',b,length(m)-n));
        else
            z=strcat(z, sprintf(' + %d*%d^%d',m(n),b,length(m)-n));
        end
    end
end
s=regexprep(s,'^ \+ ','');
z=regexprep(z,'^ \+ ','');
disp(s);
disp(z);

28/02/2007

Demonstração – superfície regular a partir de função de duas variáveis

Arquivado em: math — nothepad @ 0:05

Primeiramente, deixaremos duas proposições e uma definição que auxiliará na demonstração:

Proposição 1. Se f:U\rightarrow R é uma função diferenciável em um conjunto aberto U de R^{2}, então o gráfico de f, isto é, o subconjunto de R^{3}dado por (x,y,f(x,y))para (x,y)\in U, é uma superfície regular \Box

a\in f(U)é um valor regular de f:U\subset R^{3}\rightarrow R se se somente se f_{x}, f_{y} e f_{z}, não se anulam simultaneamente em qualquer ponto de f^{-1}(a)(os pontos de Uque na função f valem a).

Proposição 2. Se f:U\subset R^{3}\rightarrow R é uma função diferenciável e a\in f(U)é um valor regular de f, então f^{-1}(a)é uma superfície regular em R^{3} \Box
Agora, a parte “prática”: (mais…)

20/02/2007

implementação, exemplos, erros

Arquivado em: linux, math — nothepad @ 17:10

Oops. Isto ainda não funciona 100%.

Melhorias e automatização do processo. Este o objetivo deste script. Basta criar uma fórmula matemática (ou qualquer texto) no aplicativo lyx, salvar e exportar para TeX (pdflatex), e rodar o wpize.py em cima do arquivo. A última linha vai mostrar uma string, que basta ser copiada e colada aqui para funcionar (claro, dá pra mexer nela para corrigir algumas falhas do lyx, para descobrir alguns códigos \LaTeX para símbolos matemáticos veja esta página):

\begin{tabular}{|c|c|c|c|c|} \hline  a11& \dots& a1j& \dots& a1n\tabularnewline \hline  \vdots& & \vdots& & \vdots\tabularnewline \hline  ai1& \dots& aij& & \vdots\tabularnewline \hline  \vdots& & & & \vdots\tabularnewline \hline  am1& \dots& \dots& \dots& amn\tabularnewline \hline \end{tabular}
Curiosamente não se consegue colocar pontos diagonais (\ddots=\ddots) nem subscritos (a_{ij}=a_{ij}) dentro de tabelas, usando o ambiente tabular, o comando falha e aparece algo como:

\begin{tabular}{|c|c|} \hline  \ddots& a_{ij}\tabularnewline \hline \end{tabular}

O script que faz esta comodidade virar realidade está disponível para download na seção de arquivos. Agora vai uma proposição qualquer para apreciar a beleza da mãe de todas as ciências (gerado por wpize2-nonmath.py propo1.tex):

Proposição 1. Se f: U\rightarrow R é uma função diferenciável em um conjunto aberto U de R^{2}, então o gráfico de f, isto é, o subconjunto de R^{3}dado por (x,y,f(x,y))para (x,y)\in U, é uma superfície regular.

Mais tarde, a resolução de um exercício em que se demonstra esta proposição.

Nota: o wpize.py é só pra fórmulas (não mais de dois $’s), o wpize2-nonmath.py é pra textos, que tenham fórmulas dentro de cifrões ($). O segundo é um fork do primeiro.

Modo de uso: abra o lyx, escreva os textos/fórmulas, salve, exporte para TeX (plain), abra um terminal e execute o script com o nome do arquivo .tex exportado como argumento (é o mesmo do .lyx, só que ao invés de .lyx a extensão é .tex). Na última linha vai aparecer o código pronto pra colar no WordPress.

Blog no WordPress.com.