Sdílet prostřednictvím


series_dot_product_fl()

Vypočítá tečkovaný součin dvou číselných vektorů.

Funkce series_dot_product_fl() je uživatelem definovaná funkce (UDF), která jako vstup přebírá výraz obsahující dvě dynamická číselná pole a vypočítá jejich tečkovaný součin.

Poznámka:

Místo funkce popsané v tomto dokumentu použijte nativní funkci series_dot_product( ). Nativní funkce poskytuje stejné funkce a je lepší pro výkon a škálovatelnost. Tento dokument je k dispozici pouze pro referenční účely.

Syntaxe

series_dot_product_fl(vec1, vec2)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
vec1 dynamic ✔️ Matice číselných hodnot.
vec2 dynamic ✔️ Matice číselných hodnot, která má stejnou délku jako vec1.

Definice funkce

Funkci můžete definovat vložením jejího kódu jako funkce definovanou dotazem nebo vytvořením jako uložené funkce v databázi následujícím způsobem:

Definujte funkci pomocí následujícího příkazu let. Nejsou vyžadována žádná oprávnění.

Důležité

Příkaz let nemůže běžet samostatně. Musí následovat příkaz tabulkového výrazu. Pokud chcete spustit funkční příklad, podívejte se na příkladseries_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.

Příklad

Pokud chcete použít funkci definovanou dotazem, vyvoláte ji po definici vložené funkce.

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)

Výstup

Tabulka znázorňující výsledek tečkované součinu 2 vektorů pomocí uživatelem definované funkce series_dot_product_fl