Singularidades de EDO de segunda ordem

Considere a equação diferencial de segunda ordem

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

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

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

Se um dos dois forem iguais a $latex \infty $ trata-se de um ponto singular.
Continuar lendo

Octave: configurando para evitar sutilezas

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
Continuar lendo

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

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);

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

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

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

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

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

implementação, exemplos, erros

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 \LaTeX$ para símbolos matemáticos veja esta página):

$latex \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=$latex \ddots$) nem subscritos (a_{ij}=$latex a_{ij}$) dentro de tabelas, usando o ambiente tabular, o comando falha e aparece algo como:

$latex \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 $latex f: U\rightarrow R$ é uma função diferenciável em um conjunto aberto $latex U$ de $latex R^{2}$, então o gráfico de $latex f$, isto é, o subconjunto de $latex R^{3}$dado por $latex (x,y,f(x,y))$para $latex (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.