|
RcdMathLib_doc
Open Source Library for Linear and Non-linear Algebra
|
Go to the documentation of this file.
40 for (
int i = 0; i < m; i++) {
41 matrix_t R_i = sqrt(pow(ref_Matrix[i][0] - true_pos[0], 2)
42 + pow(ref_Matrix[i][1] - true_pos[1], 2)
43 + pow(ref_Matrix[i][2] - true_pos[2], 2));
45 for (
int l = 0; l < 3; l++) {
46 H[i][l] = (ref_Matrix[i][l] - true_pos[l]) / R_i;
52 matrix_mul(4, m, H_transpose, m, 4, H, H_transpose_H);
55 for (
int i = 0; i < 3; i++) {
56 PDOP = PDOP + H_transpose_H_pinv[i][i];
int8_t moore_penrose_get_pinv(uint8_t m, uint8_t n, matrix_t A[m][n], matrix_t pinv_A[n][m])
Calculate the Moore–Penrose inverse of a rectangular matrix.
void matrix_transpose(uint8_t m, uint8_t n, matrix_t src_matrix[m][n], matrix_t dest_matrix[n][m])
Computes the transpose of a matrix.
matrix_t get_PDOP(uint8_t m, matrix_t ref_Matrix[m][3], matrix_t true_pos[m])
Compute the Position Dilution of Precision (PDOP).
Moore–Penrose algorithm to compute the pseudo-inverse of a matrix.
#define matrix_t
Define the data type of the matrix elements.
Compute the Position Dilution of Precision (PDOP).
void matrix_mul(uint8_t a_line_num, uint8_t a_col_num, matrix_t a_matrix[a_line_num][a_col_num], uint8_t b_line_num, uint8_t b_col_num, matrix_t b_matrix[b_line_num][b_col_num], matrix_t dest_matrix[a_line_num][b_col_num])
Compute the multiplication of two matrices.