jueves, 28 de junio de 2012

Código fuente de convolución entre dos funciones rect(x)

Hola a todos allá afuera en la red!. En un post anterior escribí algo acerca de la convolución entre dos funciones rect(x). Ahora os dejo el programa que realiza la convolución entre las dos funciones, esta escrito para Matlab u Octave; elijan el que deseen, ya que no es lo mismo pero es igual hahaha.

---------------------Inicio de código------------------

%Este es el eje x
LongitudVector= 2.5; %2.5 unidades
ResolucionEjex = 0.001;
Eje_x = -LongitudVector:ResolucionEjex:LongitudVector;
[d, LongitudEjex] = size(Eje_x); %Número de elementos en Eje_x
FuncRect = zeros(1,LongitudEjex); %esta es una función rect
FuncRect02 = zeros(1,LongitudEjex); %esta es la otra función rect

desplaza = 0; %desplazamiento sobre el eje x
AnchoPulso = 1; %Ancho de la función
a1 = -AnchoPulso/2 + desplaza; %Límites del ancho de pulso
a2 = AnchoPulso/2 + desplaza;

%En este ciclo se genera la función rect
for i = 1:1:LongitudEjex
if ((Eje_x(i) >= a1) && (Eje_x(i) <= a2))
FuncRect(i)=1;
else FuncRect(i)=0;
end
end

desplaza = 1.5; %desplazamiento sobre el eje x
AnchoPulso = 1; %Ancho de la función
a1 = -AnchoPulso/2 + desplaza; %Límites del ancho de pulso
a2 = AnchoPulso/2 + desplaza;

for i = 1:1:LongitudEjex
if ((Eje_x(i) >= a1) && (Eje_x(i) <= a2))
FuncRect02(i)=1;
else FuncRect02(i)=0;
end
end

%plot(Eje_x,FuncRect);
%hold
%plot(Eje_x,FuncRect02, 'r');
xlabel('x');
ylabel('Amplitud');

%Recuérdese que en la convoloción una de las funciones debe de
%ser invertida.
FuncRectInvertida = FuncRect(LongitudEjex:-1:1);
%plot(Eje_x,FuncRectInvertida);
Convol = size(1,2*LongitudEjex-1);

for i = 1:1:2*LongitudEjex-1
Convol(i)=0;
for j = max(1-LongitudEjex + i, 1): min(LongitudEjex,i)
k = i - j + 1;
Convol(i) = Convol(i) + FuncRect(j)*FuncRectInvertida(k);
end
end

Eje_x = -(LongitudEjex-1):(LongitudEjex-1);
plot(Eje_x.*ResolucionEjex,Convol.*ResolucionEjex);

----------------Fin de código------------------------

En en código, dejé comentadas las lineas que plotean las dos funciones rect(x), así que si desean ver las dos funciones rect(x) sólo quiten % y listo.



Funciones Rect(x)


El resultado final y de interés se muestra en la siguiente figura.

Convolución de dos funciones Rect(x)


Espero les sirva, y que la fuerza los acompañe!!!

jueves, 12 de abril de 2012

Convolución entre dos funciones rect(x)

Hola a todos, espero esten bien. En esta ocación explicaré un poco acerca de la convolución entre dos funciones rect, rectángulo, pulso cuadrado o como quieran y deseen llamarla, haha. Que se define de la siguiente manera:
Daría igual escribirla de la siguiente manera:

Pero antes de realizar la convolución entre dos funciones rect(x), voy a explicar un poco acerca de la convolución. Recuerden que la convolución se define como:

La expresión extraña anterior, significa que la convolución depende de x aunque en la integral pareciera que u es la variable de la que depende la convolución. Para aclarar ésto, si se toma esa expresión integral así como se muestra y en g(x-u) a x se le asigna el valor de cero entonces quedaría algo como:

Que para muchos es más claro observarlo, es una integral de la multiplicación etre las dos funciones f(x), en este caso f(u) y g(x) o g(-u), donde lo que se está integrando es el área resultante de la multiplicación de esas dos funciones. El signo negativo en g(-u) significa que la función esta invertida; o de manera gráfica:


Se convierte en:


Entonces de manera más clara aún, es una integral de la multiplicación de dos funciones en donde una función se mantiene igual mientras que la otra se invierte.

El hecho de que el argumento de la función g(x) se convierta en g(x-u) significa que ésta función se desplaza sobre todo el eje x; ésto es, que x toma valores que van desde infinito negativo hasta infinito positivo, o en otras palabras que la función g(x-u) se mueve, no es fija. Mientras que la función f(x) se mantiene fija.

Entonces cada vez que g(x-u) se mueve sobre el eje x, se tiene que multiplicar por la función f(u) y después de eso, se integra el área bajo la curva que resulta de esa multiplicación.

Ahora que ya se tiene una idea de que es la convoloción sería más claro realizar la convolución entre dos funciones rect(x). Entonces se tiene que:



Por lo que:

La convoloción la realizé en dos integrales porque primero se desplaza la función g(x-u) de infinito negativo hasta cero y la otra es porque se desplaza desde valores de x que van de cero hasta infinito positivo. Pueden observar esto en las gráficas siguientes.

x+0.5; con x = -1.5x+0.5; con x = -1.0
x+0.5; con x = -0.75
x+0.5; con x = -0.5x+0.5; con x = -0.25

x+0.5;con x = 0

x-0.5; con x = 0.25

0.5-1; con x = 0.50
x-0.5; con x = 0.75

x-0.5; con x = 1.0

x-0.5; con x = 1.5











domingo, 13 de noviembre de 2011

Aprender a pensar

En los últimos días he estado escombrado mis archivos, tanto de soporte de papel como los digitales. Y me he encontrado con una historia curiosa. El archivo me lo regalaron en la época en la que estudiaba en la Universidad, no sé de dónde lo han obtenido y tampoco sé si es verdad, pero resulta interesante y divertido. Lo comparto con todos en la red.



Sir Ernest Rutherford, presidente de la Sociedad Real Británica y Premio Nobel de Química en 1908, contaba la siguiente anécdota:

Hace algún tiempo, recibí la llamada de un colega. Estaba apunto de poner un cero a un estudiante por la respuesta que había dado en un problema de física, pese a que este afirmaba con rotundidad que su respuesta era absolutamente acertada. Profesores y estudiantes acordaron pedir arbitraje de alguien imparcial y fui elegido yo.

Leí la pregunta del examen y decía:

Demuestre como es posible determinar la altura de un edificio con la ayuda de un barómetro.

El estudiante había respondido:

Lleva el barómetro a la azotea del edificio y átale una cuerda muy larga. Descuélgalo hasta la base del edificio, marca y mide. La longitud de la cuerda es igual a la longitud del edificio.

Realmente, el estudiante había planteado un serio problema con la resolución del ejercicio, porque había respondido a la pregunta correcta y completamente. Por otro lado, si se le concedía la máxima puntuación, podría alterar el promedio de su año de estudios, obtener una nota más alta y así certificar su alto nivel en física; pero la respuesta no confirmaba que el estudiante tuviera ese nivel.

Sugerí que se le diera al alumno otra oportunidad. Le concedí seis minutos para que me respondiera la misma pregunta pero esta vez con la advertencia de que en la respuesta debía demostrar sus conocimientos de física. Habían pasado cinco minutos y el estudiante no había escrito nada. Le pregunte si deseaba marcharse pero me contesto que tenia muchas respuestas al problema. Su dificultad era elegir la mejor de todas. Me excuse por interrumpirle y le rogué que continuara. En el minuto que le quedaba escribió la siguiente respuesta:

Toma el barómetro y lanzalo al suelo desde la azotea del edificio, calcula el tiempo de caída con un cronómetro. Después se aplica la fórmula altura = 0.5*a*t2. Y así obtenemos la altura del edificio.

En este punto le pregunté a mi colega si el estudiante se podía retirar. Le dio la nota más alta. Tras abandonar el despacho, me reencontré con e estudiante y le pedí que me contara sus otras respuestas a la pregunta.

Bueno, respondió, hay muchas maneras, por ejemplo, coges el barómetro en un día soleado y mides la altura del barómetro y la longitud de su sombra. Si medimos a continuación la longitud de la sombra del edificio y aplicamos una simple proporción obtendremos también la sobra del edificio.

Perfecto, le dije: ¿Y de otra manera?

Sí, contestó, este es un procedimiento muy básico para medir un edificio, pero también sirve. En este método, tomas el barómetro y te sitúas en las escaleras del edificio en la planta baja. Según subes las escaleras, vas marcando la altura del barómetro y cuentas el número de marcas hasta la azotea. Multiplicas al final la altura del barómetro por el número de marcas que has hecho y ya tienes la altura. Este es un método muy directo. Por supuesto, si lo que quieres es un procedimiento más sofisticado, puede atar el barómetro a una cuerda y moverlo como si fuera un péndulo. Si calculamos que cuando el barómetro esta a la altura de la azota la gravedad es cero y si tenemos en cuenta la medida de la aceleración de la gravedad al descender el barómetro en la trayectoria circular al pasar por la perpendicular del edificio, de la diferencia de estos valores, y aplicando una sencilla fórmula trigonométrica, podríamos calcular, sin duda, la altura del edificio. En este mismo estilo de sistema, atas el barómetro a una cuerda y lo descuelgas desde la azotea a la calle. Usándolo como un péndulo puedes calcular la altura midiendo su periodo de precesión. En fin, concluyo, existen otras muchas maneras. Probablemente la mejor sea coger el barómetro y golpear con el la casa del conserje. Cuando abra, decirle:

Señor conserje, aquí tengo un bonito barómetro. Si usted me dice la altura de este edificio, se lo regalo.

En este momento de la conversación, le pregunté si no conocía la respuesta convencional al problema(la diferencia de presión marcada por un barómetro en dos lugares diferentes nos proporciona la diferencia de altura entre ambos lugares) evidentemente, dijo que la conocía, pero que durante sus estudios, sus profesores habían intentado enseñarle a pensar.

El estudiante se llama Niels Bohr, físico danés, Premio Nobel de Física en 1922, más concido por ser el primero en proponer el modelo de átomo con protones, neutrones y los electrones que lo rodeaban, fue fundamentalmente un innovador de la teoría cuántica.

Al margen del personaje, lo divertido y curioso de la anécdota, lo esencial de ésta historia es que le habían enseñado a pensar.

lunes, 12 de septiembre de 2011

Frases claras y sencillas al momento de escribir

Realmente creo que redactar documentos es uno de los trabajos más pesados por el cual pasa cualquier estudiante. Comunmente se comete el error de escribir las cosas pensando y ovbiando que lo que estamos plasmando en el papel/e-papel(e-electronic, jaja) es sabido y entendido por los demás. Esa idea lleva a ser bastante parcos al momento de expresarnos de manera escrita, olvidando mencionar los detalles que quizá el lector encentre útiles, y que le aclararían dudas que azoran su mente.

Uno de los consejos que he recibido para redactar documentos es escribir frases cortas, sustanciales y sobre todo claras, esto es; una idea a la vez y después elazar las ideas usando palabras que permitan y ayuden a esa conexión. Todo ésto sin salir del contexto del cual estamos hablando.

Es obvio que ese consejo, aunque con buenas intenciones, no resuelve el problema de la redacción. He aprendido que se debe de practicar y practicar en la actividad de la redacción. Almenos de esa manera he podido desarrollar un poco esa habilidad.

Saludos a todos en la red y que la fuerza los acompañe!!!



viernes, 15 de julio de 2011

Formato en archivos

Hace ya un tiempo, cuando pasaba bastante tiempo frente al ordenador(creo que aún lo hago jajaja), encontre una página la cual ofrece información técnica de formatos de los diferentes tipos de archivos que existen, o almenos son bastantes los que se mencionan en ese sitio.

Es bastante útil debido; sobre todo para aquellos que solemos programar, ya que ofrece detalles sobre las especificaciones que se necesitan para leer un archivo, esribirlo o cosas similares. Ofrece detalles de archivos de imagenes, de música, binarios(estos son interesantes), de bases de datos, del tipo CAD, incluso menciona hasta el formato de juegos!!. En verdad la recomiendo, si quereis saber sobre algún formato este es un sitio adecuado.

Os dejo la liga esperando que sea de utilidad:



Saludos a todos en la red y que la fuerza los acompañe!!!!! jajaja

viernes, 15 de abril de 2011

First Orbit: 50 aniversario del hombre en el espacio

Yuri Gagarin

Como es bien sabido por muchos en el mundo, hace unos días se ha celebrado el 50 aniversario del hombre en el espacio. Imaginar que Yiri Gagarin orbitó la tierra hace medio siglo es sin duda alucinante!.

Debido a esta fecha se ha producido un filme; que en verdad es hermoso, el cual recrea lo que Yuri Gagarin pudo haber visto durante su estancia en el espacio. El día de ayer tuve la oportunidad de gozar de este bello documental-peli, así como de comer panquecitos :P.

Gracias Viky por la invitación a la presentación del filme y gracias Anaely por la liga en la cual se puede descargar el filme.

Os dejo la liga:

jueves, 7 de abril de 2011

La Luna


The Moon


El día de ayer me cargué mi sistema y junto con él varias de las fotos que habia tomado. Una de esas fotos; y que me gusta mucho, es de la Luna. La foto la tomé usando un telescopio que me prestaron.

A pesar de la desgracia, he tenido la fortuna de que varias de las fotos se encontraban respaldadas en un memoria extraible, por lo que he podido recuperar esa foto de la Luna que me gustó.

Verán simplemente puse la cámara en la mirilla del telescopio y empecé a tomar las fotos, jajaja. Lo único que tuve que aguantar fué el frío de la noche pues calaba en los huesos.

Os dejo la foto

Saludos a todos.