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=(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)
输出