ssa

Форк
0
/
pic8.go 
41 строка · 1.4 Кб
1
package ssaApp
2

3
import (
4
	"math"
5

6
	"github.com/RB-PRO/ssa/pkg/oss"
7
	"github.com/RB-PRO/ssa/pkg/pchip"
8
	"gonum.org/v1/gonum/mat"
9
)
10

11
// # Расчёт мгновенной частота нормированной АКФ сингулярных троек sET12 для сегментов pw
12
func Instantaneous_frequency_of_normalized_ACF_sET12(AcfNrm_sET12 mat.Dense, S, lag int, dt float64, lgl []float64) ([]float64, error) {
13
	insFrc_AcfNrm := make([]float64, S)
14
	for j := 0; j < S; j++ {
15
		PhaAcfNrm := MakePhaAcfNrm(AcfNrm_sET12.ColView(j))
16

17
		//_, _, coef := pchip.Pchip(oss.VecDense_in_float64(*PhaAcfNrm), lgl,			lgl,			PhaAcfNrm.Len(), len(lgl))
18

19
		//fmt.Println(len(lgl), PhaAcfNrm.Len())
20

21
		slopes := pchip.Pchip2(lgl, oss.VecDense_in_float64(*PhaAcfNrm))
22

23
		//spline := pchip.NewCubic(lgl, oss.VecDense_in_float64(PhaAcfNrm))
24

25
		//oss.SafeToXlsx(pCoef, "pCoef")
26
		//oss.SafeToXlsxDualArray(pCoef, "pCoef")
27
		//fmt.Println(pAcf[0], len(pCoef))
28

29
		FrcAcfNrm := make([]float64, lag)
30
		for m := 1; m < lag; m++ {
31

32
			//FrcAcfNrm[m] = math.Abs(coef.B[m-1]) / (2.0 * math.Pi) / dt // pchip
33
			FrcAcfNrm[m] = math.Abs(slopes[m-1]) / (2.0 * math.Pi) / dt // pchip
34

35
			//FrcAcfNrm[m] = math.Abs(spline.Weights[m-1]) / (2.0 * math.Pi * dt) // spline
36
		}
37
		FrcAcfNrm[0] = FrcAcfNrm[1]
38
		insFrc_AcfNrm[j] = oss.Median_floatArr(FrcAcfNrm) // средняя(медианная) мгновенная частотта j-го сегмента pw
39
	}
40
	return insFrc_AcfNrm, nil
41
}
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.