是否可以将 gsl_matrix 存储在 C++ vector 中?或者有一些方法可以存储 5*5 gsl_matrix
作为用户定义的元素 struct
?是vector<gsl_matrix>
句法对
最佳答案
根据 DeiDei 的评论,我试了一下,这里是一个例子。
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_blas.h>
#include <vector>
#include <iostream>
using namespace std;
int main(){
vector<gsl_matrix> vector_matrix;
gsl_matrix *a, *c;
a = gsl_matrix_alloc(2,2);
c = gsl_matrix_alloc(2,2);
for(size_t i=0;i<2;i++){
for(size_t j=0; j<2;j++)
gsl_matrix_set(a, i, j, i+j);
gsl_matrix_set(c, i, j, i+j);
}
vector_matrix.push_back(*a);
vector_matrix.push_back(*c);
vector_matrix.push_back(*a);
gsl_blas_dgemm(CblasNoTrans,CblasNoTrans,
1.0,&vector_matrix[0],&vector_matrix[1],
1.0,&vector_matrix[2]);
for(size_t i=0;i<2;i++){
for(size_t j=0; j<2;j++)
cout<<gsl_matrix_get(&vector_matrix[2],i,j)<<endl;
}
return 0;
}
关于c++ - 是否可以将 gsl_matrix 存储在 C++ vector 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49963518/