Definición e Indexación de matrices en Octave
Funciones de generación
Existe una serie de funciones que se utilizan para generar matrices de ciertas características.
Como comentamos en la introducción, las funciones de Octave permiten un número variable de parámetros. La mayoría de ellas tienen un comportamiento distinto según el número y el tipo de los parámetros con que son invocadas. De esta manera con un mismo identificador (nombre de la función) se pueden conseguir resultados distintos.
Veamos esto en la función zeros:
- zeros
- devuelve un matriz con todos sus elementos a 0. Los parámetros sirven para indicar el tamaño de dicha matriz. Las posibilidades que tenemos son:
- zeros( n )
- invocada con 1 parámetro que es un escalar entero positivo n. Devuelve una matriz cuadrada de dimensión n (n filas y n columnas) con todos los elementos a 0.
- zeros( n, m )
- invocada con 2 parámetro que son escalares enteros positivos n y m. Devuelve una matriz de n filas y m columnas con todos los elementos a 0.
- zeros( [ n, m ] )
- invocada con 1 parámetro que es un vector de dos enteros positivo n y m. Devuelve una matriz de n filas y m columnas con todos los elementos a 0.
Ejemplos |
|
|
|
Otras funciones, que tienen unas opciones de invocación idénticas a zeros, son :
- ones
- devuelve un matriz con todos sus elementos a 1. Formas de invocación ones(n), ones(n,m) y ones([n,m])
- eye
- devuelve un matriz con todos sus elementos a 0 salvo los de la diagonal principal (primera diagonal). Si se genera una matriz cuadrada el resultado será la matriz identidad de esa dimensión. Formas de invocación eye(n), eye(n,m) y eye([n,m])
- rand
- devuelve un matriz con elementos aleatorios tomados de una distribución uniforme entre 0 y 1. Formas de invocación rand(n), rand(n,m) y rand([n,m])
- randn
- devuelve un matriz con elementos aleatorios tomados de una distribución gausiana de media 0 y varianza unidad 1. Formas de invocación randn(n), randn(n,m) y randn([n,m])
Ejemplos |
|
|
|
Otras funciones interesantes de este grupo son:
- linspace(inicial,final,n)
- devuelve un vector de elementos equiespaciados a partir del valor inicial y hasta el final. Habrá tantos elementos como indique n, o 100 si este parámetro no se especifica. A diferencia de los rangos, en que se conoce la separación de los elementos pero no su número, en este caso se conoce el número de elementos pero no su separación.
- logspace(inicial,final,n)
- similar a linspace pero con una separación logarítmica entre los elementos del vector. En este caso inicial y final representan los exponentes de 10 para el valor inicial y final del vector. Es decir, se devuelven n números de una sucesión geométrica entre 10 inicial hasta 10 final. En el caso de que final valga π el valor final será π y no 10π.
Ejemplos |
|
|
|
Obra colocada bajo licencia Creative Commons Attribution Non-commercial Share Alike 3.0 License