![]() |
Haga click para publicitar en Alipso.com |
| Buscando Secundarios
| Universidades
| Carreras
| Test
Orientación Vocacional | Medios
| Profesores particulares
| Institutos
| Campus Material Monografias | Exámenes Secundarios | Exámenes Universitarios | Enlaces | Enviar material | Diversión Postales | Humor | Descargas | Juegos Comunidad Foros | Institucional Publicite | En su sitio | Contáctese Cursos en Buenos Aires Cursos de Informática | Cursos de apoyo al CBC | Carreras y Cursos de Diseño, Comunicación, Arte y Fotografía |
|
|
Imprimir apunte |
Recomendar a un amigo |
Recordarme el recurso |
|
Más sobre este recurso: Catalogado en base de datos como: Interpolación y aproximación de funciones. UTN: Animación interpolada. PDL - Perl Data Language. Instalación en Linux / Unix. Instalación de archivos comprimidos tar.gz. Instalando los paquetes RPM. Polinomio de interpolación de diferencias divididas de Newton. Polinomio de interpolación de Lagrange. Universidad Nacional de Tucumán. Agregado: 21 de JULIO de 2003 (Por Michel Mosse) | Palabras: 4359 | Votar! | Sin Votos | Sin comentarios | Agregar Comentario Categoría: Apuntes y Monografías > Varios > |
Tema: Interpolación y aproximación de
Funciones
Lenguaje Utilizado: PDL - Perl Data Language
Índice
Introducción 5
Contenido 9
Requerimientos mínimos 10
Paginas Web 38
Bibliografía 39
Tema 1:
Lenguaje utilizado
1.1 Conocimientos
Básicos 12
1.2 Instalación
en Linux / Unix 17
1.2.1 .- Instalación de archivos 17
comprimidos tar.gz
1.2.2 Instalando los paquetes RPM 18
1.3 Instalación
en Windows 20
Tema 2:
Polinomio de interpolación de diferencias divididas de Newton
1.1 Interpolación
lineal
1.1.1 .- Enunciado Teórico
22
1.1.2 .- Interpretación geométrica 23
1.1.3 .- Código Fuente 24
1.2 Interpolación
cuadrática
1.1.1 .- Enunciado Teórico
26
1.1.2 .- Interpretación geométrica 27
1.1.3 .- Código Fuente
28
Tema 3: Polinomio
de interpolación de Lagrange
2.1
Forma general 30
2.2
Forma lineal
2.2.1 .- Enunciado Teórico 31
2.2.2 .- Interpretación geométrica 32
2.2.3 .- Código Fuente
33
2.3
Forma cuadrática
2.3.1 .- Enunciado Teórico 34
2.3.2 .- Interpretación geométrica 35
2.3.3 .- Código Fuente
36
Introducción:
La interpolación y la aproximación de funciones se
aplican en la informática en diversos campos:
Tratamientos de imágenes mediante una animación interpolada:
La animación
se crea mediante el cambio del contenido de imágenes sucesivas. Puede hacer que
un objeto se desplace, aumente o disminuya de tamaño, gire, cambie de color,
aparezca o desaparezca, o cambie de forma. Los cambios pueden ocurrir por
separado o combinados entre sí.
§
Interpolación de
movimiento, se definen propiedades como la posición, el tamaño y
la rotación de una instancia, un grupo o un bloque de tipos en un punto en el
tiempo, y estas propiedades se cambian en otro punto.
§
Interpolación de
forma: se dibuja una forma en un punto del tiempo y se cambia o se dibuja una
nueva en otro punto. Al interpolar formas se crea un efecto similar al de
transformación y las formas parecen cambiar en el transcurso del tiempo.
La animación interpolada es una forma eficaz de crear
movimiento y cambios a lo largo del tiempo y de reducir al mínimo el tamaño del
archivo. Al contrario de la animación imagen a imagen, sólo necesita almacenar
los valores de los cambios de la imagen, no la imagen completa.
Tratamiento de imágenes:
La interpolación es el método por el que se calculan más puntos de
muestra, de acuerdo con un algoritmo del software de imágenes -programa de
escaneado, para compensar las limitaciones de la resolución óptica. Por lo
tanto, si la resolución óptica es de 1000 dpi, la interpolación sólo se
utilizará si resoluciones mayores de 1000 dpi se requieren. Esto es especialmente
útil al escalar imágenes para erradicar trazos que no se quieren y que parecen
como efectos de eslabones en los contornos de la imagen.
Por ejemplo, para
escanear a 600 dpi una fotografía y doblar el tamaño de salida de la imagen sin
perder detalles, la imagen tiene que contener el mismo nivel de detalles que la
fotografía original. Si la imagen se aumenta sin interpolación, el espacio
entre los puntos o las líneas será doblado. Esto significa que el mismo números
de puntos se tendrán que situar en un área dos veces mayor dando a la imagen
una calidad granulada inconsistente. Con la interpolación, la densidad de la
imagen se preservara introduciendo el número de puntos que se requieran en el
espacio abierto, dando así a la imagen resultante una mejor calidad. La
interpolación se realiza durante los procesos tanto de reducción como de
aumento.
Reconstrucción
de una señal a partir de sus muestras usando interpolación:
La interpolación es un proceso de empleo
común en la reconstrucción aproximada o exacta de una señal a partir de sus
muestras. Para una señal de banda limitada, si los instantes de muestreo están
bastante cerca, entonces la señal puede reconstruirse exactamente, es decir,
mediante el empleo de un filtro se puede efectuar la interpolación exacta entre
los puntos de muestreo. La interpretación de la reconstrucción de una señal
como un proceso de interpolación se hace evidente cuando se considera el efecto
en el dominio del tiempo del filtro.
La utilización
de la interpolación como una técnica tiene un amplio espectro de utilización
tanto es así que es reformulada en cada campo que aplica. La interpolación también
es usada en:
Topografías,
tecnologías de comunicación, genética, biotecnologías, reconstrucción
tridimensional de imágenes medicas, etc.
Contenido:
Partiendo desde una base teórica se intenta
familiarizar a el usuario con los conceptos fundamentales para su desarrollo.
Se hace referencia de como utilizar los comandos para solucionar un determinado
problema, además se incluyen ejemplo de su resolución, así como también de la
puesta en marcha de los mismos.
Requerimientos Mínimos
|
Sistema operativo |
Microprocesa-dor |
Navegador |
Memoria RAM |
Adaptador de vídeo |
|
Windows 9x / NT /
2000. |
IBM PC Intel Pentium 100Mhz y compatibles o mayores. |
Internet Explorer de Windows, versión= 5.5+ |
16 Mb de RAM |
Adaptador SVGA con 1 Mb de RAM. |
|
Linux / Unix |
Arquitectura x86 + libc-2.1.x |
Konqueror 2.2.21 o compatible con el motor Mozilla/5.0 |
12 Mb de RAM |
Adaptador SVGA con 1 Mb de RAM. |
Nota:
Los siguientes componentes mencionados
deben estar presentes en el equipo:
* Perl ISAPI:
Compatible con Espacio en disco aproximadamente 100 Mb.
servidores
Web IIS
4.0+ o
PWS 4.0+
* PerlScript: ActiveX scripting host
como IE 4.0+, o Windows
Scripting Host
* Windows 95: DCOM para Windows 95
* Windows NT: Service Pack 5+ y
Windows Installer
1.1+
* Espacio
disponible en disco: aproximadamente 55 Mb para la instalación típica.
En todas las versiones Windows debe estar presente
Windows Installer 2.0+
Lenguaje utilizado
1.1
.- Conocimientos Básicos
PDL es un lenguaje de programación orientado tratamiento
numérico de datos. Sus siglas significan Perl
Data Language, y como su nombre indica está basado en el lenguaje de
programación Perl, esto quiere
decir que es un modulo del programa, por lo tanto es necesario tenerlo ya
instalado a la hora de colocar PDL. Perl es gratuito y
además es Software Libre, esto quiere decir que el código fuente está
disponible para que cualquiera lo pueda ver o modificar.
Perl es la abreviación de Practical Extraction and Report Language.
Es lo que se conoce como un lenguaje script,
es decir, uno en el que no hace falta compilar el programa escrito.
El fuerte de PDL
es la
posibilidad de manipular matrices n-dimensionales y además de poder resolver cálculos numéricos
matriciales de una forma rápida.
Una de las características centrales de PDL es poder relacionarse
fácilmente con el sistemas.
Tal como hemos mencionado, PDL es un lenguaje de cálculo numérico basado
en Perl Está disponible en
múltiples plataformas y sistemas operativos. De hecho funciona en diferentes versiones
de Unix, Linux y todo tipo de Windows. Un programa que se escriba teniendo en
cuenta la compatibilidad puede ser escrito en una plataforma y ejecutado en
otra.
Se pueden conseguir el modulo para cálculo numérico de PDL y otros a
través de el CPAN -Comprehensive Perl
Archive Network.
El proyecto PerlDL apunta
a convertir Perl en un eficiente lenguaje
numérico para computadoras. El modulo PDL le da al Perl estándar la habilidad de manipular rápidamente y guardar
compactamente matrices de N-dimensiones. Uno puede escribir expresiones simples
en PERL y manipular cadenas numéricas enteras todo de una sola vez.
PDL convierte a PERL en un lenguaje numérico gratuito similar al paquete
comercial MATLAB.
Con el paquete es provisto un SHELL llamado PERLDL el cual se usa en la
líneas de comando y un modulo llamado PDL para el uso en los SCRIPT de PERL.
La distribución PDL para PERL es gratuita y proporciona una amplia
funcionalidad numérica con soporte para visualización de dos y tres dimensiones,
así también como una gran variedad de rutinas de entrada/salida. El objetivo de
PDL es permitir una interactividad con una gran variedad de paquetes numéricos,
gráficos y de sistemas de visualización.
A continuación se proporcionará una breve reseña sobre el manejo de operadores
relacionales y lógicos, así como también de las funciones que competen al
lenguaje.
|
Operador |
Descripción |
|
> < >=
<= == != ! |
Operadores
relaciones y lógicos actúan elemento a elemento Ejemplo $a = pdl([0,1,2,3,4]) p $a > 2 [0 0 0 1 1] |
|
y= x**2; |
Operador de
exponenciación ( ^ ) |
|
sin, log, abs, atan2, sqrt, cos, exp |
Funciones
matemáticas también actúan elemento a elemento |
|
# |
Toma a la línea
como un comentario, no se ejecuta. |
|
Funciones |
Descripción |
|
print
""; p ""; |
Muestra un
mensaje en pantalla. |
|
x = nº |
Asigna un valor
a la variable, no se debe poner punto y coma al final. |
|
$a=pdl([ [1,2,3],
[9,8,7] ]) |
Crea una matriz
bidimensional con valores: 1 2
3
9 8 7 |
|
$a=sequence(9) |
Crea un vector
con una secuencia de valores (del 0 al 9) |
|
$a=zeroes(2,4); |
Crea una matriz 2
x 4 rellena de ceros |
|
$x=xvals(3,2) ; |
Crea una matriz
3 x 2 y incrementa en uno los valores de las columnas partiendo desde 0 |
|
$y=yvals(3,2); |
Crea una matriz 3 x 2 y incrementa en uno los
valores de las filas partiendo desde 0 |
|
$a=zeroes(3,2); $x=$a->xlinvals(0.5,1.5); $x=xlinvals($a,0.5,1.5) |
Crea una matriz
de 3 x 2 y la incrementa partiendo desde 0,5 hasta 1,5 |
|
$y=$a->ylinvals(0.3,1.3); |
lo mismo pero
para las columnas |
|
$y=zeroes(2,3) ->ylinvals(0.3,1.3); |
Concatena
funciones, primero crea con ceros y después incrementa |
|
$gaus=exp(
-($x**2)/0.05 - ($y**2)/0.02 ); |
Calcula los
valores de una función gaussiana |
|
$r=random(2,3) |
Crea una matriz
de 2 x 3 con valores al azar entre 0 y 1 |
|
$b=$a->copy |
Cuando asignamos
un contenido a una variable de PDL con el símbolo igual, = , no siempre se
crea una copia nueva de los datos, sino que a menudo utiliza la mismas
posiciones de memoria que la variable original, para realmente crear una
copia nueva e independiente hay que usar el comando copy |
|
Line3d(x,y) |
Dibuja una línea o un conjunto de líneas |
|
points3d |
Dibuja un vector como un conjunto de
puntos. |
|
mesh3d |
|
|
imag3d |
Muestra una imagen. |
1.2
.- Instalación en Linux / Unix
Puedes utilizar
el modulo CPAN de Andreas König para que automáticamente ejecute los procesos
de descompresión y instalación.
1.2.1 .- Instalación de archivos comprimidos
tar.gz
A)- Descompresión
Descomprimir el archivo con
gzip -d
moduloPDL.tar.gz
Puedes obtener el descompresor gzip de
ftp://prep.ai.mit.edu/pub/gnu.
O puedes combinar este paso con el
siguiente para guardar en disco
gzip -dc moduloPDL.tar.gz | tar -xof
B)- DESEMPAQUETANDO
Desempaquetar el resultado
con
tar -xof moduloPDL.tar
C)- COMPILANDO
Entrar en el directorio nuevo y
escribir:
perl Makefile.PL
make
make test
D)- INSTALANDO
Sin salir del directorio,
escribimos:
make install
Asegurese de tener los permisos
apropiados para instalar en
el directorio de
la librería de PERL. Después
necesitara ser
el root.
Esto es
todo lo que necesitas hacer con las
conexiones
dinámicas.
Muchos
sistemas Unix tienen conexiones
dinámicas,
si usted no las tiene o si por
cualquier
razón tiene conexiones estáticas
en PERL,
y el modulo requiere ser
compilado,
usted necesitara una versión
binaria
que incluya el modulo. De nuevo
usted
necesitara ser el root
1.2.2 .- Instalando los paquetes RPM
Instalación del paquete Perl
rpm --install -nodeps
ActivePerl-5.8.0.805-i686-linux.rpm
Instalación
del paquete MESA
rpm --install -nodeps Mesa-3.4-13.i386.rpm