博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Armadillo之行向量(row vector)
阅读量:6295 次
发布时间:2019-06-22

本文共 1541 字,大约阅读时间需要 5 分钟。

hot3.png

1 行向量类:定义Row<type>

2 常用的typedef

rowvec = Row
frowvec = Row
cx_rowvec = Row
cx_frowvec = Row
urowvec = Row
irowvec = Row

3 创建

rowvec r1 = "1,2,3,4";rowvec r2 = initializer_list
{ 1, 2, 3, 4 };rowvec r3; //行向量未初始化r3 << 1 << 2 << 3 << 4;rowvec r4(r1);double *elem = new double[4]{1, 2, 3, 4};rowvec r5(elem, 4); //这个是从elem指针指向的内存中复制元素,所以是安全的rowvec r6(elem, 4, false);//这个是直接使用elem指针所指向的内存,所以要保证elem所指向的内存在v6的生命期内有效且不被它人使用//而且向量的大小不能被直接或间接改变rowvec r7(elem, 4, false, false);//这个是直接使用elem指针所指向的内存,所以要保证elem所指向的内存在v6的生命期内有效且不被它人使用//而且向量的大小可以重新设定,大小重新设定后就不使用elem指向的内存了vector
 e = { 1, 2, 3, 4 };rowvec r8(e);mat m = "1,2,3,4;";rowvec r9(m); //如果m不是行向量,将抛出std::logic_error异常//以上r1,r2...r9都是相同的行向量,都为(1,2,3,4) rowvec r10 = rowvec::fixed<4>();//创建一个固定大小的行向量,并且只要创建后向量的大小(元素的个数)不可以改变。//使用固定大小的行向量运算速度快于动态分配的rowvec r11 = rowvec::fixed<4>("1,2,3,4");rowvec r12 = rowvec::fixed<4>();r12 << 1 << 2 << 3 << 4;//...以此类推,之前使用的几种构造函数都可以使用//特别要指出向量的初始的填充构造函数rowvec v13(4); //这个创建一个4个元素的行向量rowvec v14(4, fill::zeros); //创建一个4个元素的行向量,每个元素都是0rowvec v15(4, fill::ones); //创建一个4个元素的行向量,每个元素都是1rowvec v16(4, fill::randu); //创建一个4个元素的行向量,每个元素是[0,1]之间的随机数rowvec v17(4, fill::randn); //创建一个4个元素的行向量,每个元素都是从一组平均值为0,方差为1的呈正态/高斯分布的随机数

4 行向量的操作

v1.n_cols()  //列数v1.n_rows()  //行数,恒为1v1(0)        //访问第0个元素,会检查是否越界,越界会抛出std::logic_error异常v1[0]    //访问第0个元素,不检查是否越界v1.clear();  //清空向量,向量变为0*1大小

转载于:https://my.oschina.net/u/1446434/blog/297374

你可能感兴趣的文章
项目管理中的导向性
查看>>
Android WebView 学习
查看>>
(转)从给定的文本中,查找其中最长的重复子字符串的问题
查看>>
HDU 2159
查看>>
spring batch中用到的表
查看>>
资源文件夹res/raw和assets的使用
查看>>
UINode扩展
查看>>
LINUX常用命令
查看>>
百度云盘demo
查看>>
概率论与数理统计习题
查看>>
初学structs2,简单配置
查看>>
Laravel5.0学习--01 入门
查看>>
时间戳解读
查看>>
sbin/hadoop-daemon.sh: line 165: /tmp/hadoop-hxsyl-journalnode.pid: Permission denied
查看>>
@RequestMapping 用法详解之地址映射
查看>>
254页PPT!这是一份写给NLP研究者的编程指南
查看>>
《Data Warehouse in Action》
查看>>
String 源码浅析(一)
查看>>
Spring Boot 最佳实践(三)模板引擎FreeMarker集成
查看>>
Fescar 发布 0.2.3 版本,支持 Redis 和 Apollo
查看>>