valarray 类用法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
slice( size _ t _StartIndex ,//截取数组的开始位置
const valarray<size _ t> _Len , //子数组的最大长度
const valarray<size _ t> _Stride//相隔多少个元素选中一个
);
用法:
int main( )
{
using namespace std;
6. shift将valarray数组移动,参数为正者左移,为负者右移,移动后由0填充剩余位
7. size得到数组的大小
8. sum数组求和
构造函数
valarray( );
explicit valarray(size _ t _Count );
valarray( const Type& _Val , size _ t _Count );
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 ).
valarray类用法
1. apply将valarray数组的每一个值都用apply所接受到的函数进行计算
2. cshift将valarray数组的数据进行循环移动,参数为正者左移为负就右移
3. max返回valarray数组的最大值
4. min返回valarray数组的最小值
5. resize重新设置valarray数组大小,并对其进行初始化
valarray( const mask _ array<Type>& _MaskArray );
valarray( const indirect _ array<Type>& _IndArray );
slice类用法
该类主要配合valarray类使用,可以从valarray中提取子数组
slice( );
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)] = ( ";
公共函数(对数组的操作)
1.abs对数组的每一个元素取绝对值
2.acos返回每个元素的反余弦值
3.asin返回每个元素的反正弦值
4.atan返回每个元素的正切值
5.atan2笛卡尔正切值
6.cos余弦值
7.cosh双曲线余弦值
8.exp返回自然指数E^x
9.log返回自然对数
10.log10返回以10为底的返回自然对数
The slice of valarray va is vaResult:
va[slice( 1, 7, 3)] = ( 4ቤተ መጻሕፍቲ ባይዱ10 16 22 28 34 40 )
Gslice类用法
Gslice类的用法和slice基本相同,只是它截取的是循环子串,当母串进行一次提取后的字串元素数目达不到要求时,gslice会将提取后的母串继续组合进行提取直到满足要求或者母串被提取完了
valarray( const Type* _Ptr , size _ t _Count );
valarray( const slice _ array<Type>& _SliceArray );
valarray( const gslice _ array<Type>& _GsliceArray );
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++ )
11.exp返回x^y
12.sin正弦值
13.sinh双曲线正弦值
14.sqrt开方
15.tan正切值
16.tanh反正切值
const valarray<size _ t> _Len , //子数组的最大长度
const valarray<size _ t> _Stride//相隔多少个元素选中一个
);
用法:
int main( )
{
using namespace std;
6. shift将valarray数组移动,参数为正者左移,为负者右移,移动后由0填充剩余位
7. size得到数组的大小
8. sum数组求和
构造函数
valarray( );
explicit valarray(size _ t _Count );
valarray( const Type& _Val , size _ t _Count );
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 ).
valarray类用法
1. apply将valarray数组的每一个值都用apply所接受到的函数进行计算
2. cshift将valarray数组的数据进行循环移动,参数为正者左移为负就右移
3. max返回valarray数组的最大值
4. min返回valarray数组的最小值
5. resize重新设置valarray数组大小,并对其进行初始化
valarray( const mask _ array<Type>& _MaskArray );
valarray( const indirect _ array<Type>& _IndArray );
slice类用法
该类主要配合valarray类使用,可以从valarray中提取子数组
slice( );
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)] = ( ";
公共函数(对数组的操作)
1.abs对数组的每一个元素取绝对值
2.acos返回每个元素的反余弦值
3.asin返回每个元素的反正弦值
4.atan返回每个元素的正切值
5.atan2笛卡尔正切值
6.cos余弦值
7.cosh双曲线余弦值
8.exp返回自然指数E^x
9.log返回自然对数
10.log10返回以10为底的返回自然对数
The slice of valarray va is vaResult:
va[slice( 1, 7, 3)] = ( 4ቤተ መጻሕፍቲ ባይዱ10 16 22 28 34 40 )
Gslice类用法
Gslice类的用法和slice基本相同,只是它截取的是循环子串,当母串进行一次提取后的字串元素数目达不到要求时,gslice会将提取后的母串继续组合进行提取直到满足要求或者母串被提取完了
valarray( const Type* _Ptr , size _ t _Count );
valarray( const slice _ array<Type>& _SliceArray );
valarray( const gslice _ array<Type>& _GsliceArray );
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++ )
11.exp返回x^y
12.sin正弦值
13.sinh双曲线正弦值
14.sqrt开方
15.tan正切值
16.tanh反正切值