是否可以将gsl_matrix存储在c ++向量中?或者是否有一些方法可以存储5 * 5 gsl_matrix
作为用户定义struct
的元素? vector<gsl_matrix>
syntex是否正确
答案 0 :(得分:1)
根据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;
}