Из электронной таблицы

Считайте данные из электронной таблицы

  • Библиотека:
  • Simulink / Источники

Описание

Блок From Spreadsheet считывает данные из Microsoft® Excel® (все платформы), или CSV (платформа MicrosoftWindows® с Microsoft Office установила только), электронные таблицы, и выводит данные как сигнал. Блок From Spreadsheet не поддерживает графики электронной таблицы Microsoft Excel.

Из значка электронной таблицы отображает имя файла электронной таблицы и имя листа, заданное в блочных параметрах имени Имени файла и Листа.

Форматы устройства хранения данных

Данные, что чтения блока From Spreadsheet из электронной таблицы должны быть соответственно отформатированы.

Для электронных таблиц Microsoft Excel:

  • Блок From Spreadsheet интерпретирует первую строку как имя сигнала. Если вы не задаете имя сигнала, блок From Spreadsheet присваивает по умолчанию с форматом Signal #, где # постепенно увеличивается с каждым дополнительным сигналом без имени.

  • Блок From Spreadsheet интерпретирует первый столбец как время. В этом столбце должны монотонно увеличиться временные стоимости.

  • Блок From Spreadsheet интерпретирует остальные столбцы как сигналы.

Этот пример показывает приемлемо отформатированную электронную таблицу Microsoft Excel. Первый столбец время, и первая строка содержит имена сигнала. Каждый рабочий лист содержит группу сигнала.

Для текстовых файлов CSV (платформа Microsoft с Microsoft Office установила только):

  • Блок From Spreadsheet интерпретирует первый столбец как время. В этом столбце должны увеличиться временные стоимости.

  • Блок From Spreadsheet интерпретирует остальные столбцы как сигналы.

  • Каждый столбец должен иметь то же количество записей.

  • Блок From Spreadsheet интерпретирует каждый файл как одну группу сигнала.

Этот пример показывает приемлемо отформатированный файл CSV. Содержимое представляет одну группу сигнала.

0,0,0,5,0
1,0,1,5,0
2,0,1,5,0
3,0,1,5,0
4,5,1,5,0
5,5,1,5,0
6,5,1,5,0
7,0,1,5,0
8,0,1,5,1
9,0,1,5,1
10,0,1,5,0

Блокируйте поведение во время моделирования

Блок From Spreadsheet инкрементно считывает данные из электронной таблицы во время моделирования.

Параметр Частоты дискретизации задает частоту дискретизации что использование блока From Spreadsheet, чтобы считать данные из электронной таблицы. Для получения дополнительной информации смотрите Параметры. Метки времени в файле должны монотонно не уменьшаться.

Для каждого хита времени симуляции, для которого электронная таблица не содержит метки времени соответствия, программное обеспечение Simulink® интерполирует или экстраполирует, чтобы получить необходимые данные с помощью выбранного метода. Для получения дополнительной информации смотрите Хиты Времени симуляции, Которые Не Имеют Никаких Соответствующих Меток времени электронной таблицы.

Хиты времени симуляции, которые не имеют никаких соответствующих меток времени электронной таблицы

Если хит времени симуляции не имеет соответствующей метки времени электронной таблицы, блок From Spreadsheet вывел, зависит от:

  • Происходит ли хит времени симуляции перед первой меткой времени в области значений меток времени, или после последней метки времени

  • Методы интерполяции или экстраполяции, которые вы выбираете

  • Тип данных данных электронной таблицы

Для получения дополнительной информации об опциях интерполяции и экстраполяции, см. описания этих параметров:

Иногда электронная таблица включает два или больше значения данных, которые имеют ту же метку времени. В таких случаях действие блока From Spreadsheet зависит от того, когда хит времени симуляции происходит относительно дублирующихся меток времени в электронной таблице.

Например, предположите, что электронная таблица содержит это данные. Три значения данных имеют значение метки времени 2.

time stamps:    0 1 2 2 2 3 4
data values:    2 3 6 4 9 1 5

Таблица описывает блок From Spreadsheet вывод.

Время симуляции, относительно дублирующихся значений метки времени в электронной таблицеОт блочного действия электронной таблицы
Перед дублирующимися метками времени

Выполняет те же действия как тогда, когда метки времени отличны, с помощью первого из дублирующихся значений метки времени как основание для интерполяции. (В этом примере значением метки времени является 6.)

В или после дублирующихся меток времени

Выполняет те же действия как тогда, когда штампы времен отличны, с помощью последнего из дублирующихся значений метки времени как основание для интерполяции. (В этом примере тем значением метки времени является 9.)

Округление режима

Блок From Spreadsheet округляет положительные и отрицательные числа к отрицательной бесконечности. Этот режим эквивалентен MATLAB® функция floor.

Насыщенность на целочисленном переполнении

Для преобразования типа данных блок From Spreadsheet имеет дело с переполнением насыщенности путем переноса к соответствующему значению, которое может представлять тип данных. Например, номер 130 не помещается в 8-битное целое число со знаком и переносится к –126.

Порты

Вывод

развернуть все

Инкрементные данные из заданной электронной таблицы.

Параметр Частоты дискретизации задает частоту дискретизации что использование блока From Spreadsheet, чтобы считать данные из электронной таблицы. Для получения дополнительной информации смотрите Параметры. Метки времени в файле должны монотонно не уменьшаться.

Для каждого хита времени симуляции, для которого электронная таблица не содержит метки времени соответствия, программное обеспечение Simulink интерполирует или экстраполирует, чтобы получить необходимые данные с помощью выбранного метода. Для получения дополнительной информации смотрите Хиты Времени симуляции, Которые Не Имеют Никаких Соответствующих Меток времени электронной таблицы.

Блок From Spreadsheet принимает спецификации типа данных на блочном уровне. Если вы хотите задать различные типы данных для каждого сигнала, рассмотрите Output Data Type выбора> Inherit: 'auto'. эта опция разрешает назад типы данных сигнала с помощью обратного распространения. Например, примите, что существует два сигнала в блоке From Spreadsheet, In1 и In2, который блок отправляет в порты, которые имеют int8 и булевы типы данных. С обратным распространением блок переделывает In1 как int8 и In2 как булевская переменная.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | uint8 | uint16 | uint32 | булевская переменная | фиксированная точка | перечисленный

Параметры

развернуть все

Введите полный путь и имя файла файла электронной таблицы.

Этот блок поддерживает неанглийские полные пути и имена файлов только на платформах Microsoft.

Программируемое использование

Блочный параметр: FileName
Ввод: символьный вектор
Значение: полный путь и имя файла
Значение по умолчанию: 'untitled.xlsx'

Введите имя листа в электронной таблице. Можно ввести имя листа в этом окне редактирования или выбрать имя листа после того, как вы откроете лист.

Если ваша электронная таблица является форматом CSV, блок заполняет этот параметр с именем файла CSV без расширения. Не изменяйте это значение.

Чтобы открыть лист, щелкнуть. В листе можно выбрать область значений данных путем перетаскивания в желаемой области значений значений.

Также можно выбрать область значений данных путем определения области значений значений в параметре Области значений.

Программируемое использование

Блочный параметр: SheetName
Ввод: символьный вектор
Значение: Покройте имя
Значение по умолчанию: 'Sheet1'

Чтобы задать область значений, используйте формат column:row с несколькими спецификациями, разделенными запятыми. Например, A1:B3,D1:D3,A7:B9,D7:D9. Если незаданный, или пустой, блок автоматически обнаруживает используемую область значений, которая является всеми данными в листе.

Если выборы накладываются, блок разрешает информацию о выборе как соответствующую. Например, если вы задаете несколько областей значений, которые накладываются, такие как A1:B4,B1:E7, блок разрешает выбор к A1 к E7, включительно.

Альтернатива к использованию параметра Области значений должна открыть лист путем нажатия. В листе можно выбрать область значений данных путем перетаскивания в желаемой области значений значений.

Программируемое использование

Блочный параметр: Область значений
Ввод: символьный вектор
Значение: Диапазон ячеек
Значение по умолчанию: ''

Тип данных для блока From Spreadsheet выводится. Блок From Spreadsheet принимает электронные таблицы, которые содержат много типов данных. Однако блок читает тип данных электронной таблицы, как удваивается. Это затем выводит тип данных согласно значению типа Выходных данных.

Если вы хотите задать различные типы данных для каждого сигнала, рассмотрите Output Data Type выбора> Inherit: 'auto'. эта опция разрешает назад типы данных сигнала с помощью обратного распространения. Например, примите, что существует два сигнала в блоке From Spreadsheet, In1 и In2, который блок отправляет в порты, которые имеют int8 и булевы типы данных. С обратным распространением блок переделывает In1 как int8 и In2 как булевская переменная.

Чтобы позволить блоку бросать тип выходных данных, чтобы совпадать с тем из блока получения, используйте Inherit: auto 'auto'.

Для получения дополнительной информации смотрите Типы данных Управляющего сигнала.

Программируемое использование

Блочный параметр: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: автоматический' | 'удваиваются' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'булевская переменная' | 'fixdt (1,16,0)' | 'fixdt (1,16,2^0,0)' | 'Перечисление: <имя класса>' | 'Шина: <имя объекта>' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: auto'

Выберите, как блок должен обработать первый столбец электронной таблицы:

  • Время Обработайте первый столбец как время.

  • Данные Обработайте первый столбец как данные.

Зависимости

Когда вы выбираете Data, блок отключает:

  • Экстраполяция данных перед первой точкой данных

  • Интерполяция данных в области значений времени

  • Экстраполяция данных после последней точки данных

И включает:

  • Выведите после последней точки данных

Программируемое использование

Блочный параметр: TreatFirstColumnAs
Ввод: символьный вектор
Значение: 'Время' | 'Данные'
Значение по умолчанию: Время

Демонстрационный период и смещение.

Блок From Spreadsheet считывает данные из электронной таблицы с помощью частоты дискретизации что также:

  • Вы задаете для блока From Spreadsheet

  • Блок From Spreadsheet наследовался блокам, в которые блок From Spreadsheet подает данные

Значением по умолчанию является 0, который задает время непрерывной выборки. Электронная таблица читается на основном (самом быстром) уровне модели. Для получения дополнительной информации см. Настройку времени выборки.

Программируемое использование

Параметр: 'SampleTime'
Ввод: символьный вектор
Значения: скаляр | вектор
Значение по умолчанию: '0'

Метод экстраполяции, который использование Симулинка для времени симуляции поражает, который является перед первой меткой времени в электронной таблице. Выберите один из этих методов экстраполяции.

МетодОписание
Linear extrapolation

(Значение по умолчанию)

Если электронная таблица содержит только одну выборку, блок From Spreadsheet выводит соответствующее значение данных.

Если электронная таблица содержит больше чем одну выборку, блок From Spreadsheet линейно экстраполирует использование первых двух выборок:

  • Для данных double, линейно экстраполирует значение с помощью первых двух выборок

  • Для данных Boolean, выводит первое значение данных

  • Для встроенного типа данных кроме double или Boolean:

    • Upcasts данные к double

    • Выполняет линейную экстраполяцию (как описано выше для данных double)

    • Downcasts экстраполируемое значение данных к исходному типу данных

Вы не можете использовать опцию Linear extrapolation с перечислимым (enum) данные.

Hold first value

Использует первое значение данных в файле

Ground value

Использует значение, которое зависит от типа данных демонстрационных значений данных электронной таблицы:

  • Типы данных фиксированной точки — Использование наземное значение

  • Числовые типы кроме фиксированной точки — Использование 0

  • Boolean — Использование false

  • Перечислимые типы данных — значение по умолчанию Использования

Зависимости

Чтобы включить этот параметр, установите Обработку первый столбец относительно Time.

Программируемое использование

Параметр: ExtrapolationBeforeFirstDataPoint
Ввод: символьный вектор
Значения: 'Линейная экстраполяция' | 'Содержит первое значение' | 'Наземное значение'
Значение по умолчанию: 'Linear extrapolation'

Метод интерполяции, который Симулинк использует для хита времени симуляции между двумя метками времени в электронной таблице. Выберите один из следующих методов интерполяции.

МетодОписание
Linear interpolation

(Значение по умолчанию)

Блок From Spreadsheet интерполирует использование двух соответствующих выборок электронной таблицы:

  • Для данных double, линейно интерполирует значение с помощью двух соответствующих выборок

  • Для данных Boolean, false использования для первой половины выборки и true для второй половины

  • Для встроенного типа данных кроме double или Boolean:

    • Upcasts данные к double

    • Выполняет линейную интерполяцию (как описано выше для данных double)

    • Downcasts интерполированное значение к исходному типу данных

Вы не можете использовать опцию Linear interpolation с перечислимым (enum) данные.

Zero order hold

Использует данные от первой из этих двух выборок

Зависимости

Чтобы включить этот параметр, установите Обработку первый столбец относительно Time.

Программируемое использование

Параметр: InterpolationWithinTimeRange
Ввод: символьный вектор
Значения: 'Линейная интерполяция' | 'Нулевой порядок содержит'
Значение по умолчанию: 'Linear interpolation'

Метод экстраполяции, который использование Симулинка для времени симуляции поражает, который является после последней метки времени в электронной таблице. Выберите один из следующих методов экстраполяции.

МетодОписание
Linear extrapolation

(Значение по умолчанию)

Если электронная таблица содержит только одну выборку, блок From Spreadsheet выводит соответствующее значение данных.

Если электронная таблица содержит больше чем одну выборку, блок From Spreadsheet линейно экстраполирует значения данных использования последних двух выборок:

  • Для данных double, экстраполирует значение с помощью последних двух выборок

  • Для данных Boolean, выводит последнее значение данных

  • Для встроенного типа данных кроме double или Boolean:

    • Upcasts данные к double.

    • Выполняет линейную экстраполяцию (как описано выше для данных double).

    • Downcasts экстраполируемое значение к исходному типу данных.

Вы не можете использовать опцию Linear extrapolation с перечислимым (enum) данные.

Hold last value

Использует последнее значение данных в файле

Ground value

Использует значение, которое зависит от типа данных демонстрационных значений данных электронной таблицы:

  • Типы данных фиксированной точки — Использование наземное значение

  • Числовые типы кроме фиксированной точки — используют 0

  • Boolean — Использование false

  • Перечислимые типы данных — значение по умолчанию Использования

Зависимости

Чтобы включить этот параметр, установите Обработку первый столбец относительно Time.

Программируемое использование

Параметр: ExtrapolationAfterLastDataPoint
Ввод: символьный вектор
Значения: 'Линейная экстраполяция' | 'Содержит последнее значение' | 'Наземное значение'
Значение по умолчанию: 'Linear extrapolation'

Выберите действие после последней точки данных:

  • Repeating sequence — Повторите последовательность путем чтения данных из первой строки области значений, заданной в Области значений

  • Hold final value — Выведите последнее заданное значение для остатка от моделирования.

  • Ground value — Выведите наземное значение в зависимости от значения типа данных, заданного в типе Выходных данных.

Зависимости

Чтобы включить этот параметр, установите Обработку первый столбец относительно Data.

Программируемое использование

Параметр: OutputAfterLastPoint
Ввод: символьный вектор
Значения: 'Повторение последовательности' | 'Содержит окончательное значение' | 'Наземное значение'
Значение по умолчанию: 'Repeating sequence'

Выберите, чтобы включить обнаружение пересечения нулем.

Параметр Обнаружения Пересечения нулем применяется, только если параметр Частоты дискретизации устанавливается на (непрерывный) 0.

Симулинк использует метод, который, как известно как обнаружение пересечения нулем, определял местоположение точно разрыва, не обращаясь к чрезмерно маленьким временным шагам. В этом контексте пересечение нулем используется, чтобы представлять разрывы.

Для блока From Spreadsheet обнаружение пересечения нулем может только произойти в метках времени в файле. Simulink исследует только метки времени, не значения данных.

Если входной массив содержит дублирующиеся метки времени (больше чем одна запись с той же меткой времени), Simulink обнаруживает нуль, пересекающийся, в то время штампуют. Например, предположите, что входной массив имеет это данные.

time:     0 1 2 2 3
signal:   2 3 4 5 6

Во время 2, существует нуль, пересекающийся от разрыва входного сигнала.

Для данных с недублирующимися метками времени обнаружение пересечения нулем зависит от настроек следующих параметров:

  • Экстраполяция данных перед первой точкой данных

  • Интерполяция данных в области значений времени

  • Экстраполяция данных после последней точки данных

Блок применяет следующие правила при определении когда:

  • Пересечение нулем происходит впервые штамп

  • Для меток времени между первой и последней меткой времени

  • В последний раз штамп

Метка времениКогда обнаружение пересечения нулем происходит

Сначала

Экстраполяция данных перед первой точкой данных установлена в Ground value.

Между в общем и целом

Интерполяция данных в области значений времени установлена в Zero-order hold.

В последний раз

Один или обе из этих настроек происходите:

  • Экстраполяция данных после последней точки данных установлена в Ground value.

  • Интерполяция данных в области значений времени установлена в Zero-order hold.

Следующая фигура иллюстрирует обнаружение пересечения нулем для данных, к которым получает доступ блок From Spreadsheet, который имеет эти настройки:

  • Экстраполяция данных перед первой точкой данныхLinear extrapolation

  • Интерполяция данных в области значений времени (для внутренних точек) — Zero order hold

  • Экстраполяция данных после последней точки данныхLinear extrapolation

Следующая фигура является другой иллюстрацией обнаружения пересечения нулем для данных, к которым получает доступ блок From Spreadsheet. Блок имеет эти настройки для меток времени (точки):

  • Экстраполяция данных перед первой точкой данныхHold first value

  • Интерполяция данных в области значений времениZero order hold

  • Экстраполяция данных после последней точки данныхHold last value

Программируемое использование

Блочный параметр: ZeroCross
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Блокируйте характеристики

Типы данных

double | single | Boolean | base integer | fixed point[a] | enumerated

Прямое сквозное соединение

No

Многомерные сигналы

No

Сигналы переменного размера

No

Обнаружение пересечения нулем

Yes

A 

Поддержки до 32-битных типов данных фиксированной точки.

Расширенные возможности

Введенный в R2015b

Была ли эта тема полезной?