首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回标量的Armadillo 'cor‘函数

返回标量的Armadillo 'cor‘函数
EN

Stack Overflow用户
提问于 2015-05-07 00:10:53
回答 1查看 734关注 0票数 1

我正在尝试使用Armadillo计算双精度向量的自相关,如下所示:

代码语言:javascript
复制
QVector<double> calculateAutocorrelation(QVector<double> samples){
  arma::Row<double> armadillo_samples(samples.toStdVector());//Convert samples to armadillo vector
  arma::Row<double> armadillo_autocorrelation = cor(armadillo_samples); //compute the autocorrelation, returns a 1x1 matrix!
  QVector<double> ret(samples.size());
  for(int i = 0; i <samples.size();i++)
      ret[i] = armadillo_autocorrelation(i);//copy back into a QVector
  return ret;
}

然而,正如第二行所述,cor(armadillo_samples)返回一个1x1矩阵,而不是另一个向量,正如我所期望的那样。我已经从他们的网站(5.100.1)下载了Armadillo的最新稳定版本,并在启用了MKL的Linux和启用了预编译的BLAS/LAPACK库的Windows上尝试了此代码。

我是不是误解了这个函数的工作原理/使用错误了?

相关链接:

-Armadillo documentation of cor

Wikipedia上的-Autocorrelation (在Armadillo的纪录片中有一个到数学世界的链接,这也很有用,但我不能链接到它)

EN

回答 1

Stack Overflow用户

发布于 2015-08-26 13:06:34

要在Armadillo中将1x1矩阵转换为纯标量,请使用as_scalar()函数。例如:

代码语言:javascript
复制
mat X(1,1, fill::ones);

double val = as_scalar(X);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30082085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档