53 lines
796 B
C++
53 lines
796 B
C++
#include <armadillo>
|
|
|
|
arma::vec* general_algorithm(
|
|
arma::vec* sub_diag,
|
|
arma::vec* main_diag,
|
|
arma::vec* sup_diag,
|
|
arma::vec* g_vec
|
|
)
|
|
{
|
|
int n = main_diag->n_elem;
|
|
double d;
|
|
|
|
for (int i = 1; i < n; i++) {
|
|
d = (*sub_diag)(i-1) / (*main_diag)(i-1);
|
|
(*main_diag)(i) -= d*(*sup_diag)(i-1);
|
|
(*g_vec)(i) -= d*(*g_vec)(i-1);
|
|
}
|
|
|
|
(*g_vec)(n-1) /= (*main_diag)(n-1);
|
|
|
|
for (int i = n-2; i >= 0; i--) {
|
|
(*g_vec)(i) = ((*g_vec)(i) - (*sup_diag)(i) * (*g_vec)(i+1)) / (*main_diag)(i);
|
|
}
|
|
return g_vec;
|
|
}
|
|
|
|
|
|
arma::vec* special_algorithm(
|
|
double sub_sig,
|
|
double main_sig,
|
|
double sup_sig,
|
|
arma::vec* g_vec
|
|
)
|
|
{
|
|
|
|
}
|
|
|
|
arma::vec* error(
|
|
arma::vec* v_vec,
|
|
arma::vec* a_vec
|
|
)
|
|
{
|
|
|
|
}
|
|
|
|
double time() {
|
|
|
|
}
|
|
|
|
int main() {
|
|
|
|
}
|