C++线性代数库:Armadillo(犰狳) 使用初体验(一)

本人之前移植了matlab算法,想着试着用C++实现后进行对比,无意中找到了这个armadillo库,这是是一个开放源代码的线性代数库,这是它的官方网站 Armadillo

配置

本人使用的是VS2017 + C++,在配置这个库上,本人为了方便,直接运用vs扩展NuGet配置,教程如下:
新建项目或者打开你想配置的项目,在解决方案资源管理器中,右键项目,选中“管理NuGet程序包”
在这里插入图片描述
接下来只需要搜索并安装armadillo,本人选用的版本为v7.800.0。
如果你之前没有用过nuget扩展,系统会提示你完全关闭visual studio,关闭后,程序将会自动安装该扩展,安装完毕后打开刚刚配置的项目,在“管理NuGet程序包”里面就能看见犰狳库已经安装成功了。

然后我们就可以使用它了,当然别忘了它的命名空间**

	#include  <armadillo>
	using namespace arma;

基本操作

因为本人是按照matlab程序进行移植,所以就介绍一些该库中对应于matlab中矩阵操作的函数吧。

矩阵

首先是构造函数,可以直接用mat,如果该矩阵为方阵,就可以用 matnn 其中n为行/列数,n = [0,9]。

   //默认构造一个空矩阵。!!!不是单位矩阵!!!
	mat M;	
	
	//创建一个5行3列的矩阵
	mat M1(5, 3);	
				
	//用一个矩阵初始化另一个矩阵
	mat M2(M1);
	
	//用标准库容器vector也可以初始化
	std::vector<double> temp;
	mat M3(temp);
	
	//构造行列规模相同的矩阵
	mat22 M4;

	//构造全为0的矩阵
	M4.fill(<
  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
使用Armadillo的教程如下: 第一步是下载和安装Armadillo。你可以在官方网站上找到下载链接和安装指南。 安装完成后,你需要在你的C++代码中包含Armadillo的头文件。使用以下语句: ```cpp #include <armadillo> using namespace arma; ``` 接下来,你可以开始使用Armadillo进行线性代数操作了。Armadillo提供了丰富的函数和操作符,可以进行矩阵运算、线性方程求解、特征值计算等等。 例如,你可以创建一个矩阵并进行基本的操作,如下所示: ```cpp mat A(4, 4, fill::ones); // 创建一个4x4的矩阵,并填充为1 mat B(4, 4, fill::eye); // 创建一个4x4的单位矩阵 mat C = A + B; // 矩阵相加 mat D = A - B; // 矩阵相减 ``` 除了基本操作外,Armadillo还提供了更多高级功能,比如矩阵的转置、求逆、计算特征值和特征向量等等。你可以参考Armadillo的官方文档和示例代码,以了解更多用法和功能。 总结起来,使用Armadillo进行线性代数操作的教程包括下载和安装、包含头文件、使用基本操作符进行矩阵运算,以及探索更多高级功能。希望这个教程对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C++线性代数Armadillo(犰狳) 使用初体验(一)](https://blog.csdn.net/qq_43254966/article/details/106685428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值