RcdMathLib_doc
Open Source Library for Linear and Non-linear Algebra
ieee_mobile_computing_non_lin_alg.c File Reference

Examples of optimization algorithms. More...

#include <stdio.h>
#include <math.h>
#include "matrix.h"
#include "vector.h"
#include "modified_gauss_newton.h"
#include "levenberg_marquardt.h"

Go to the source code of this file.

Functions

void ieee_mobile_comp_get_exp_f (vector_t x_vec[], vector_t data_vec[], vector_t f_vec[])
 Calculate the error vector using exponential data. More...
 
void ieee_mobile_comp_get_exp_Jacobian (vector_t x_vec[], matrix_t J[][2])
 Calculate the Jacobian matrix using exponential data. More...
 
void ieee_mobile_comp_exponential_data_test (void)
 
void ieee_mobile_comp_get_sin_f (vector_t x_vec[], vector_t data_vec[], vector_t f_vec[])
 Calculate the error vector using sinusoidal data. More...
 
void ieee_mobile_comp_get_sin_Jacobian (vector_t x_vec[], matrix_t J[][4])
 Calculate the Jacobian matrix using sinusoidal data. More...
 
void ieee_mobile_comp_sinusoidal_data_test (void)
 

Detailed Description

Examples of optimization algorithms.

Optimization algorithms examples (see the modified GN and LVM optimization methods).

Author
Zakaria Kasmi zkasm.nosp@m.i@in.nosp@m.f.fu-.nosp@m.berl.nosp@m.in.de

Definition in file ieee_mobile_computing_non_lin_alg.c.

Function Documentation

◆ ieee_mobile_comp_get_exp_f()

void ieee_mobile_comp_get_exp_f ( vector_t  x_vec[],
vector_t  data_vec[],
vector_t  f_vec[] 
)

Calculate the error vector using exponential data.

The error function is: $ \vec{f}(x_1, x_2) = \begin{bmatrix} x_1 \mathrm{e}^{x_2} - y_1, ~\hdots, x_1\mathrm{e}^{8x_2}-y_8 \end{bmatrix}^{T}, $

Parameters
[in]x_vec[]start vector.
[in]data_vec[]data vector.
[out]f_vec[]calculated error vector.

Definition at line 46 of file ieee_mobile_computing_non_lin_alg.c.

References vector_t.

◆ ieee_mobile_comp_get_exp_Jacobian()

void ieee_mobile_comp_get_exp_Jacobian ( vector_t  x_vec[],
matrix_t  J[][2] 
)

Calculate the Jacobian matrix using exponential data.

The Jacobian matrix is: $ {J_f} = \begin{bmatrix} \frac{\partial f_1}{\partial x1} & \frac{\partial f_1}{\partial x_2} \\ \frac{\partial f_2}{\partial x1} & \frac{\partial f_2}{\partial x_2} \\ \vdots & \vdots & \\ \frac{\partial f_n}{\partial x1} & \frac{\partial f_n}{\partial x_2} \\ \end{bmatrix} = \begin{bmatrix} \mathrm{e}^{x_2} & \mathrm{e}^{x_2} x_1\\ \mathrm{e}^{2 x_2} & 2\mathrm{e}^{2x_2} x_1 \\ \vdots & \vdots & \\ \mathrm{e}^{8 x_2} & 8\mathrm{e}^{8x_2} x_1 \\ \end{bmatrix}. $

Parameters
[in]x_vec[]start vector.
[in]J[]Jacobian matrix.

Definition at line 82 of file ieee_mobile_computing_non_lin_alg.c.

References vector_t.

◆ ieee_mobile_comp_get_sin_f()

void ieee_mobile_comp_get_sin_f ( vector_t  x_vec[],
vector_t  data_vec[],
vector_t  f_vec[] 
)

Calculate the error vector using sinusoidal data.

The error function is: $ \vec{f}(x_1, x_2, x_3, x_4)= \begin{bmatrix} x_1 \sin\left( x_2 +x_3\right) +x_4 - y_1 \\ \vdots \\ x_1 \sin\left( 12 x_2 +x_3\right) +x_4 - y_{12} \end{bmatrix}. $

Parameters
[in]x_vec[]start vector.
[in]data_vec[]data vector.
[out]f_vec[]calculated error vector.

Definition at line 164 of file ieee_mobile_computing_non_lin_alg.c.

References vector_t.

◆ ieee_mobile_comp_get_sin_Jacobian()

void ieee_mobile_comp_get_sin_Jacobian ( vector_t  x_vec[],
matrix_t  J[][4] 
)

Calculate the Jacobian matrix using sinusoidal data.

The Jacobian matrix is $ J_f = \left[\begin{matrix} \sin\left( x_2 +x_3\right) & x_1 \cos\left( x_2 +x_3\right) & x_1\cos\left( x_2 +x_3\right) \\ \sin\left( 2 x_2 +x_3\right) & 2 x_1 \cos\left( 2 x_2 +x_3\right) & x_1 \cos\left( 2 x_2 +x_3\right)\\ \vdots & \vdots \\ \sin\left( 12 x_2 +x_3\right) & 12 x_1 \cos\left( 12 x_2 +x_3\right) & x_1 \cos\left( 12 x_2 +x_3\right) \end{matrix}\right]. $

Parameters
[in]x_vec[]start vector.
[in]J[]Jacobian matrix.

Definition at line 199 of file ieee_mobile_computing_non_lin_alg.c.

References vector_t.