2.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, первая переменная в файле считается аргументом, остальные - функциями.
В файле должно быть не менее двух точек. Точки задания функций в файле могут быть записаны в произвольном порядке. Упорядочивание по значению аргумента производится автоматически.
При использовании методов сплайновой интерполяции, обеспечивается непрерывность функции и ее производных до указанного порядка. Граничные условия при решении задачи аппроксимации берутся свободными. Значения производных функции на границах заданного интервала не фиксируются.