Bagikan melalui


series_dot_product()

Menghitung produk titik dari dua seri numerik.

Fungsi series_dot_product() ini mengambil dua seri numerik sebagai input, dan menghitung produk titik mereka.

Sintaks

series_dot_product(series1,series2)

Sintaks alternatif

series_dot_product(Seri, Numerik)

series_dot_product(Numerik, Seri)

Catatan

Sintaks alternatif menunjukkan bahwa salah satu dari dua argumen fungsi dapat berupa skalar numerik.

Skalar numerik ini akan disiarkan ke vektor yang panjangnya sama dengan panjang seri numerik yang sesuai.

Misalnya, series_dot_product([1, 2, 3], 10) akan diperlakukan sebagai series_dot_product([1, 2, 3], [10, 10, 10]).

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Jenis Diperlukan Deskripsi
series1, series2 dynamic ✔️ Input array dengan data numerik, menjadi elemen-bijaksana dikalikan dan kemudian dijumlahkan ke dalam nilai jenis real.

Mengembalikan

Mengembalikan nilai jenis real yang nilainya adalah jumlah atas produk dari setiap elemen seri1 dengan elemen seri2 yang sesuai. Jika kedua panjang rangkaian tidak sama, seri yang lebih panjang akan dipotok ke panjang yang lebih pendek. Elemen non-numerik dari seri input akan diabaikan.

Catatan

Jika satu atau kedua array input kosong, hasilnya adalah null.

Mengoptimalkan performa

Untuk meningkatkan performa dan mengurangi persyaratan penyimpanan saat menggunakan fungsi ini, pertimbangkan untuk menggunakan Vector16 kebijakan pengodean untuk menyimpan vektor floating-point yang tidak memerlukan presisi 64 bit, seperti penyematan vektor ML. Profil Vector16 , yang menggunakan representasi floating-point Bfloat16 , dapat secara signifikan mengoptimalkan operasi dan mengurangi ukuran penyimpanan dengan faktor 4. Untuk detail selengkapnya tentang Vector16 kebijakan pengodean, lihat Jenis Kebijakan Pengodean.

Contoh

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