【C++学习】valarray函数库

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 做毕设时碰到了最小二乘法的直线拟合问题,发觉C++里有以下这么几个类在做这件事情、以及后续处理时挺不错的,其实用OpenCV的数据结构和方法也可以进行,稍后研究一下。

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

做毕设时碰到了最小二乘法的直线拟合问题,发觉C++里有以下这么几个类在做这件事情、以及后续处理时挺不错的,其实用OpenCV的数据结构和方法也可以进行,稍后研究一下。

valarray 类用法

1. apply 将 valarray 数组的每一个值都用 apply 所接受到的函数进行计算

2. cshift 将 valarray 数组的数据进行循环移动,参数为正者左移为负就右移

3. max 返回 valarray 数组的最大值

4. min 返回 valarray 数组的最小值

5. resize 重新设置 valarray 数组大小,并对其进行初始化

6. shift 将 valarray 数组移动,参数为正者左移,为负者右移,移动后由 0 填充剩余位

7. size 得到数组的大小

8. sum 数组求和

构造函数

valarray( );

explicit valarray(size _ t _Count );

valarray( const Type& _Val , size _ t _Count );

valarray( const Type* _Ptr , size _ t _Count );

valarray( const slice _ array<Type>& _SliceArray );

valarray( const gslice _ array<Type>& _GsliceArray );

valarray( const mask _ array<Type>& _MaskArray );

valarray( const indirect _ array<Type>& _IndArray );

slice 类用法

该类主要配合 valarray 类使用,可以从 valarray 中提取子数组

slice( );

slice( size _ t _StartIndex ,// 截取数组的开始位置

const valarray<size _ t> _Len , // 子数组的最大长度

const valarray<size _ t> _Stride// 相隔多少个元素选中一个

);

用法:

int main( )

{

using namespace std;

int i;

valarray<int> va ( 20 ), vaResult;

for ( i = 0 ; i < 20 ; i+=1 )

va [ i ] = 2 * (i + 1 );

cout << "The operand valarray va is:/n( ";

for ( i = 0 ; i < 20 ; i++ )

cout << va [ i ] << " ";

cout << ")." << endl;

slice vaSlice ( 1 , 7 , 3 );

vaResult = va [ vaSlice ];

cout << "/nThe slice of valarray va is vaResult:"

<< "/nva[slice( 1, 7, 3)] = ( ";

for ( i = 0 ; i < 7 ; i++ )

cout << vaResult [ i ] << " ";

cout << ")." << endl;

}

输出结果:

The operand valarray va is:

( 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 ).

The slice of valarray va is vaResult:

va[slice( 1, 7, 3)] = ( 4 10 16 22 28 34 40 )

Gslice 类用法

Gslice 类的用法和slice 基本相同,只是它截取的是循环子串,当母串进行一次提取后的字串元素数目达不到要求时,gslice 会将提取后的母串继续组合进行提取直到满足要求或者母串被提取完了

公共函数( 对数组的操作)

1.abs 对数组的每一个元素取绝对值

2.acos 返回每个元素的反余弦值

3.asin  返回每个元素的反正弦值

4.atan  返回每个元素的正切值

5.atan2 笛卡尔正切值

6.cos 余弦值

7.cosh  双曲线余弦值

8.exp 返回自然指数E^x

9.log 返回自然对数

10.log10 返回以10 为底的返回自然对数

11.exp 返回x^y

12.sin 正弦值

13.sinh 双曲线正弦值

14.sqrt 开方

15.tan 正切值

16.tanh 反正切值

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
2月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
570 2
|
2月前
|
Ubuntu API C++
C++标准库、Windows API及Ubuntu API的综合应用
总之,C++标准库、Windows API和Ubuntu API的综合应用是一项挑战性较大的任务,需要开发者具备跨平台编程的深入知识和丰富经验。通过合理的架构设计和有效的工具选择,可以在不同的操作系统平台上高效地开发和部署应用程序。
139 11
|
2月前
|
缓存 算法 程序员
C++STL底层原理:探秘标准模板库的内部机制
🌟蒋星熠Jaxonic带你深入STL底层:从容器内存管理到红黑树、哈希表,剖析迭代器、算法与分配器核心机制,揭秘C++标准库的高效设计哲学与性能优化实践。
C++STL底层原理:探秘标准模板库的内部机制
|
2月前
|
IDE 编译器 开发工具
msvcp100.dll,msvcp120.dll,msvcp140.dll,Microsoft Visual C++ 2015 Redistributable,Visual C++ 运行库安装
MSVC是Windows下C/C++开发核心工具,集成编译器、链接器与调试器,配合Visual Studio使用。其运行时库(如msvcp140.dll)为程序提供基础函数支持,常因缺失导致软件无法运行。通过安装对应版本的Microsoft Visual C++ Redistributable可解决此类问题,广泛应用于桌面软件、游戏及系统级开发。
323 2
|
3月前
|
并行计算 C++ Windows
|
算法 C++ 容器
C++标准库(速查)总结
C++标准库(速查)总结
318 6
|
6月前
|
人工智能 机器人 编译器
c++模板初阶----函数模板与类模板
class 类模板名private://类内成员声明class Apublic:A(T val):a(val){}private:T a;return 0;运行结果:注意:类模板中的成员函数若是放在类外定义时,需要加模板参数列表。return 0;
173 0
|
9月前
|
安全 C++
【c++】继承(继承的定义格式、赋值兼容转换、多继承、派生类默认成员函数规则、继承与友元、继承与静态成员)
本文深入探讨了C++中的继承机制,作为面向对象编程(OOP)的核心特性之一。继承通过允许派生类扩展基类的属性和方法,极大促进了代码复用,增强了代码的可维护性和可扩展性。文章详细介绍了继承的基本概念、定义格式、继承方式(public、protected、private)、赋值兼容转换、作用域问题、默认成员函数规则、继承与友元、静态成员、多继承及菱形继承问题,并对比了继承与组合的优缺点。最后总结指出,虽然继承提高了代码灵活性和复用率,但也带来了耦合度高的问题,建议在“has-a”和“is-a”关系同时存在时优先使用组合。
477 6
|
12月前
|
算法 网络安全 区块链
2023/11/10学习记录-C/C++对称分组加密DES
本文介绍了对称分组加密的常见算法(如DES、3DES、AES和国密SM4)及其应用场景,包括文件和视频加密、比特币私钥加密、消息和配置项加密及SSL通信加密。文章还详细展示了如何使用异或实现一个简易的对称加密算法,并通过示例代码演示了DES算法在ECB和CBC模式下的加密和解密过程,以及如何封装DES实现CBC和ECB的PKCS7Padding分块填充。
261 4
2023/11/10学习记录-C/C++对称分组加密DES