У меня есть (поддерживаемая броненосцем) матрица C
и два вектора a
и b
. Я хотел бы заполнить матрицу C
на основе содержимого a
и b
, используя функцию f_func()
. Обычно я должен сделать это следующим образом:
#include <armadillo>
double f_func(double a, double b){
//do something with a and b, and return it afterwards
}
int main(void){
arma::colvec a(10), b(10);
//Fill a, b
arma::mat C(10, 10);
//This loop has to be replaced
for(size_t i = 0; i < 10; ++i)
for(size_t j = 0; j < 10; ++j)
C(i, j) = f_func(a(i), b(j));
//With something like
//C = f_bar_func(a, b);
//Without having to loop over the single elements
return 0;
}
Тем не менее, циклический просмотр каждого элемента занимает много времени. Поэтому мне было интересно, есть ли более быстрые методы для этого?