Saturday, November 13, 2010

Dica Python: Função lambda & Matplotlib para aproximar derivada e visualizar gráfico

O código abaixo mostra como usar o matplotlib e funções lambda em Python para computar a derivada e visualizar o gráfico. No gráfico é possível ver a função \(f(t) = t^2\) e a equação aproximada para tangente num ponto P de f(t).
Em Python lambda é uma função que contém só expressões. Sua forma geral é:
f = lambda [lista de parâmetros] : [expressão].

A biblioteca Matplotlib para Python, serve para visualização de dados em forma de gráficos. (Este código também utilizará recursos do Numpy de forma direta.)

Para mais informações visite:
www.python.org
www.scipy.org
http://matplotlib.sourceforge.net/

Aproximando a derivada
Para calcular a aproximação para derivada, em geral, a partir da definição, utiliza-se a
forma:
$$ f'(x) \approx \lim_{h \to 0} \frac{f(x + h) - f(x)}{h} $$ .
O valor para f' é obtido aplicando-se limite, ou seja, \(f'(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}\), que significa que "a medida que tomamos valores da h cada vez mais próximos de 0 o valor do limite se tornará mais próximo de L logo,
$$ \lim_{h \to 0 } f(x) = L$$ .

Para mais informações:
www.openstudy.com/
http://ocw.mit.edu/
www.wikipedia.org/

Nestes sites é possível encontrar video aulas, informações extras e etc.. O código desta dica está abaixo e com comentários.

#-*- encoding: utf-8 -*-
#Este codigo desenha o gráfico de f e uma aproximação
#para sua tangente em P.

import numpy
import numpy as np
import matplotlib.pyplot as plt


#Aproximação da derivada : d/dx(f) = f'(x) ~ (f(x+h) - f(x))/h
#Função que aproxima valor da derivada em P
def deriv(f, x, delta):
return ( (f(x+delta) - f(x))/delta )

#Vetor contendo valores para t. Usada para grfico
t = np.arange(-1.0, 2.5, 0.1)
#Cria "figura" para o gráfico.
plt.figure(1)

#Função y=f(x)
f = lambda x: x**2

#Aproximação para equação da reta tantegente a função
#f(t) em P(x1,y1).
r = lambda x, x1, y1, delta: deriv(f, x1, delta)*(x-x1) + y1

#texto para os eixos de coordenadas
plt.xlabel('t')
plt.ylabel('f(t)')

#titulo
plt.title('Aproximando valor da derivada')

#Definindo P=(x0,y0). Ponto de tangência.
x0, y0 = 1.5, f(1.5)

#f'(x) ~ ( f(x+h) - f(x) )/ h
#Parametro para aproximação
h= 0.00001


#Criando gráfico.
plt.plot(t,f(t), t, r(t,x0, y0, h), x0, y0, 'bo')

#Exibindo o gráfico
plt.show()

Gráfico:





(Para dicas, sugestões e correções e/ou apontamento de erros favor
deixar seu comentário.)

Saturday, June 12, 2010

ChatBot Taina Maria

Acabo de publicar em minha página do Google Code um pequeno código python para criação de chatbot. Ele aproveita recursos do Speech SDK 5.1 Windows para reconhecimento e sintese de voz.
Testei com windows XP usando em inglês. Para Windows XP só encontrei o pacote para reconhecimento de inglês, japonês e chinês simplificado.
Os requerimentos são: Pytho2.6x+, PySpeech, Comtypes, PythonWin32, Speech SDK Windows. Mais informações e o link estão disponiveis em http://www.arttecnologwr.110mb.com.
Dúvidas, comentários e sugestões favor contactar-me.
Minha página: https://sites.google.com/site/wanartsci e http://code.google.com/p/codesart.
Links requerimentos:

www.microsoft.com/speech

www.python.org

http://code.google.com/p/pyspeech/

http://sourceforge.net/projects/comtypes/files/

http://sourceforge.net/projects/pywin32/

http://pyaiml.sourceforge.net/

Links interessantes
http://surguy.net/articles/speechrecognition.xml
http://www.daniweb.com/forums/thread88358.html
http://probing.wikidot.com/speech-recognition-using-sphinx3-and-python
http://www.wxpython.org/







Tuesday, November 17, 2009

TV Lux - Emissora de tv católica

Tem alguns dias que descobre esta emissora. quando pesquisava sobre tvs online. A TV Lux é uma emissora de televisão católica da Eslováquia originada em 2008. Programas da emissora são centrados em valores cristãos. É possível assisti-la no site ou usando um programa reprodutor de vídeo que permita abrir urls exibir conteúdo de vídeos. O link para o site da emissora está publicado no blog.

Saturday, October 03, 2009

Publicando Códigos - Editor de texto em Python

Publiquei em meu site o link do endereço onde disponibilizarei códigos fontes de pequenas aplicações que eu prentendo escrever. O primeiro código é de um editor de texto simples, que foi escrito em Python usando Tkinter. O endereço de minha página está abaixo. Os códigos serão hospedados no projeto Google Code.

www.arttecnologwr.110mb.com/

Friday, August 14, 2009

Projeto AIKO

Um sonho prestes a virá realidade, assim que definiria o projeto AIKO. Uma verdadeira obra de arte fruto da genialidade humana, criada pelo senhor Le Trung. Aiko possui algumas habilidades como por exemplo poder simular a sensação de dor e reagir a isto.

Suas aplicações práticas vão desde uma simples companhia à ajudar arrumar a casa ou auxiliar no trabalho em um escritório. Além de possuir diversos sensores espalhados pelo corpo. Ela também pode falar e interagir com um humano e é capaz de reconhecer aproximadamente 13.000+ sentenças e ainda pode ler livros entre outras coisas.
No site do projeto é possível encontrar informações técnicas sobre hardware e software utilizados na construção da AIKO. Segundo Le Trung "Com a atual tecnologia é impossível desenvolver um hardware e software capaz de imitar um sistema vivo.".


Características da AIKO

Altura: 1.52 m
Busto: 82 cm
Idade: 20 (aproximadamente vinte e poucos anos)
Cintura: 57 cm
Quadril: 84 cm

Link Interessante: www.societyofrobots.com

Video da AIKO cantando tema do anime Record of Lodoss War