头文件:#include<numeric>
函数定义:std::inner_product(begin1,end1,begin2,init)
功能说明:计算两个vector的内积,这个函数模板有 4 个参数:前两个参数是定义第 1 个 vector 的输入迭代器,第 3 个参数是确定第 2 个 vector 的开始输入迭代器,第 4 个参数是和的初值。算法会返回 vector 的内积。
两个 vector 的内积是对应元素的乘积之和。为了能够得到内积,vector 的长度必须相同。内积是矩阵算术的基本运算。两个矩阵的乘积是一个矩阵,它是由第一个矩阵的每一行乘以第二个矩阵的每一列得到的,如图 1 所示。
为了使矩阵内积成为可能,左操作数(矩阵 A)的列数必须和右操作数(矩阵 B)的行数相同。如果左操作数有 m 行和 n 列(mxn 的矩阵),右操作数有 n 行和 k 列(nxk 的矩阵),结果是一个 m 行和 k 列的矩阵(mxk 的矩阵)。
示例代码:
第一段代码输出结果:2×3+3×4+4×5....+11×12 = 570
第二段代码输出结果:由于返回结果的类型由第四个初始值的类型决定,所有输出结果:0 0 1.535
#include<numeric>
#include<vector>