使用 版本 下拉選單切換服務。 了解更多關於導航的資訊。
Apply to: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
計算兩個數值數列的點乘積。
函式 series_dot_product() 會接受兩個數值數列做為輸入,並計算其 點乘積。
語法
series_dot_product(
第一,季第二季)
替代語法
series_dot_product(
數列, 數值)
series_dot_product(
數值, 數列)
注意
替代語法顯示這兩個函式自變數之一可以是數值純量。
這個數值純量會廣播至長度等於對應數值數列長度的向量。
例如, series_dot_product([1, 2, 3], 10) 會被視為 series_dot_product([1, 2, 3], [10, 10, 10])。
深入瞭解 語法慣例。
參數
| 姓名 | 類型 | 必要 | 描述 |
|---|---|---|---|
| series1, series2 | dynamic |
✔️ | 輸入具有數值數據的陣列,以做為元素乘以,然後加總為類型的 real值。 |
傳回
傳回類型的real值,其值是 series1 中每個元素乘以數列 2 對應元素之乘積的總和。
如果這兩個數列長度不相等,則較長的數列將會截斷為較短的序列長度。
將會忽略輸入數列的任何非數值專案。
注意
如果其中一個或兩個輸入陣列都是空的,則結果會是 null。
最佳化效能
若要在使用此函式時增強效能和降低儲存需求,請考慮使用 Vector16 編碼原則來儲存不需要 64 位精確度的浮點向量,例如 ML 向量內嵌。 此 Vector16 配置檔利用 Bfloat16 浮點表示法,可以大幅優化作業,並將記憶體大小減少 4 倍。 如需編碼原則 Vector16 的詳細資訊,請參閱 編碼原則類型。
範例
range x from 1 to 3 step 1
| extend y = x * 2
| extend z = y * 2
| project s1 = pack_array(x,y,z), s2 = pack_array(z, y, x)
| extend s1_dot_product_s2 = series_dot_product(s1, s2)
| s1 | s2 | s1_dot_product_s2 |
|---|---|---|
| [1,2,4] | [4,2,1] | 12 |
| [2,4,8] | [8,4,2] | 48 |
| [3,6,12] | [12,6,3] | 108 |
range x from 1 to 3 step 1
| extend y = x * 2
| extend z = y * 2
| project s1 = pack_array(x,y,z), s2 = x
| extend s1_dot_product_s2 = series_dot_product(s1, s2)
| s1 | s2 | s1_dot_product_s2 |
|---|---|---|
| [1,2,4] | 1 | 7 |
| [2,4,8] | 2 | 28 |
| [3,6,12] | 3 | 63 |