series_dot_product_fl()

计算两个数值向量的点积。

函数 series_dot_product_fl() 是一个用户定义的函数 (UDF),它以包含两个动态数值数组的表达式作为输入,并计算这两个数组的点积

注意

请使用本机函数 series_dot_product() 而不是本文档中所述的函数。 本机函数提供相同的功能,并且在性能和可伸缩性方面更好。 本文档仅供参考。

语法

series_dot_product_fl(vec1,vec2)

详细了解语法约定

参数

客户 类型​​ 必需 说明
vec1 dynamic 数值的数组。
vec2 dynamic 一个数值数组,其长度与 vec1 相同。

函数定义

可以通过将函数的代码嵌入为查询定义的函数,或将其创建为数据库中的存储函数来定义函数,如下所示:

使用以下 let 语句定义函数。 不需要任何权限。

重要

let 语句不能独立运行。 它必须后跟一个表格表达式语句。 若要运行 series_dot_product_fl() 的工作示例,请参阅示例

let series_dot_product_fl=(vec1:dynamic, vec2:dynamic)
{
    let elem_prod = series_multiply(vec1, vec2);
    let cum_sum = series_iir(elem_prod, dynamic([1]), dynamic([1,-1]));
    todouble(cum_sum[-1])
};
// Write your query to use the function here.

示例

若要使用查询定义的函数,请在嵌入的函数定义后调用它。

let series_dot_product_fl=(vec1:dynamic, vec2:dynamic)
{
    let elem_prod = series_multiply(vec1, vec2);
    let cum_sum = series_iir(elem_prod, dynamic([1]), dynamic([1,-1]));
    todouble(cum_sum[-1])
};
union
(print 1 | project v1=range(1, 3, 1), v2=range(4, 6, 1)),
(print 1 | project v1=range(11, 13, 1), v2=range(14, 16, 1))
| extend v3=series_dot_product_fl(v1, v2)

输出

Table showing the result of dot product of 2 vectors using user-defined function series_dot_product_fl.