Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Použije nekonečnou odezvu na řadu.
Funkce přebírá výraz obsahující dynamické číselné pole jako vstup a použije filtr Infinite Impuls Response . Zadáním koeficientů filtru můžete funkci použít k:
- výpočet kumulativního součtu řady
- použití operací vyhlazování
- použití různých filtrů s vysokým průchodem, pásmem a nízkým průchodem
Funkce přebírá jako vstup sloupec obsahující dynamickou matici a dvě statická dynamická pole jmenovatele filtru a koeficienty numerátorů a použije filtr na sloupec. Vypíše nový sloupec dynamického pole obsahující filtrovaný výstup.
Syntaxe
series_iir(
,
,
Přečtěte si další informace o konvencích syntaxe.
Parametry
| Název | Typ | Požadováno | Popis |
|---|---|---|---|
| řada | dynamic |
✔️ | Matice číselných hodnot, obvykle výsledný výstup operátorů make-series nebo make_list . |
| numerátory | dynamic |
✔️ | Matice číselných hodnot obsahující čitatelní koeficienty filtru. |
| Jmenovatele | dynamic |
✔️ | Matice číselných hodnot obsahující jmenovatelové koeficienty filtru. |
Důležité
První prvek a (tj a[0]. ) nesmí být nula, aby se zabránilo dělení hodnotou 0. Podívejte se na následující vzorec.
Rekurzivní vzorec filtru
- Zvažte vstupní matici X a koeficienty a a b délky n_a a n_b. Funkce přenosu filtru, která vygeneruje výstupní pole Y, je definována takto:
Příklad
Výpočet kumulativního součtu Použijte filtr iir s jmenovateli koeficientů=[1;-1] a numerátory=[1]:
let x = range(1.0, 10, 1);
print x=x, y = series_iir(x, dynamic([1]), dynamic([1,-1]))
| mv-expand x, y
Výstup
| linka | y |
|---|---|
| 1.0 | 1.0 |
| 2.0 | 3,0 |
| 3,0 | 6.0 |
| 4.0 | 10.0 |
Tady je postup, jak ji zabalit do funkce:
let vector_sum=(x: dynamic) {
let y=array_length(x) - 1;
todouble(series_iir(x, dynamic([1]), dynamic([1, -1]))[y])
};
print d=dynamic([0, 1, 2, 3, 4])
| extend dd=vector_sum(d)
Výstup
| d | dd |
|---|---|
[0,1,2,3,4] |
10 |