Armadillo之列向量(column vector)
2014-08-01 00:00
429 查看
摘要: 本文介绍Armadillo库中列向量的基本操作
1 列向量类:定义Col<type>
2 常用的typedef
3 创建
4 列向量的操作
1 列向量类:定义Col<type>
2 常用的typedef
vec = colvec = Col<double> fvec = fcolvec= Col<float> cx_vec = cx_colvec = Col<cx_double> cx_fvec = cx_fcolvec = Col<cx_float> uvec = ucolvec = Col<uword> ivec = icolvec = Col<sword>
3 创建
vec v1 = "1,2,3,4"; vec v2 = initializer_list < double > {1, 2, 3, 4}; vec v3; //向量未初始化 v3 << 1 << 2 << 3 << 4; vec v4(v1); double *elem = new double[4]{1, 2, 3, 4}; vec v5(elem, 4); //这个是从elem指针指向的内存中复制元素,所以是安全的 vec v6(elem, 4, false); //这个是直接使用elem指针所指向的内存,所以要保证elem所指向的内存在v6的生命期内有效且不被它人使用 //而且向量的大小不能被直接或间接改变 vec v7(elem, 4, false,false); //这个是直接使用elem指针所指向的内存,所以要保证elem所指向的内存在v6的生命期内有效且不被它人使用 //而且向量的大小可以重新设定,大小重新设定后就不使用elem指向的内存了 vector<double> e = { 1, 2, 3, 4 }; vec v8(e); mat m1 = "1;2;3;4;"; vec v9(m1); //如果m1不是列向量,将抛出std::logic_error异常 //以上v1,v2...v9都是相同的列向量,都为(1,2,3,4)T vec v10 = vec::fixed<4>(); //创建一个固定大小的向量,并且只要创建后向量的大小(元素的个数)不可以改变。 //使用固定大小的向量运算速度快于动态分配的 vec v11 = vec::fixed<4>("1,2,3,4"); vec v12 = vec::fixed<4>(); v12 << 1 << 2 << 3 << 4; //...以此类推,之前使用的几种构造函数都可以使用 //特别要指出向量的初始的填充构造函数 vec v13(4); //这个创建一个4个元素的向量 vec v14(4, fill::zeros); //创建一个4个元素的向量,每个元素都是0 vec v15(4, fill::ones); //创建一个4个元素的向量,每个元素都是1 vec v16(4, fill::randu); //创建一个4个元素的向量,每个元素是[0,1]之间的随机数 vec v17(4, fill::randn); //创建一个4个元素的向量,每个元素都是从一组平均值为0,方差为1的呈正态/高斯分布的随机数
4 列向量的操作
v1.n_cols() //列数,恒为1 v1.n_rows() //行数 v1(0) //访问第0个元素,会检查是否越界,越界会抛出std::logic_error异常 v1[0] //访问第0个元素,不检查是否越界 v1.clear(); //清空向量,向量变为0*1大小
相关文章推荐
- Armadillo之行向量(row vector)
- 行向量,列向量,行主序矩阵,列主序矩阵(row vector,column vector,row major-matrix,column-major matrix)
- C++STL中的向量vector
- 向量的用法Vector的用法
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- Silverlight & Blend动画设计系列十:Silverlight中的坐标系统(Coordinate System)与向量(Vector)运动
- zju2876 vector向量的使用
- C++ -> 向量(vector)
- C++自带向量_vector_C++
- 数据结构One_Vector(向量的简单实现)
- 学习C++ -> 向量(vector)
- vector<vector<string>> 二维向量遍历输出
- 向量空间模型(VSM:Vector space model)
- Number类——包装类在向量vector类中的应用
- 用vector实现二维向量
- 详解Java编程中向量(Vector)的应用
- 向量Vector的实现
- STL 向量(vector)的使用
- lucene索引结构(三)-词项向量(TermVector)索引文件结构分析
- vector 向量容器