Из файла





| Векторный | Си |
в палитре на схеме

Описание

Блок векторизован, возвращает на выходе значения таблично заданных от времени функций, вычисленных методом линейной интерполяции. Таблица задается в виде текстового файла, где формат каждой строки должен быть следующим:
<время> <значение функции 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