jjzjj

Armadillo

全部标签

c++ - 如何从 1 :n in C++ (Armadillo)? 创建 vector

这么简单的问题,但我还没有在Armadillo的文档中找到答案。我正在寻找相当于Matlab的x=(1:n)的Armadillo/C++,其中n是一个数字,x因此是一个vector[1,2,3...,n-1,n]。 最佳答案 请关注this功能。vecv=linspace(1,N);生成一个从1开始到N结束的vector。它可以满足您的需求。 关于c++-如何从1:ninC++(Armadillo)?创建vector,我们在StackOverflow上找到一个类似的问题:

c++ - 了解通过 RInside 将 Armadillo 矩阵传递给 R 函数

我正在尝试通过RInside在C++中使用R。我无法将Armadillo矩阵传递给R并返回结果。下面我能够从R库函数返回结果,但是我得到了错误的结果。我使用moments包中的偏度函数作为示例,它在R中应该正常工作。我检查了RInside中的示例,但我仍然不确定如何使用RcppArmadillo。如何正确地将C++中的Armadillo矩阵传递给R?#include#includeusingnamespacestd;usingnamespacearma;intmain(intargc,char*argv[]){RInsideR(argc,argv);stringR_libs="supp

c++ - 无法使用 Armadillo 示例编译 rinside

我正在尝试使用Rinside编译Rarmadillo示例,但我不断得到:Infileincludedfromrinside_arma0.cpp:8:0:/usr/local64/opt/R-2.15.2/lib/R/library/RcppArmadillo/include/RcppArmadillo.h:26:6:error:#error"Thefile'Rcpp.h'shouldnotbeincluded.Pleasecorrecttoincludeonly'RcppArmadillo.h'."我用谷歌搜索了它,但我一直在获取源代码本身。有什么想法吗?代码是://-*-c-inde

c++ - 在类中使用 Armadillo 矩阵

我是一名物理学家,在类编程方面经验不多。如果有人可以提供帮助,我将不胜感激。我已经在python类中成功使用了numpy数组,但在这里迷路了。动机很简单。我需要使用一个带有一些矩阵的类作为私有(private)成员并对它们执行一些操作。请看以下内容。#include#includeusingnamespacestd;classmyclass{//amatrixdoubleA[2][2];public:intset_element(double);};intmain(){myclassx;x.set_element(2.0);}intmyclass::set_element(double

c++ - 在 R 中使用 C++ 编译错误 : "RcppArmadillo.h: No such file or directory"

$exportPKG_CPPFLAGS=`Rscript-e'Rcpp:::CxxFlags()'`$exportPKG_LIBS=`Rscript-e'Rcpp:::LdFlags()'`$RCMDSHLIBmy.cppg++-I/usr/share/R/include-DNDEBUG-I/usr/local/lib/R/site-library/Rcpp/include-fpic-g-O2-fstack-protector--param=ssp-buffer-size=4-Wformat-Wformat-security-Werror=format-security-D_FORTI

c++ - Armadillo 初始值设定项列表不起作用

我在Windows10下使用MSVC201364位编译器。根据:std::cout我有Armadillio库的6.100.1版(午夜蓝)。例如,我启用了C++11autoil={10,20,30};for(autoele:il)cout正在工作。库也被正确添加,如下代码运行:vecv;v但是尝试使用Armadillio的初始化列表失败了。vecv={1.0,2.0,3.0};导致编译错误:错误:C2440:“初始化”:无法从“初始化列表”转换为“arma::Col”没有构造函数可以采用源类型,或者构造函数重载解析不明确 最佳答案 在

c++ - Armadillo 中的并行化

ArmadilloC++linearalgebralibrarydocumentation说明在C++中开发库的原因之一是"easeofparallelisationviaOpenMPpresentinmodernC++compilers",但Armadillo代码不使用OpenMP。我怎样才能获得与Armadillo并行化的好处?这是通过使用high-speedLAPACKandBLASreplacements之一来实现的吗??我的平台是Linux,英特尔处理器,但我怀疑这个问题有一个通用的答案。 最佳答案 好吧,看起来并行化确实

c++ - 从 ‘arma::umat’ 到 ‘arma::mat’ 的转换

code(m);arma::umata=trans(M)>M;arma::matN=a;returnRcpp::wrap(N);'coxFunc如何在Armadillo上将umat转换为mat?file53a97e398eed.cpp:33:error:conversionfrom‘arma::umat’tonon-scalartype‘arma::mat’requestedmake:***[file53a97e398eed.o]Error1谢谢, 最佳答案 另外两个答案已经暗示不存在直接转换。在Armawebsite上花一分钟建议

C++ Armadillo : GCC vs VC++2013: Operator () and overloading

我正在尝试使用ArmadilloC++库开发Linux/Win64应用程序。以下代码在GCC-4.7中编译,但在使用Armadillo提供的VS项目文件的VisualStudio2013中编译失败。#include#include"armadillo"usingnamespacearma;usingnamespacestd;//worksinGCC-4.7//VC++2013:compileerror:C3066voidfoo1(vec::fixed&bar){bar(1)=1.;}//worksvoidfoo2(vec::fixed&bar){bar.at(2)=1.;}//work

c++ - 如何围绕表达式模板编写第三方库包装类

我们正在尝试在我的研究小组中实现一个新的C++代码来执行大型数值模拟(有限元、有限差分法、拓扑优化等)。该软件将被学术界和工业界的人们使用。对于软件的密集线性代数部分,我们想使用Eigen或Armadillo。我们希望围绕这些包构建一个包装器,原因有二:1.向用户公开我们自己的API而不是第三方API;2.以防我们将来需要切换库。我知道原因2是一种非常昂贵的保险形式,但我们使用以前的模拟软件遇到过这种情况。我遇到的关于包装第三方库的信息来自这些来源:Shouldthird-partytypesbeexposedinmyC++library'sAPIhttps://softwareeng