Home | Develop | Download | Contact
Estructuras de datos | defines
Módulo PdsVector.

Funciones que trabajan con vectores. Más...

Estructuras de datos

struct  PdsVector
 Estructura de tipo PdsVector . Más...
 

defines

#define PDS_OK   1
 
#define PDS_WRONG   0
 

pds_vector_new

Creando nuevos vectores

PdsVectorpds_vector_new (PdsRaNatural Nel)
 Crea un vector de tipo PdsVector e inicia con cero todos los elementos. Más...
 
PdsVectorpds_vector_new_array1d (const PdsRaReal *Array1D, PdsRaNatural N)
 Crea un vector de tipo PdsVector e inicia sus valores con el contenido del arreglo de valores reales Array1D. Más...
 
PdsVectorpds_vector_new_args (PdsRaNatural N,...)
 Crea un vector de tipo PdsVector e inicia sus valores con los valores del segundo parametro de entrada en adelante. Más...
 
PdsVectorpds_vector_new_vector (const PdsVector *VecSrc)
 Crea un vector de tipo PdsVector e inicia sus valores con el contenido de el vector VecSrc. Más...
 
PdsVectorpds_vector_new_load_data (const char *datafile)
 Crea un nuevo vector e inicia los datos con los elementos del archivo datafile. Usa TAB o un salto de linea como delimitador de elemento. Más...
 
PdsVectorpds_vector_new_load_data_line (const char *datafile, PdsRaNatural line)
 Crea un nuevo vector e inicia los datos con los elementos de la linea line del archivo datafile. Usa TAB como delimitador de elemento y un salto de linea como delimitador de linea. La primera linea es line=0 . Si se pide una linea inexistente la funcion retorna NULL. Más...
 
PdsVectorpds_vector_new_load_data_col (const char *datafile, PdsRaNatural col)
 Crea un nuevo vector e inicia los datos con los elementos de la columna col del archivo datafile. Usa TAB como delimitador de columna y un salto de linea como delimitador de linea. La primera columna es col=0 . Si se pide una linea inexistente la función retorna NULL. Más...
 

pds_vector_new_<spaces>

Creando vectores usando espacios lineales y no lineales

PdsVectorpds_vector_new_linspace (PdsRaReal xi, PdsRaReal xf, PdsRaNatural N)
 Crea un vector de tipo PdsVector e inicia sus valores con N elementos equidistantemente espaciados entre xi y xf (inclusive). Más...
 
PdsVectorpds_vector_new_logspace (PdsRaReal xi, PdsRaReal xf, PdsRaNatural N)
 Crea un vector de tipo PdsVector e inicia sus valores con N elementos logaritmicamente espaciados entre xi y xf (inclusive). Más...
 

pds_vector_new_<windows>

Creando vectores usando ventanas de usadas en procesamiento de señales

PdsVectorpds_vector_new_rectangular (PdsRaNatural N)
 Crea un vector de tipo PdsVector e inicia sus valores con una ventana rectangular W.

\[ W[n]=1 ~~~ \forall 0 \leq n<N\]

. Más...

 
PdsVectorpds_vector_new_hamming (PdsRaNatural N)
 Crea un vector de tipo PdsVector e inicia sus valores con una ventana de Hamming W.

\[ W[n]=0.54-0.46 cos(2 \frac{\pi n}{N-1}) ~~~ \forall 0 \leq n<N\]

. Más...

 
PdsVectorpds_vector_new_blackman (PdsRaNatural N, PdsRaReal Alpha)
 Crea un vector de tipo PdsVector e inicia sus valores con una ventana de Blackman.

\[ W[n]=\frac{1-Alpha}{2}-\frac{1}{2} cos(2 \frac{\pi n}{N-1}) +\frac{Alpha}{2} cos(4 \frac{\pi n}{N-1}) ~~~ \forall 0 \leq n<N\]

. Más...

 

pds_vector_init

Iniciando los vectores

int pds_vector_init_value (PdsVector *Vector, PdsRaReal Val)
 Inicia el vector Vector de tipo PdsVector *.
Vector{:}=Val. Más...
 
int pds_vector_init_vector (PdsVector *Vector, const PdsVector *VecSrc)
 Se copia el contenido del vector VecSrc a el vector Vector. Si los tamaños son diferentes se intersectan los tamaños y se hace la copia en la intersección solamente.
Vector=VecSrc. Más...
 

pds_vector_<operator>

Aplicando operadores sobre los vectores

int pds_vector_add_vector (PdsVector *Vector, const PdsVector *VecSrc)
 Suma al vector Vector el vector VecSrc, el resultado es copiado a Vector. Si los tamaños son diferentes intersecta los tamaños y hace la copia en la intersección solamente.
Vector=Vector+VecSrc. Más...
 
int pds_vector_add_factor_vector (PdsVector *Vector, PdsRaReal Alpha, const PdsVector *VecSrc)
 Suma al vector Vector el vector Alpha*VecSrc, el resultado es copiado a Vector. Si los tamaños son diferentes se intersectan los tamaños y se hace la copia en la intersección solamente.
Vector=Vector+Alpha*VecSrc. Más...
 
int pds_vector_add_value (PdsVector *Vector, PdsRaReal Val)
 Suma al vector Vector el valor Val y lo carga en Vector.
Vector{:}=Vector{:}+Val. Más...
 
int pds_vector_sub_vector (PdsVector *Vector, const PdsVector *VecSrc)
 Resta al vector de tipo puntero PdsVector con otro vector y lo copia en Vector. Si los tamaños son diferentes intersecta los tamaños y hace la copia en la intersección solamente.
Vector=Vector-VecSrc. Más...
 
int pds_vector_mul_vector_elements (PdsVector *Vector, const PdsVector *VecSrc)
 Multiplica elemento a elemento el vector Vector con el vector VecSrc, el resultado es cargado a Vector. Si los tamaños son diferentes intersecta los tamaños y hace la copia en la intersección solamente.
Vector=Vector.VecSrc. Más...
 
int pds_vector_mul_value (PdsVector *Vector, PdsRaReal Val)
 Multiplica al vector Vector por un escalar.
Vector=Val*Vector. Más...
 
int pds_vector_div_value (PdsVector *Vector, PdsRaReal Val)
 Divide al vector Vector por un escalar. Carga el resultado en el propio vector.
Vector=Vector/Val. Más...
 
int pds_vector_dot_vector (const PdsVector *Vector1, const PdsVector *Vector2, PdsRaReal *Val)
 Ejecuta el producto punto entre el Vector1 y el Vector2. El resultado es cargado en Val. Los tamaños deben ser iguales.
Val=(Vector1,Vector2) . Más...
 

pds_vector_<printf>

Imprimiendo la información de los vectores

int pds_vector_printf (const PdsVector *Vector)
 Imprime en pantalla un vector de tipo puntero PdsVector. Más...
 
int pds_vector_fprintf (const PdsVector *Vector, FILE *fd)
 Imprime en el archivo al que apunta fd el contenido de un vector Vector. fd es un manejador de archivo a un archivo de texto. Para usar: Más...
 
int pds_vector_fscanf (PdsVector *Vector, FILE *fd)
 Inicializa un vector Vector con los datos del archivo de texto apuntado por fd. Si la cantidad de elementos no es suficiente, entonces el vector es completado con ceros. Usa TAB o un salto de linea como delimitador de elemento. Para usar: Más...
 
int pds_vector_fwrite (PdsVector *Vector, FILE *fd)
 Escribe los datos de un vector en el archivo binario apuntado por fd. Para usar: Más...
 
int pds_vector_fread (PdsVector *Vector, FILE *fd)
 Inicializa un vector Vector con los datos del archivo binario apuntado por fd. Si la cantidad de datos en el archivo es menor a la cantidad de elementos del vector Vector, entonces se completa con ceros. Para usar: Más...
 

pds_vector_<methods>

Aplicando operaciones sobre los vectores

int pds_vector_norm_vector (const PdsVector *Vector, PdsRaReal *m)
 Devuelve la norma del vector Vector. Más...
 
int pds_vector_norm2_vector (const PdsVector *Vector, PdsRaReal *m)
 Devuelve la norma^2 del vector Vector. Más...
 
int pds_vector_rms_vector (const PdsVector *Vector, PdsRaReal *m)
 Devuelve el valor raíz cuadrático medio del vector Vector. Más...
 
int pds_vector_rms_vectors (const PdsVector *VectorA, const PdsVector *VectorB, PdsRaReal *m)
 Devuelve el valor raíz cuadrático medio de la diferencia de los vectores. Más...
 
int pds_vector_rms_factor_vectors (const PdsVector *VectorA, const PdsVector *VectorB, PdsRaReal *m)
 Devuelve el valor raíz cuadrático medio de la diferencia de los vectores entre el valor raíz cuadrático medio de VectorB, si este valor es cero, se usa entonces el valor raíz cuadrático medio de VectorA. Más...
 
int pds_vector_mean_vector (const PdsVector *Vector, PdsRaReal *m)
 Devuelve el valor medio del vector (X) Vector. Más...
 
int pds_vector_var_vector (const PdsVector *Vector, PdsRaReal *v)
 Devuelve el valor de la varianza muestral $\sigma^2$ del vector Vector (X). Más...
 
int pds_vector_std_vector (const PdsVector *Vector, PdsRaReal *v)
 
int pds_vector_cov_vector (const PdsVector *VectorX, const PdsVector *VectorY, PdsRaReal *c)
 Devuelve el valor de la covarianza muestral de los vectores VectorX y VectorY. Más...
 
int pds_vector_cor_vector (const PdsVector *VectorX, const PdsVector *VectorY, PdsRaReal *c)
 Devuelve el valor del coeficiente de correlación de los vectores VectorX y VectorY. Más...
 
PdsVectorpds_vector_new_conv (const PdsVector *Vector1, const PdsVector *Vector2)
 Devuelve un nuevo vector con la convolución de Vector1 y Vector2 de longitudes N1 y N2 respectivamente. Más...
 
int pds_vector_swap_elements (PdsVector *Vector, PdsRaNatural X, PdsRaNatural Y)
 Intercambia los elementos de la posición X e Y del vector. Más...
 
int pds_vector_asc_order (PdsVector *Vector)
 Ordena ascendentemente todos los elementos del vector. Más...
 
int pds_vector_desc_order (PdsVector *Vector)
 Ordena descendentemente todos los elementos del vector. Más...
 
int pds_vector_cmp (const PdsVector *Vector1, const PdsVector *Vector2, PdsRaNatural *n)
 Compara los vectores Vector1 y Vector2, retorna en n la cantidad de elementos distintos. Más...
 

pds_vector_get

Recibiendo datos los vectores

int pds_vector_get_value (const PdsVector *Vector, PdsRaNatural x, PdsRaReal *m)
 Devuelve el valor en la posición (x) del vector Vector. (x) inicia con (0). Más...
 
int pds_vector_get_nelements (const PdsVector *Vector, PdsRaReal *Nelements)
 Devuelve el número de elementos del vector Vector. Más...
 
int pds_vector_get_min_value (const PdsVector *Vector, PdsRaReal *m)
 Devuelve el valor mínimo de todos los elementos del vector. Más...
 
int pds_vector_get_max_value (const PdsVector *Vector, PdsRaReal *m)
 Devuelve el valor máximo de todos los elementos del vector. Más...
 

pds_vector_set

Escribiendo datos en los vectores

int pds_vector_set_value (PdsVector *Vector, PdsRaNatural x, PdsRaReal m)
 Escribe el valor m en la posición (x) del vector Vector. (x) inicia con (0). Más...
 
int pds_vector_set_bcd (PdsVector *Vector, PdsRaNatural n, PdsRaNatural b0, PdsRaNatural b1)
 Escribe en formato BCD el numero n en el vector Vector. Más...
 
int pds_vector_set_gray (PdsVector *Vector, PdsRaNatural n, PdsRaNatural b0, PdsRaNatural b1)
 Escribe en formato Gray el numero n en el vector Vector. Más...
 
#define PDS_VSET(Vector, id, Val)   pds_vector_set_value(Vector,id,Val)
 

pds_vector_<plot>

Imprimiendo datos

int pds_vector_octave_plot (const PdsVector *X, const PdsVector *Y, const char *labelx, const char *labely, const char *octfile, const char *imgfile)
 Imprime un vector Y vs X en un archivo de imagen usando como intermedio un archivo *.m de octave. Más...
 
int pds_vector_octave_semilogx (const PdsVector *X, const PdsVector *Y, const char *labelx, const char *labely, const char *octfile, const char *imgfile)
 Imprime un vector Y vs X en un archivo de imagen usando como intermedio un archivo *.m de octave (con la función semilogx de OCTAVE). Más...
 
int pds_vector_octave_semilogy (const PdsVector *X, const PdsVector *Y, const char *labelx, const char *labely, const char *octfile, const char *imgfile)
 Imprime un vector Y vs X en un archivo de imagen usando como intermedio un archivo *.m de octave (con la función semilogy de OCTAVE). Más...
 

pds_vector_<free>

Liberando datos

void pds_vector_free (PdsVector *Vector)
 Libera la memoria de un vector de tipo puntero PdsVector. Más...
 
void pds_vector_destroy (PdsVector **Vector)
 Teniendo un vector Vector de tipo PdsVector *Vector, entonces. Más...
 

Descripción detallada

Funciones que trabajan con vectores.


Estas funciones trabajan con un vector de la forma.

vector.png
Vector de Nel elementos

Documentación de los 'defines'

◆ PDS_OK

#define PDS_OK   1

Valor retornado en caso de exito, este es un valor diferente que cero.

Definición en la línea 60 del archivo pdsvector.h.

◆ PDS_WRONG

#define PDS_WRONG   0

Valor retornado en caso de fracaso, este valor es igual a cero.

Definición en la línea 68 del archivo pdsvector.h.

◆ PDS_VSET

#define PDS_VSET (   Vector,
  id,
  Val 
)    pds_vector_set_value(Vector,id,Val)

Es equivalente a Vector{id}=Val.

Definición en la línea 775 del archivo pdsvector.h.

Documentación de las funciones

◆ pds_vector_new()

PdsVector * pds_vector_new ( PdsRaNatural  Nel)

Crea un vector de tipo PdsVector e inicia con cero todos los elementos.

Parámetros
[in]NelEs el número de elementos del vector.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_new_array1d()

PdsVector * pds_vector_new_array1d ( const PdsRaReal Array1D,
PdsRaNatural  N 
)

Crea un vector de tipo PdsVector e inicia sus valores con el contenido del arreglo de valores reales Array1D.

exemplo:

PdsVector *V=NULL;
PdsRaReal A[]={-1,1.2,-3.0};
Atención
{ Debes tener mucho cuidado con esta función, entregando el número de elementos adecuado. }
Parámetros
[in]Array1DEs el arreglo unidimensional que se usará como fuente.
[in]NEs el número de elementos del arreglo unidimensional que se usará como fuente.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_new_args()

PdsVector * pds_vector_new_args ( PdsRaNatural  N,
  ... 
)

Crea un vector de tipo PdsVector e inicia sus valores con los valores del segundo parametro de entrada en adelante.

exemplo:

PdsVector *V=NULL;
V=pds_vector_new_args(3,-1,1.2,-3.0);
Atención
{ Debes tener mucho cuidado con esta función, entregando el número de elementos adecuado. }
Parámetros
[in]NEs el número de elementos del vector y el numero de parametros de entrada adicionales.
[in]...Parametros adicionales de tipo double.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_new_vector()

PdsVector * pds_vector_new_vector ( const PdsVector VecSrc)

Crea un vector de tipo PdsVector e inicia sus valores con el contenido de el vector VecSrc.

Parámetros
[in]VecSrcEs el vector que se usará como fuente.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_new_load_data()

PdsVector * pds_vector_new_load_data ( const char *  datafile)

Crea un nuevo vector e inicia los datos con los elementos del archivo datafile. Usa TAB o un salto de linea como delimitador de elemento.

Parámetros
[in]datafileNombre del archivo de donde se cargará los datos iniciales del vector.
Devuelve
Un puntero que apunta a la dirección del nuevo vector, si todo fue bien, o NULL si no. (ej. datafile==NULL)

◆ pds_vector_new_load_data_line()

PdsVector * pds_vector_new_load_data_line ( const char *  datafile,
PdsRaNatural  line 
)

Crea un nuevo vector e inicia los datos con los elementos de la linea line del archivo datafile. Usa TAB como delimitador de elemento y un salto de linea como delimitador de linea. La primera linea es line=0 . Si se pide una linea inexistente la funcion retorna NULL.

Parámetros
[in]datafileNombre del archivo de donde se cargará los datos iniciales del vector.
[in]lineNúmero de linea que se cargará, line inicia en cero.
Devuelve
Un puntero que apunta a la dirección del nuevo vector, si todo fue bien, o NULL si no. (ej. datafile==NULL o line inexistente)

◆ pds_vector_new_load_data_col()

PdsVector * pds_vector_new_load_data_col ( const char *  datafile,
PdsRaNatural  col 
)

Crea un nuevo vector e inicia los datos con los elementos de la columna col del archivo datafile. Usa TAB como delimitador de columna y un salto de linea como delimitador de linea. La primera columna es col=0 . Si se pide una linea inexistente la función retorna NULL.

Parámetros
[in]datafileNombre del archivo de donde se cargará los datos iniciales del vector.
[in]colNúmero de columna que se cargará, col inicia en cero.
Devuelve
Un puntero que apunta a la dirección del nuevo vector, si todo fue bien, o NULL si no. (ej. datafile==NULL o col inexistente)

◆ pds_vector_new_linspace()

PdsVector * pds_vector_new_linspace ( PdsRaReal  xi,
PdsRaReal  xf,
PdsRaNatural  N 
)

Crea un vector de tipo PdsVector e inicia sus valores con N elementos equidistantemente espaciados entre xi y xf (inclusive).

\[x_n=xi+n~\frac{(xf-xi)}{N-1}, ~\forall ~~n \in Z^+|~0 \leq n < N\]

Parámetros
[in]xiEs el primer valor del vector.
[in]xfEs el último valor del vector.
[in]NEs numero de elementos del vector.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_new_logspace()

PdsVector * pds_vector_new_logspace ( PdsRaReal  xi,
PdsRaReal  xf,
PdsRaNatural  N 
)

Crea un vector de tipo PdsVector e inicia sus valores con N elementos logaritmicamente espaciados entre xi y xf (inclusive).

\[\alpha = \sqrt[N-1]{\frac{xf}{xi}}, ~ \forall~N>1, ~or~ \alpha=1\]

\[x_n=xi~\alpha^n \, ~\forall ~~n \in Z^+|~0 \leq n < N\]


\[\mathbf{x}=\{xi,~xi~\alpha,~xi~{\alpha}^2,~xi~{\alpha}^3,~xi~{\alpha}^4,~...,~xi~{\alpha}^{N-1}=xf\}\]


ejemplo :

\[Note=\{1,~a,~a^2,~a^3,~a^4,~...,~a^{10},~a^{11},~a^{12}=2\}\]

\[Note=\{DO,~DO\sharp,~RE,~RE\sharp,~MI,~...,~LA\sharp,~SI,~DO^2\}\]

PdsVector Note=NULL;
Note=pds_vector_new_logspace(1.0,2.0,13);
Parámetros
[in]xiEs el primer valor del vector. Este valor debe ser mayor que cero.
[in]xfEs el último valor del vector.
[in]NEs numero de elementos del vector.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_new_rectangular()

PdsVector * pds_vector_new_rectangular ( PdsRaNatural  N)

Crea un vector de tipo PdsVector e inicia sus valores con una ventana rectangular W.

\[ W[n]=1 ~~~ \forall 0 \leq n<N\]

.

Parámetros
[in]NEs la longitud del vector que representa la ventana de rectangular.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_new_hamming()

PdsVector * pds_vector_new_hamming ( PdsRaNatural  N)

Crea un vector de tipo PdsVector e inicia sus valores con una ventana de Hamming W.

\[ W[n]=0.54-0.46 cos(2 \frac{\pi n}{N-1}) ~~~ \forall 0 \leq n<N\]

.

Parámetros
[in]NEs la longitud del vector que representa la ventana de Hamming.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_new_blackman()

PdsVector * pds_vector_new_blackman ( PdsRaNatural  N,
PdsRaReal  Alpha 
)

Crea un vector de tipo PdsVector e inicia sus valores con una ventana de Blackman.

\[ W[n]=\frac{1-Alpha}{2}-\frac{1}{2} cos(2 \frac{\pi n}{N-1}) +\frac{Alpha}{2} cos(4 \frac{\pi n}{N-1}) ~~~ \forall 0 \leq n<N\]

.

Parámetros
[in]NEs la longitud del vector que representa la ventana de Blackman.
[in]AlphaFactor de configuración de la ventana de Blackman.
Devuelve
Un puntero al vector de tipo PdsVector.

◆ pds_vector_init_value()

int pds_vector_init_value ( PdsVector Vector,
PdsRaReal  Val 
)

Inicia el vector Vector de tipo PdsVector *.
Vector{:}=Val.

Parámetros
[in,out]VectorEl vector a inicializar.
[in]ValEs el valor de inicialización de los elementos.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_init_vector()

int pds_vector_init_vector ( PdsVector Vector,
const PdsVector VecSrc 
)

Se copia el contenido del vector VecSrc a el vector Vector. Si los tamaños son diferentes se intersectan los tamaños y se hace la copia en la intersección solamente.
Vector=VecSrc.

Parámetros
[in,out]VectorEs el vector a iniciar.
[in]VecSrcEs el vector fuente de la copia.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_add_vector()

int pds_vector_add_vector ( PdsVector Vector,
const PdsVector VecSrc 
)

Suma al vector Vector el vector VecSrc, el resultado es copiado a Vector. Si los tamaños son diferentes intersecta los tamaños y hace la copia en la intersección solamente.
Vector=Vector+VecSrc.

Parámetros
[in,out]VectorEs el vector de destino y operando.
[in]VecSrcEs el Vector fuente del operando.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_add_factor_vector()

int pds_vector_add_factor_vector ( PdsVector Vector,
PdsRaReal  Alpha,
const PdsVector VecSrc 
)

Suma al vector Vector el vector Alpha*VecSrc, el resultado es copiado a Vector. Si los tamaños son diferentes se intersectan los tamaños y se hace la copia en la intersección solamente.
Vector=Vector+Alpha*VecSrc.

Parámetros
[in,out]VectorEs el vector de destino y operando.
[in]AlphaFactor que multiplica al operando.
[in]VecSrcEs el Vector fuente del operando.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_add_value()

int pds_vector_add_value ( PdsVector Vector,
PdsRaReal  Val 
)

Suma al vector Vector el valor Val y lo carga en Vector.
Vector{:}=Vector{:}+Val.

Parámetros
[in,out]VectorEs el vector a sumar.
[in]ValEs el valor a acumular.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_sub_vector()

int pds_vector_sub_vector ( PdsVector Vector,
const PdsVector VecSrc 
)

Resta al vector de tipo puntero PdsVector con otro vector y lo copia en Vector. Si los tamaños son diferentes intersecta los tamaños y hace la copia en la intersección solamente.
Vector=Vector-VecSrc.

Parámetros
[in,out]VectorEs el vector de destino y operando.
[in]VecSrcEs el Vector fuente del operando.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_mul_vector_elements()

int pds_vector_mul_vector_elements ( PdsVector Vector,
const PdsVector VecSrc 
)

Multiplica elemento a elemento el vector Vector con el vector VecSrc, el resultado es cargado a Vector. Si los tamaños son diferentes intersecta los tamaños y hace la copia en la intersección solamente.
Vector=Vector.VecSrc.

Parámetros
[in,out]VectorEs el vector de destino y operando.
[in]VecSrcEs el Vector fuente del operando.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_mul_value()

int pds_vector_mul_value ( PdsVector Vector,
PdsRaReal  Val 
)

Multiplica al vector Vector por un escalar.
Vector=Val*Vector.

Parámetros
[in,out]VectorEs el vector a multiplicar.
[in]ValEs el valor que multiplicará a los elementos del vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_div_value()

int pds_vector_div_value ( PdsVector Vector,
PdsRaReal  Val 
)

Divide al vector Vector por un escalar. Carga el resultado en el propio vector.
Vector=Vector/Val.

Parámetros
[in,out]VectorEs el vector a dividir.
[in]ValEs el valor que dividirá a los elementos del vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_dot_vector()

int pds_vector_dot_vector ( const PdsVector Vector1,
const PdsVector Vector2,
PdsRaReal Val 
)

Ejecuta el producto punto entre el Vector1 y el Vector2. El resultado es cargado en Val. Los tamaños deben ser iguales.
Val=(Vector1,Vector2) .

Parámetros
[in]Vector1Es el vector operando.
[in]Vector2Es el Vector operando.
[out]ValEl producto punto entre Vector1 y Vector2.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_printf()

int pds_vector_printf ( const PdsVector Vector)

Imprime en pantalla un vector de tipo puntero PdsVector.

Parámetros
[in]VectorEl vector a imprimir en pantalla.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_fprintf()

int pds_vector_fprintf ( const PdsVector Vector,
FILE *  fd 
)

Imprime en el archivo al que apunta fd el contenido de un vector Vector. fd es un manejador de archivo a un archivo de texto. Para usar:

FILE *fd=NULL;
fd=fopen ("file.txt", "w+");
pds_vector_fprintf(Vector,fd);
fclose(fd);
Parámetros
[in]VectorEl vector a imprimir en el archivo de texto.
[in,out]fdUn manejador de archivo de texto.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no.

◆ pds_vector_fscanf()

int pds_vector_fscanf ( PdsVector Vector,
FILE *  fd 
)

Inicializa un vector Vector con los datos del archivo de texto apuntado por fd. Si la cantidad de elementos no es suficiente, entonces el vector es completado con ceros. Usa TAB o un salto de linea como delimitador de elemento. Para usar:

FILE *fd=NULL;
fd=fopen ("file.txt", "r");
pds_vector_fscanf(Vector,fd);
fclose(fd);
Parámetros
[in]VectorVector en donde se cargarán los datos.
[in]fdApuntador del archivo de donde se cargarán los datos iniciales del vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no. (ej. Vector==NULL o fd==NULL)

◆ pds_vector_fwrite()

int pds_vector_fwrite ( PdsVector Vector,
FILE *  fd 
)

Escribe los datos de un vector en el archivo binario apuntado por fd. Para usar:

FILE *fd=NULL;
fd=fopen ("file.dat", "wb");
pds_vector_fwrite(Vector, fd);
fclose(fd);
Parámetros
[in]VectorVector de donde se leerán los datos.
[in]fdApuntador del archivo binario de donde se escribirán los datos.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no. (ej. Vector==NULL o fd==NULL)

◆ pds_vector_fread()

int pds_vector_fread ( PdsVector Vector,
FILE *  fd 
)

Inicializa un vector Vector con los datos del archivo binario apuntado por fd. Si la cantidad de datos en el archivo es menor a la cantidad de elementos del vector Vector, entonces se completa con ceros. Para usar:

FILE *fd=NULL;
fd=fopen ("file.dat", "rb");
pds_vector_fread(Vector, fd);
fclose(fd);
Parámetros
[in]VectorVector en donde se cargaran los datos.
[in]fdApuntador del archivo binario de donde se cargarán los datos iniciales del vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no. (ej. Vector==NULL o fd==NULL)

◆ pds_vector_norm_vector()

int pds_vector_norm_vector ( const PdsVector Vector,
PdsRaReal m 
)

Devuelve la norma del vector Vector.

Parámetros
[in]VectorEl vector en consulta.
[out]mEl valor de la norma del vector Vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_norm2_vector()

int pds_vector_norm2_vector ( const PdsVector Vector,
PdsRaReal m 
)

Devuelve la norma^2 del vector Vector.

Parámetros
[in]VectorEl vector en consulta.
[out]mEl valor de la norma^2 del vector Vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_rms_vector()

int pds_vector_rms_vector ( const PdsVector Vector,
PdsRaReal m 
)

Devuelve el valor raíz cuadrático medio del vector Vector.

Parámetros
[in]VectorEl vector en consulta.
[out]mEl valor rms del vector Vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_rms_vectors()

int pds_vector_rms_vectors ( const PdsVector VectorA,
const PdsVector VectorB,
PdsRaReal m 
)

Devuelve el valor raíz cuadrático medio de la diferencia de los vectores.

Parámetros
[in]VectorAEl vector en consulta.
[in]VectorBEl vector en consulta.
[out]mEl valor rms de la diferencias de vectores.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL, o diferentes tamaños).

◆ pds_vector_rms_factor_vectors()

int pds_vector_rms_factor_vectors ( const PdsVector VectorA,
const PdsVector VectorB,
PdsRaReal m 
)

Devuelve el valor raíz cuadrático medio de la diferencia de los vectores entre el valor raíz cuadrático medio de VectorB, si este valor es cero, se usa entonces el valor raíz cuadrático medio de VectorA.

\[ \frac{\sqrt{\frac{\sum_{i=0}^{Nel-1}{(VectorA[i]-VectorB[i])^2}}{Nel}}} {\sqrt{\frac{\sum_{i=0}^{Nel-1}{VectorB[i]^2}}{Nel}}} \]

Parámetros
[in]VectorAEl vector en consulta.
[in]VectorBEl vector en consulta.
[out]mEl valor factor rms de la diferencias de vectores.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL, o diferentes tamaños).

◆ pds_vector_mean_vector()

int pds_vector_mean_vector ( const PdsVector Vector,
PdsRaReal m 
)

Devuelve el valor medio del vector (X) Vector.

\[ \eta=\frac{\sum_{i=0}^{Nel-1} {X_i}}{Nel} \]

Parámetros
[in]VectorEl vector en consulta.
[out]mEl valor medio del vector Vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_var_vector()

int pds_vector_var_vector ( const PdsVector Vector,
PdsRaReal v 
)

Devuelve el valor de la varianza muestral $\sigma^2$ del vector Vector (X).

Devuelve el valor del desvio padron $\sigma$ del vector Vector (X).

\[ \eta=\frac{\sum_{i=0}^{Nel-1} {X_i}}{Nel} \]

\[ \sigma^2=\frac{\sum_{i=0}^{Nel-1} {(X_i-\eta)^2}}{Nel-1} \]

Parámetros
[in]VectorEl vector en consulta.
[out]vEl valor de la varianza del vector Vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

\[ \eta=\frac{\sum_{i=0}^{Nel-1} {X_i}}{Nel} \]

\[ \sigma^2=\frac{\sum_{i=0}^{Nel-1} {(X_i-\eta)^2}}{Nel} \]

Parámetros
[in]VectorEl vector en consulta.
[out]vEl valor de desvio padron del vector Vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_std_vector()

int pds_vector_std_vector ( const PdsVector Vector,
PdsRaReal v 
)

◆ pds_vector_cov_vector()

int pds_vector_cov_vector ( const PdsVector VectorX,
const PdsVector VectorY,
PdsRaReal c 
)

Devuelve el valor de la covarianza muestral de los vectores VectorX y VectorY.

\[ cov(X,Y)=\frac{\sum_{i=0}^{Nel-1} {(X_i -{\eta}_x)(Y_i -{\eta}_y)}}{Nel-1} \]

Siendo $\eta_x$ y $\eta_y$:

\[ \eta_x=\frac{\sum_{i=0}^{Nel-1} {X_i}}{Nel} \]

\[ \eta_y=\frac{\sum_{i=0}^{Nel-1} {Y_i}}{Nel} \]

Parámetros
[in]VectorXEl vector en consulta.
[in]VectorYEl vector en consulta.
[out]cEl valor de la covarianza de los vectores VectorX y VectorY.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: VectorX==NULL, VectorY==NULL o longitudes distintas).

◆ pds_vector_cor_vector()

int pds_vector_cor_vector ( const PdsVector VectorX,
const PdsVector VectorY,
PdsRaReal c 
)

Devuelve el valor del coeficiente de correlación de los vectores VectorX y VectorY.

\[ cor(X,Y)=\frac{\sum_{i=0}^{Nel-1} {(X_i -{\eta}_x)(Y_i -{\eta}_y)}}{\sqrt{\sum_{i=0}^{Nel-1} {(X_i -{\eta}_x)^2}}\sqrt{\sum_{i=0}^{Nel-1} {(Y_i -{\eta}_y)^2}}} \]

Siendo $\eta_x$ y $\eta_y$:

\[ \eta_x=\frac{\sum_{i=0}^{Nel-1} {X_i}}{Nel} \]

\[ \eta_y=\frac{\sum_{i=0}^{Nel-1} {Y_i}}{Nel} \]

Parámetros
[in]VectorXEl vector en consulta.
[in]VectorYEl vector en consulta.
[out]cEl valor de la correlación de los vectores VectorX y VectorY.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: VectorX==NULL, VectorY==NULL o longitudes distintas).

◆ pds_vector_new_conv()

PdsVector * pds_vector_new_conv ( const PdsVector Vector1,
const PdsVector Vector2 
)

Devuelve un nuevo vector con la convolución de Vector1 y Vector2 de longitudes N1 y N2 respectivamente.

\[ C(m)=\sum_{i=0, \forall 0 \leq (m-i) \leq N2-1}^{N1-1} Vector1(i)*Vector2(m-i) \]

Parámetros
[in]Vector1Un vector a convolucionar.
[in]Vector2Un vector a convolucionar.
Devuelve
Retorna un vector con la convolución de Vector1 e Vector2 o NULL en caso de error.

◆ pds_vector_swap_elements()

int pds_vector_swap_elements ( PdsVector Vector,
PdsRaNatural  X,
PdsRaNatural  Y 
)

Intercambia los elementos de la posición X e Y del vector.

Parámetros
[in]VectorEl vector en consulta.
[out]XPosicion del vector. X in [0,Nel-1].
[out]YPosicion del vector. Y in [0,Nel-1].
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL o X,Y fuera de rango).

◆ pds_vector_asc_order()

int pds_vector_asc_order ( PdsVector Vector)

Ordena ascendentemente todos los elementos del vector.

Parámetros
[in,out]VectorEl vector en consulta.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_desc_order()

int pds_vector_desc_order ( PdsVector Vector)

Ordena descendentemente todos los elementos del vector.

Parámetros
[in,out]VectorEl vector en consulta.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_cmp()

int pds_vector_cmp ( const PdsVector Vector1,
const PdsVector Vector2,
PdsRaNatural n 
)

Compara los vectores Vector1 y Vector2, retorna en n la cantidad de elementos distintos.

Parámetros
[in]Vector1Un vector a comparar.
[in]Vector2Un vector a comparar.
[out]nEL número de elementos diferentes entre los vectores.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector1==NULL o Vector2==NULL).

◆ pds_vector_get_value()

int pds_vector_get_value ( const PdsVector Vector,
PdsRaNatural  x,
PdsRaReal m 
)

Devuelve el valor en la posición (x) del vector Vector. (x) inicia con (0).

Parámetros
[in]VectorEl vector en consulta.
[in]xPosición x, el primer valor de x es cero.
[out]mEl valor en la posición (x), en caso de error por fuera de rango (x) entonces carga 0 en m, en caso de error de vector nulo carga cero en m.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_get_nelements()

int pds_vector_get_nelements ( const PdsVector Vector,
PdsRaReal Nelements 
)

Devuelve el número de elementos del vector Vector.

Parámetros
[in]VectorEl vector en consulta.
[out]NelementsEn donde se guardará el número de elementos del vector Vector.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_get_min_value()

int pds_vector_get_min_value ( const PdsVector Vector,
PdsRaReal m 
)

Devuelve el valor mínimo de todos los elementos del vector.

Parámetros
[in]VectorEl vector en consulta.
[out]mEl valor mínimo de todos los elementos del vector Vector. En caso de error por vector nulo carga cero en m.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_get_max_value()

int pds_vector_get_max_value ( const PdsVector Vector,
PdsRaReal m 
)

Devuelve el valor máximo de todos los elementos del vector.

Parámetros
[in]VectorEl vector en consulta.
[out]mEl valor máximo de todos los elementos del vector Vector. En caso de error por vector nulo carga cero en m.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_set_value()

int pds_vector_set_value ( PdsVector Vector,
PdsRaNatural  x,
PdsRaReal  m 
)

Escribe el valor m en la posición (x) del vector Vector. (x) inicia con (0).

Parámetros
[in,out]VectorEl vector a escribir.
[in]xPosición x, el primer valor de x es cero.
[in]mEl valor en la posición (x), en caso de error por fuera de rango (x) entonces no hace nada y no se considera como error.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_set_bcd()

int pds_vector_set_bcd ( PdsVector Vector,
PdsRaNatural  n,
PdsRaNatural  b0,
PdsRaNatural  b1 
)

Escribe en formato BCD el numero n en el vector Vector.

Parámetros
[in,out]VectorEl vector a escribir.
[in]nEL número decimal e escribir en BCD en el vector Vector
[in]b0El valor que será escrito cuando se representa a un bit 0.
[in]b1El valor que será escrito cuando se representa a un bit 1.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_set_gray()

int pds_vector_set_gray ( PdsVector Vector,
PdsRaNatural  n,
PdsRaNatural  b0,
PdsRaNatural  b1 
)

Escribe en formato Gray el numero n en el vector Vector.

Parámetros
[in,out]VectorEl vector a escribir.
[in]nEL número decimal e escribir en Gray en el vector Vector
[in]b0El valor que será escrito cuando se representa a un bit 0.
[in]b1El valor que será escrito cuando se representa a un bit 1.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no (ej: Vector==NULL).

◆ pds_vector_octave_plot()

int pds_vector_octave_plot ( const PdsVector X,
const PdsVector Y,
const char *  labelx,
const char *  labely,
const char *  octfile,
const char *  imgfile 
)

Imprime un vector Y vs X en un archivo de imagen usando como intermedio un archivo *.m de octave.

Parámetros
[in]XEje X del vector a imprimir. Si X==NULL entonces se mostrara la gráfica usando el numero de muestras como eje X.
[in]YEje Y del vector a imprimir.
[in]labelxEtiqueta del eje X.
[in]labelyEtiqueta del eje Y.
[in]octfileNombre del archivo *.m de octave que se usará de intermediario. Si ostfile==NULL entonces se creará un fichero con nombre aleatorio y se borrará al terminar de crear el archivo de imagen.
[in]imgfileNombre del archivo *.png de salida. El formato de archivo es seleccionado por la extensión en el nombre.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no, ejemplo punteros igual a NULL.

◆ pds_vector_octave_semilogx()

int pds_vector_octave_semilogx ( const PdsVector X,
const PdsVector Y,
const char *  labelx,
const char *  labely,
const char *  octfile,
const char *  imgfile 
)

Imprime un vector Y vs X en un archivo de imagen usando como intermedio un archivo *.m de octave (con la función semilogx de OCTAVE).

Parámetros
[in]XEje X del vector a imprimir. Si X==NULL entonces se mostrara la gráfica usando el numero de muestras como eje X.
[in]YEje Y del vector a imprimir.
[in]labelxEtiqueta del eje X.
[in]labelyEtiqueta del eje Y.
[in]octfileNombre del archivo *.m de octave que se usará de intermediario. Si ostfile==NULL entonces se creará un fichero con nombre aleatorio y se borrará al terminar de crear el archivo de imagen.
[in]imgfileNombre del archivo *.png de salida. El formato de archivo es seleccionado por la extensión en el nombre.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no, ejemplo punteros igual a NULL.

◆ pds_vector_octave_semilogy()

int pds_vector_octave_semilogy ( const PdsVector X,
const PdsVector Y,
const char *  labelx,
const char *  labely,
const char *  octfile,
const char *  imgfile 
)

Imprime un vector Y vs X en un archivo de imagen usando como intermedio un archivo *.m de octave (con la función semilogy de OCTAVE).

Parámetros
[in]XEje X del vector a imprimir. Si X==NULL entonces se mostrara la gráfica usando el numero de muestras como eje X.
[in]YEje Y del vector a imprimir.
[in]labelxEtiqueta del eje X.
[in]labelyEtiqueta del eje Y.
[in]octfileNombre del archivo *.m de octave que se usará de intermediario. Si ostfile==NULL entonces se creará un fichero con nombre aleatorio y se borrará al terminar de crear el archivo de imagen.
[in]imgfileNombre del archivo *.png de salida. El formato de archivo es seleccionado por la extensión en el nombre.
Devuelve
PDS_OK si todo fue bien o PDS_WRONG si no, ejemplo punteros igual a NULL.

◆ pds_vector_free()

void pds_vector_free ( PdsVector Vector)

Libera la memoria de un vector de tipo puntero PdsVector.

Parámetros
[in,out]VectorEl vector a liberar.
Devuelve
No retorna valor.

◆ pds_vector_destroy()

void pds_vector_destroy ( PdsVector **  Vector)

Teniendo un vector Vector de tipo PdsVector *Vector, entonces.

PdsVector Vector=NULL;
Vector=pds_vector_new(16);

Libera la memoria usada por Vector y apunta Vector a NULL. Apuntar Vector a NULL es una medida de seguridad para evitar usar el vector después de liberado, así este no apuntará a un lugar que no le corresponde mas.

Parámetros
[in,out]VectorUn puntero al vector a liberar y limpiar.
Devuelve
No retorna valor.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed