next up previous
Siguiente: Gráficas sencillas Superior: Comenzando con PDL: un Anterior: Creando PDLs

Aritmética

PDL acepta varios operadores y funciones conocidas. Los siguientes símbolos suman, restan multiplican y dividen varios ``piddles''.

+ - * /

Con estos operadores, al igual que el resto en este artículo, PDL actúa elemento a elemento. Por ejemplo, si multiplicamos dos PDLs del mismo tamaño y dimensiones obtenemos un PDL equivalente con cada uno de los elementos siendo el producto de cada uno de los elementos de los otros dos.

perldl> $a=pdl([1,2])
perldl> $b=pdl([3,4])
perldl> p $a*$b

[3 8]

Podemos por ejemplo calcular los puntos de una parábola.

perldl> $x=zeroes(5)->xlinvals(-2,2);
perldl> $y=$x**2;
perldl> p $x
[-2 -1 0 1 2]
perldl> p $y
[4 1 0 1 4]

El operador de exponenciación es igual que el de FORTRAN **.

Podemos también realizar una operación con PDLs o números de diferentes dimensiones. Por ejemplo,

perldl> $a=pdl[0,1,2,3]
perldl> p $a
[0 1 2 3]
perldl> $b=2*$a
perldl> p $b
[0 2 4 6]

En este caso estamos multiplicando un ``piddle'' de dimensión uno y longitud cuatro por un número. PDL lo que hace es ``expandir'' el número hasta abarcar el número de dimensiones del PDL de mayor tamaño. Y devuelve un ``piddle'' de igual tamaño que el original pero multiplicando elemento a elemento su contenido original por el número. Aquí radica la potencia de PDL, ya que no sólo tiene reglas ``lógicas'' para vectores y matrices, sino para todo tipo de matrices n-dimensionales. Para más información en este tema leáse la página de manual con el siguiente comando help Indexing.

Los operadores relaciones y lógicos son muy similares de los de C

> < >= <= == != !

Nótese que estos operadores actúan elemento a elemento. Es decir, si un ``piddle'' se compara con un número, el resultado es un ``piddle'' del mismo tamaño que el original.

perldl> $a=pdl([0,1,2,3,4])
perldl> p $a > 2
[0 0 0 1 1]

Las funciones matemáticas también actúan elemento a elemento, algunas de ellas son las siguientes

sin log abs atan2 sqrt cos exp


next up previous
Siguiente: Gráficas sencillas Superior: Comenzando con PDL: un Anterior: Creando PDLs

Download this document: [src.tar.gz][ps.gz][html.tar.gz][dvi.gz]

Congreso HispaLinux 2000