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

本文介绍了C++的Armadillo库,用于线性代数操作,包括配置步骤(通过VS2017的NuGet包管理器安装)、矩阵创建、矩阵运算(加减、乘法、除法)、矩阵转置及逆矩阵,以及CSV文件的读取和保存。
摘要由CSDN通过智能技术生成

本人之前移植了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(0
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值