ee_getPowerLossTimeSeries

Вычислите рассеянные потери мощности и возвратите данные временных рядов

Синтаксис

lossesCell = ee_getPowerLossTimeSeries(node)
lossesCell = ee_getPowerLossTimeSeries(node,startTime,endTime)
lossesCell = ee_getPowerLossTimeSeries(node,startTime,endTime,intervalWidth)

Описание

пример

lossesCell = ee_getPowerLossTimeSeries(node) вычисляет рассеянные потери мощности для блоков в модели, на основе регистрируемых данных моделирования, и возвращает данные временных рядов для каждого блока.

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

Функция ee_getPowerLossTimeSeries вычисляет рассеянные потери мощности для каждого блока, который имеет переменную power_dissipated. Все блоки в библиотеке Semiconductor Devices, а также некоторые другие блоки, имеют внутреннюю переменную под названием power_dissipated, который представляет мгновенную степень, рассеянную блоком. Некоторые блоки имеют больше чем одну переменную power_dissipated, в зависимости от своей настройки. Например, блок N-Channel MOSFET имеет отдельные узлы журналирования power_dissipated для MOSFET, резистора логического элемента, и для источника и резисторов дренажа, если у них есть ненулевые значения сопротивления. Функция суммирует все эти потери и обеспечивает значение потерь мощности для всех блоков как функции времени.

Если node является именем логарифмической переменной симуляции, то таблица содержит данные для всех блоков в модели, которые рассеивают степень (то есть, содержите по крайней мере одну переменную power_dissipated). Если node является именем узла в дереве данных моделирования, то таблица содержит данные только для блоков в том узле.

пример

lossesCell = ee_getPowerLossTimeSeries(node,startTime,endTime) вычисляет рассеянные потери мощности и возвращает данные временных рядов для временных шагов от startTime до endTime. Если startTime равен endTime, интервал является эффективно нулем, и функция возвращает мгновенную степень для временного шага, который происходит в тот момент. Если вы не используете эти два входных параметра, функция возвращает данные по целому времени симуляции.

пример

lossesCell = ee_getPowerLossTimeSeries(node,startTime,endTime,intervalWidth) вычисляет рассеянные потери мощности и возвращает данные временных рядов для временных шагов от startTime до endTime, усредненного за время intervalWidth. Если вы не используете intervalWidth или устанавливаете его на 0, функция возвращает мгновенные данные без усреднения. Если вы не используете все три дополнительных аргумента, функция возвращает мгновенные данные по целому времени симуляции.

Примеры

свернуть все

Этот пример показывает, как вычислить мгновенные потери на основе рассеянной степени и возвратиться, данные временных рядов навсегда продвигаются в целое время симуляции с помощью функции ee_getPowerLossTimeSeries.

Откройте модель. В командной строке MATLAB®, введите:

model = 'ee_solar_converter'; 
open_system(model) 

Этой модели в качестве примера включили регистрацию данных. Запустите симуляцию и создайте логарифмическую переменную симуляции.

sim(model) 

Логарифмическая переменная simlog_ee_solar_converter симуляции сохранена в вашей текущей рабочей области.

Вычислите рассеянные потери мощности и возвратите данные временных рядов в массиве ячеек.

lossesCell = ee_getPowerLossTimeSeries(simlog_ee_solar_converter)
lossesCell =

  8×2 cell array

    'ee_solar_converter.Diode1.diode'    [201804×3 double]
    'ee_solar_converter.MOS1'            [201804×3 double]
    'ee_solar_converter.MOS2'            [201804×3 double]
    'ee_solar_converter.MOS3'            [201804×3 double]
    'ee_solar_converter.MOS4'            [201804×3 double]
    'ee_solar_converter.Diode2.diode'    [201804×3 double]
    'ee_solar_converter.Diode3.diode'    [201804×3 double]
    'ee_solar_converter.Diode4.diode'    [201804×3 double]

Просмотрите данные временных рядов. Из рабочей области откройте массив ячеек lossesCell, затем откройте числовой массив 201804x3 double для ee_solar_converter.Diode1.diode.

Первые два столбца содержат интервал, запускаются и время окончания. Третий столбец содержит данные о потерях мощности.

Отобразите данные на графике.

plot(lossesCell{1, 2}(:,end))
title('Dissipated Power')
xlabel('Time Interval')
ylabel('Power (W)')

Этот пример показывает, как вычислить мгновенные потери на основе рассеянной степени и возвратиться, данные временных рядов навсегда продвигаются в определенный период времени с помощью функции ee_getPowerLossTimeSeries.

Откройте модель. В командной строке MATLAB®, введите:

model = 'ee_solar_converter'; 
open_system(model) 

Этой модели в качестве примера включили регистрацию данных. Запустите симуляцию и создайте логарифмическую переменную симуляции.

sim(model) 

Логарифмическая переменная simlog_ee_solar_converter симуляции сохранена в вашей текущей рабочей области.

Время симуляции модели (t) является 1/60 секундами. Вычислите рассеянные потери мощности и возвратите данные временных рядов в массиве ячеек для второй половины цикла симуляции, когда t будет между 1/120 и 1/60 секунды..

lossesCell = ee_getPowerLossTimeSeries(simlog_ee_solar_converter,1/120,1/60)
lossesCell =

  8×2 cell array

    'ee_solar_converter.Diode1.diode'    [105197×3 double]
    'ee_solar_converter.MOS1'            [105197×3 double]
    'ee_solar_converter.MOS2'            [105197×3 double]
    'ee_solar_converter.MOS3'            [105197×3 double]
    'ee_solar_converter.MOS4'            [105197×3 double]
    'ee_solar_converter.Diode2.diode'    [105197×3 double]
    'ee_solar_converter.Diode3.diode'    [105197×3 double]
    'ee_solar_converter.Diode4.diode'    [105197×3 double]

Просмотрите данные временных рядов. Из рабочей области откройте массив ячеек lossesCell, затем откройте числовой массив 105197x3 double для ee_solar_converter.Diode1.diode.

Первые два столбца содержат интервал, запускаются и время окончания. Третий столбец содержит данные о потерях мощности.

Отобразите данные на графике.

plot(lossesCell{1, 2}(:,end))
title('Dissipated Power')
xlabel('Time Interval')
ylabel('Power (W)')

Этот пример показывает, как вычислить потери на основе рассеянной степени и возвратить данные временных рядов для определенного периода времени с усреднением прикладного на интервалах заданной ширины.

Откройте модель. В командной строке MATLAB®, введите:

model = 'ee_solar_converter'; 
open_system(model) 

Этой модели в качестве примера включили регистрацию данных. Запустите симуляцию и создайте логарифмическую переменную симуляции.

sim(model) 

Логарифмическая переменная simlog_ee_solar_converter симуляции сохранена в вашей текущей рабочей области.

Время симуляции модели (t) является 1/60 секундами. Вычислите средние рассеянные потери мощности для 1.1e-4 s интервалы и возвратите данные временных рядов в массиве ячеек в течение периода, когда время симуляции, t, составит 0.008–0.017 секунды.

lossesCell = ee_getPowerLossTimeSeries(simlog_ee_solar_converter,0.008,0.016,1.1e-4)
lossesCell =

  8×2 cell array

    'ee_solar_converter.Diode1.diode'    [72×3 double]
    'ee_solar_converter.MOS1'            [72×3 double]
    'ee_solar_converter.MOS2'            [72×3 double]
    'ee_solar_converter.MOS3'            [72×3 double]
    'ee_solar_converter.MOS4'            [72×3 double]
    'ee_solar_converter.Diode2.diode'    [72×3 double]
    'ee_solar_converter.Diode3.diode'    [72×3 double]
    'ee_solar_converter.Diode4.diode'    [72×3 double]

Просмотрите данные временных рядов. Из рабочей области откройте массив ячеек lossesCell, затем откройте числовой массив 105197x3 double для ee_solar_converter.Diode1.diode.

Первые два столбца содержат интервал, запускаются и время окончания. Третий столбец содержит данные о потерях мощности. В этом случае, чтобы использовать усреднение интервалов, которые равны по ширине 1.1e-4 секундам, функция настраивает время начала для первого интервала от заданного значения 0,008 секунд к значению 0,0081 секунд. Существует 72 интервала 1.1e-4 секунд.

Отобразите данные на графике.

plot(lossesCell{1, 2}(:,end))
title('Dissipated Power')
xlabel('Time Interval')
ylabel('Power (W)')

Входные параметры

свернуть все

Логарифмическая переменная рабочей области симуляции или узел в этой переменной, которая содержит регистрируемые данные о симуляции модели, заданные как объект Node. Вы указываете, что имя симуляции регистрирует переменную при помощи параметра Workspace variable name на панели Simscape диалогового окна Configuration Parameters. Чтобы задать узел в рамках симуляции регистрируют переменную, обеспечивают полный путь к тому узлу через дерево данных моделирования, начиная с имени переменной верхнего уровня.

Если node является именем логарифмической переменной симуляции, то таблица содержит данные для всех блоков в модели, которые содержат переменные power_dissipated. Если node является именем узла в дереве данных моделирования, то таблица содержит данные только для:

  • Блоки или переменные в том узле

  • Блоки или переменные в подузлах на всех уровнях иерархии ниже того узла

Пример: simlog.Cell1.MOS1

Запустите временного интервала для вычисления временных рядов потерь мощности, заданных как вещественное число, в секундах. startTime должен быть больше, чем или равным симуляции Start time и меньше, чем endTime.

Типы данных: double

Конец временного интервала для вычисления временных рядов потерь мощности, заданных как вещественное число, в секундах. endTime должен быть больше, чем startTime и меньше чем или равным симуляции Stop time.

Типы данных: double

Размер временного интервала для вычисления среднего рассеивания энергии, заданного как вещественное число, в секундах. Если задано, функция возвращает данные для временных шагов от startTime до endTime, усредненного по intervalWidth. Если вы не используете аргумент intervalWidth или устанавливаете его на 0, функция возвращает мгновенные данные без усреднения. Если все дополнительные аргументы не использованы, функция возвращает мгновенные данные по целому времени симуляции.

Если время между заданным startTime и endTime не является целочисленным кратным intervalWidth, функция настраивает время начала. Данные показывают, как функция настраивает время начала, чтобы гарантировать, что ширина каждого временного интервала, что рассеянная степень усреднена, равна заданному intervalWidth.

Черная линия является примером мгновенных переменных power_dissipated, суммированных по всем элементам в отдельном блоке. Симуляция запускается в течение 6 секунд. startTime и endTime обозначаются чисто синими строками. intervalWidth установлен в 1 секунду. Существует пять интервалов, как обозначено красными пунктирными линиями. Самое правое ребро последнего интервала совпадает с endTime. Крайнее левое ребро первого интервала всегда больше, чем или равно startTime. Ребро равно startTime, только если (endTime-startTime)/intervalWidth является целым числом. Вывод в этом случае состоит из пяти значений для усредненного рассеивания энергии, одной точки для каждого периода времени. Функциональные выходные параметры фактический запуск и времена остановки в сведенных в таблицу выходных данных.

Пример: 1.1e-3

Типы данных: double

Выходные аргументы

свернуть все

Массив ячеек, который содержит имена блоков в узлах, которые содержат переменные power_dissipated и, для каждого блока, массива с тремя столбцами:

  • Столбец каждый содержит время начала интервала.

  • Столбец два содержит время окончания интервала.

  • Столбец три содержит рассеянную степень для временного интервала.

Если ширина интервала составляет 0 секунд, то есть, время начала равно в конец время, то рассеянная степень является мгновенными потерями мощности. Если интервал больше, чем 0 секунд, рассеянная степень является средними потерями мощности в течение времени интервала.

Введенный в R2017a