ssa

Форк
0
/
pchip2_test.go 
47 строк · 1.5 Кб
1
// Тестирование функции Pchip
2
//	PCHIP - Кусочный кубический интерполяционный полином Эрмита
3
// Результаты работы сохраняются в файл pchip_test.xlsx на лист golang
4
// Данные результаты необходимо сравнить с данными MatLab на листе MatLab
5

6
package pchip_test
7

8
import (
9
	"fmt"
10
	"math"
11
	"strconv"
12
	"testing"
13

14
	"github.com/RB-PRO/ssa/pkg/pchip"
15
	"github.com/xuri/excelize/v2"
16
)
17

18
func TestPchip2(t *testing.T) {
19
	// Согрузка входных данных
20
	win := 1024
21
	lag := int(math.Floor(float64(win) / 10.0))
22
	lgl := make([]float64, lag)
23
	for m := 0; m < len(lgl); m++ {
24
		lgl[m] = float64(m + 1)
25
	}
26
	PhaAcfNrm := loadXlsx("pchip_test.xlsx")
27

28
	// Использование функции
29
	coefC := pchip.Pchip2(lgl, PhaAcfNrm)
30
	fmt.Println("Len", coefC)
31

32
	safeToXlsx2(coefC)
33
}
34

35
// Сохранить в xlsx для дебага
36
func safeToXlsx2(coefs []float64) {
37
	file_graph, _ := excelize.OpenFile("pchip_test.xlsx", excelize.Options{})
38
	defer file_graph.Close()
39
	lenFor := len(coefs)
40
	for ind := 0; ind < lenFor; ind++ {
41
		//file_graph.SetCellValue("golang2", "B"+strconv.Itoa(ind+1), coefs.A[ind])
42
		//file_graph.SetCellValue("golang2", "C"+strconv.Itoa(ind+1), coefs.B[ind])
43
		file_graph.SetCellValue("golang2", "D"+strconv.Itoa(ind+1), coefs[ind])
44
		//file_graph.SetCellValue("golang2", "E"+strconv.Itoa(ind+1), coefs.D[ind])
45
	}
46
	file_graph.Save()
47
}
48

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

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

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

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