Armadillo C++ linear algebra library 学习笔记(3)——矩阵的基本操作(2)

原创 2015年07月09日 18:33:17

1、重置矩阵为空矩阵

A、通过调用”.reset()”来重置原始矩阵为空矩阵。
B、示例

#include <iostream>
#include <armadillo>
using namespace arma;
int main()
{
    //1、产生随机矩阵A,大小为5x5,每个数的范围为:(0,10)
    mat A = randu<mat>(5, 5)*10;
    A.print("原矩阵A = \n");
    //2、重置矩阵为空矩阵
    A.reset();
    A.print("重置后的矩阵A = \n");
}

C、结果
这里写图片描述

2、重置矩阵大小

A、通过调用”.reshape()”来重置原始矩阵的大小。
B、示例

#include <iostream>
#include <armadillo>
using namespace arma;
int main()
{
    //1、产生随机矩阵A,大小为4x5,每个数的范围为:(0,10)
    mat A = randu<mat>(4, 5)*10;
    A.print("原矩阵A = \n");
    //2、重置矩阵的大小为5x4
    A.reshape(5,4);
    A.print("重置后的矩阵A = \n");
}

C、结果
这里写图片描述

3、用某个值来填充矩阵

A、通过调用”.fill(k)”来用k值填充整个矩阵。
B、示例

#include <iostream>
#include <armadillo>
using namespace arma;
int main()
{
    //1、产生随机矩阵A,大小为4x5,每个数的范围为:(0,10)
    mat A = randu<mat>(4, 5)*10;
    A.print("原矩阵A = \n");
    //2、用k填充后的矩阵,这里的k=2
    A.fill(2);
    A.print("用2填充后的矩阵A = \n");
}

C、结果
这里写图片描述

4、构造全0矩阵与全1矩阵

A、通过调用”.zeros(rows,cols)”和”.ones(rows,cols)”来构造特定的矩阵。
B、示例

#include <iostream>
#include <armadillo>
using namespace arma;
int main()
{
    mat A,B;
    //1、构造大小为2x3的全0矩阵A
    A.zeros(2,3);
    A.print("大小为2x3的全0矩阵A:");
    //2、构造大小为3x4的全1矩阵B
    B.ones(3,4);
    B.print("大小为3x4的全1矩阵B:");
}

C、结果
这里写图片描述

5、判断矩阵是否为空、是否为方阵、是否为向量、元素是否有限

A、通过调用”.:is empty()”、”.is square()”、”.is vec()”“.is finite()”来判断矩阵是否为为空、是否为方阵、是否为向量、元素是否有限
B、示例

#include <iostream>
#include <armadillo>
using namespace arma;
int main()
{
    //1、产生随机矩阵A,大小为5x5,每个数的范围为:(0,10)
    mat A = randu<mat>(5, 5)*10;
    A.print("原矩阵A = \n");
    cout<<"矩阵A不为空,所以返回:"<<A.is_empty()<<endl;
    cout<<"矩阵A是方阵,所以返回:"<<A.is_square()<<endl;
    cout<<"矩阵A不为向量,所以返回:"<<A.is_vec()<<endl;
    cout<<"矩阵A元素有限,所以返回:"<<A.is_finite()<<endl;
}

C、结果
这里写图片描述

通过调用Twitter API抓取Twitter数据

国内研究weibo的人比较多,资料也相对较多,但是twitter的资料相对较少。今天简单说一下twitter api的使用。最近一小需求,采集含有指定关键词的twitter数据,瞬间想到写个爬虫来抓取...

C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组

C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组

Armadillo C++ linear algebra library 学习笔记(2)——矩阵的基本操作(1)

1、获取矩阵的某个元素A、通过nameMat(i,j)获取矩阵nameMat的第(i,j)个元素。 B、示例#include #include using namespace arma; int...
  • jnulzl
  • jnulzl
  • 2015年07月08日 21:20
  • 3266

Armadillo C++ linear algebra library 学习笔记(4)——矩阵的运算

1、矩阵的四则运算A、通过”+”、“-”、”*”、”/”、”%”分别进行矩阵的加、减、乘、点除、点乘运算。 B、示例 //1、构造矩阵A、B mat A(2,2),B(2,2); ...
  • jnulzl
  • jnulzl
  • 2015年07月09日 19:09
  • 2418

Armadillo C++ linear algebra library 学习笔记(1)——简介与安装

1、Armadillo C++ 简介 Armadillo C++ Library是一种C++的线性代数库(矩阵数学)以取得良好的平衡速度与易用性。整数,浮点,而复杂的数字支持,以及一个子集,三角和统...
  • jnulzl
  • jnulzl
  • 2015年07月08日 20:58
  • 3367

Armadillo C++ linear algebra library 学习笔记(7)——统计相关函数

1、求矩阵行、列的最大值A、通过调用”max(A, dim)”函数求矩阵A的行(dim=1)、列(dim=0)最大值。 B、示例#include #include using namespace...
  • jnulzl
  • jnulzl
  • 2015年07月17日 17:12
  • 1716

Introduction to Linear Algebra 4ED 学习笔记(2)

Chapter 2 Solving Linear Equations2.1 Vectors and Linear Equations对于这样一个方程组 有两种方式观察这个2x2的方程组 第一种...

DB4o学习笔记 对象的SQL基本操作

  • 2009年11月27日 13:42
  • 11KB
  • 下载

【机器学习笔记3】Stanford公开课Exercise 2——Linear Regression

Stanford公开课Exercise 2原题地址:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=Machi...
  • achuo
  • achuo
  • 2016年04月15日 11:22
  • 396
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Armadillo C++ linear algebra library 学习笔记(3)——矩阵的基本操作(2)
举报原因:
原因补充:

(最多只允许输入30个字)