Из файла
![]() |
![]() |
| Векторный
| Си |
|
| в палитре | на схеме |
Описание
Блок векторизован, возвращает на выходе значения таблично заданных от времени функций,
вычисленных методом линейной интерполяции. Таблица задается в виде текстового файла, где
формат каждой строки должен быть следующим:
<время> <значение функции 1> … <значение функции N> Примечание:
знаком отделения дробной части в файле должна быть точка. Разделителями значений в
строке могут быть символы пробела, табуляции, ";", ":". Если строка в файле пустая или
начинается с символов "$", "/", "{", то она воспринимается как комментарий и
пропускается.
Файл считывается один раз при инициализации блока, затем интерполяция производится на основании загруженных данных.
Блок является парным к блоку В файл.
Входные порты
Блок не имеет входных портов.
Выходные порты
| Имя | Описание | Тип линии связи |
|---|---|---|
| outport | Значение табличной функции в текущий момент модельного времени | Математическая |
Свойства
| Название | Имя | Описание | По умолчанию | Тип данных |
|---|---|---|---|---|
| Число функций в файле | count | Количество столбцов значений функций в текстовом файле. | 1 | Целое |
| Имя файла данных | filename | Относительный путь к файлу таблицы. | file.dat | Имя файла |
| Коэффициент умножения аргумента | k | Коэффициент, на который умножается модельное время при интерполяции. | 1 | Вещественное |
| Метод интерполяции | interptype | Способ вычисления промежуточных значений между заданными в таблице точками (линейной интерполяцией или ступенчато). | Линейная | Перечисление |
| Уточнять шаг интегрирования | hprecise | Признак, по которому блок будет уточнять (дополнительно дробить) шаг расчета, в те моменты времени которые близки к указанным временным отметкам, чтобы точнее совпадать с указанными временными метками в таблично заданной функции. | Нет | Двоичное |
Параметры
Блок не имеет параметров.
Промпт
//Описание блока, возвращающего на выходе значения таблично заданных
//от времени функций, вычисленных методом линейной интерполяции
//Блок векторизован
//Таблица задаётся в виде текстового файла, где формат каждой строки должен быть
//следующим:
//<время> <значение функции 1> … <значение функции N>
//Знаком отделения дробной части в файле должна быть точка. Разделителями значений
//в строке могут быть символы пробела, табуляции, ";", ":". Если строка в файле
//пустая или начинается с символов "$", "/", "{", то она воспринимается как
//комментарий и пропускается
//Файл считывается один раз при инициализации блока, затем интерполяция производится
//на основании загруженных данных
//Блок является парным к блоку "В файл"
// count - число функций в файле. Количество столбцов значений функций в текстовом
//файле. По умолчанию равно 1
// filename - имя файла данных. Относительный путь к файлу таблицы.
//По умолчанию: file.dat
// k - коэффициент умножения аргумента. Коэффициент, на который умножается модельное
//время при интерполяции. По умолчанию равен 1
// interptype - метод интерполяции. Способ вычисления промежуточных значений между
//заданными в таблице точками (линейной интерполяцией или ступенчато).
//По умолчанию: Линейная
// hprecise - уточнять шаг интегрирования. Признак, по которому блок будет уточнять
//(дополнительно дробить) шаг расчёта, в те моменты времени, которые близки
//к указанным временным отметкам, чтобы точнее совпадать с указанными временными
//метками в таблично заданной функции. По умолчанию: Нет
//Выходы: outport - значение табличной функции в текущий момент модельного времени
block: (
type = "Из файла",
points=[(-200 , 0),(-184 , 0),(-200 , -16),(408 , 308)],
count = 1,
filename = file.dat,
k = 1,
interptype = Линейная,
hprecise = Нет
),
Пример заполнения файла
0.1 1 2 6 9
0.2 6 3 7 10
0.3 3 5 3 9

