×
 

1.2.10 Массив функций по точкам из файла

 Данный метод создает не одну функцию, а массив функций. Поэтому тип объекта, создаваемого этим методом, записывается в файле проекта не function, а function_array.
Все функции массива имеют один аргумент. Значения функций по значениям аргумента определяются списком точек, которые записаны в отдельном файле. Этот файл имеет формат «*.tbl». Значения функций в заданных точках однозначно определены этим списком. Значения вне заданной сетки точек определяются в соответствии с указанным методом аппроксимации. Для всех функций массива используется одинаковый метод аппроксимации. Вид массива функций представлен на рис. 6.
 
Рис. 6. Массив функций по точкам из файла
 
Файл значений функций (формат «*.tbl») должен обязательно содержать имена переменных. Эти имена используются как имена функций в массиве.
 
Синтаксис метода создания
tablePieceLineA(File, approximation =…, nArgument =…)
 
Обязательные позиционные параметры метода
string File [*.tbl]
Файл точек массива функций. Формат файла – «*.tbl».
 
Необязательные именованные параметры метода
approximation = [interpolateC0:/ interpolateC2:/ interpolateC3:/ interpolateAkimaC1:/ interpolateAkimaC2:]
Метод аппроксимации для определения значения функции вне заданной сетки точек. По умолчанию approximation= interpolateC0:.
 approximation = interpolateC0:
Для определения значения функции вне заданной сетки точек используется линейная интерполяция. При этом сохраняется непрерывность самой функции, но не ее производных.
 approximation = interpolateC2:
Для определения значения функции вне заданной сетки точек используется сплайновая интерполяция степенными функциями третьего порядка. При этом сохраняется непрерывность самой функции и всех ее производных до второй включительно.
 approximation = interpolateC3:
Для определения значения функции вне заданной сетки точек используется сплайновая интерполяция степенными функциями четвертого порядка. При этом сохраняется непрерывность самой функции и всех ее производных до третьей включительно.
 approximation = interpolateAkimaC1:
Для определения значения функции вне заданной сетки точек используется сплайновая интерполяция третьего порядка по методу Акимы. При этом сохраняется непрерывность самой функции и ее первой производной.
 approximation = interpolateAkimaC2:
Для определения значения функции вне заданной сетки точек используется сплайновая интерполяция пятого порядка по методу Акимы. При этом сохраняется непрерывность самой функции и всех ее производных до второй включительно.
 nArgument = scalar [-]
Номер столбца в таблице, который является аргументом функций. По умолчанию nArgument = 1.
 
Описание
Файл должен содержать значения двух или более переменных. По умолчанию, если не задано значение необязательного именованного параметра nArgument, первая переменная в файле считается аргументом, остальные - функциями.
В файле должно быть не менее двух точек. Точки задания функций в файле могут быть записаны в произвольном порядке. Упорядочивание по значению аргумента производится автоматически.
При использовании методов сплайновой интерполяции, обеспечивается непрерывность функции и ее производных до указанного порядка. Если значения функции в начале и конце интервала совпадают, то выбираются периодические граничные условия. Иначе, граничные условия берутся свободными.