exponenta event banner

sldiscmdl

Дискретизация модели, содержащей непрерывные блоки

Синтаксис

sldiscmdl('model_name',sample_time)
sldiscmdl('model_name',sample_time,method)
sldiscmdl('model_name',sample_time,options)
sldiscmdl('model_name',sample_time,method,freq)
sldiscmdl('model_name',sample_time,method,options)
sldiscmdl('model_name',sample_time,method,freq,options)
[old_blks,new_blks] = sldiscmdl('model_name',sample_time,method,freq,options)

Описание

sldiscmdl('model_name',sample_time) дискретизирует модель с именем 'model_name' с использованием указанного sample_time. Модель не обязательно должна быть открытой, и единицы измерения для sample_time являются секундами моделирования.

sldiscmdl('model_name',sample_time,method) дискретизирует модель с помощью sample_time и метод преобразования, заданный method.

sldiscmdl('model_name',sample_time,options) дискретизирует модель с помощью sample_time и критерии, определенные options массив ячеек. Этот массив состоит из четырех элементов: {target, replace_with, put_into, prompt}.

sldiscmdl('model_name',sample_time,method,freq) дискретизирует модель с помощью sample_time, methodи критическая частота, указанная freq. Единицы измерения для freq являются Hz. При указании freq, method должно быть 'prewarp'.

sldiscmdl('model_name',sample_time,method,options) дискретизирует модель с помощью sample_time, method, и options.

sldiscmdl('model_name',sample_time,method,freq,options) дискретизирует модель с помощью sample_time, method, freq, и options. При указании freq, method должно быть 'prewarp'.

[old_blks,new_blks] = sldiscmdl('model_name',sample_time,method,freq,options) дискретизирует модель с помощью sample_time, method, freq, и options. При указании freq, method должно быть 'prewarp'. Функция также возвращает два массива ячеек, которые содержат полные имена путей исходных, непрерывных блоков и новых дискретизированных блоков.

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

model_name

Имя модели для дискретизации.

sample_time

Спецификация времени образца для модели:

Скалярное значение

Время выборки с нулевым смещением, например 1

Двухэлементный вектор

Время выборки с ненулевым смещением, например [1 0.1]

method

Способ преобразования блоков из непрерывного в дискретный режим:

'zoh' (по умолчанию)

Удержание нулевого порядка на входах

'foh'

Удержание первого порядка на входах

'tustin'

Билинейное (Тустин) приближение

'prewarp'

Аппроксимация Тустина с предвоенной частотой

'matched'

Согласованный метод полюс-ноль

Только для систем с одним входом и одним выходом (SISO)

freq

Критическая частота в Гц. Этот ввод применяется только в том случае, если method вход - 'prewarp'.

options

Массив ячеек {target, replace_with, put_into, prompt}, где каждый элемент может принимать следующие значения:

target

'all' (по умолчанию)

Дискретизировать все непрерывные блоки

'selected'

Дискретизировать только выбранные блоки в модели

'full_blk_path'

Дискретизировать указанный блок

replace_with

'parammask' (по умолчанию)

Создание дискретных блоков, параметры которых получены из соответствующих непрерывных блоков

'hardcoded'

Создание дискретных блоков с жестко закодированными параметрами, помещенными непосредственно в каждое диалоговое окно блока

put_into

'copy' (по умолчанию)

Создание дискретизации в копии исходной модели

'variant'

Создание кандидата на дискретизацию в подсистеме вариантов

'current'

Применение дискретизации к текущей модели

'untitled'

Создание дискретизации в новом окне без названия

prompt

'on' (по умолчанию)

Отображение информации дискретизации в командной строке

'off'

Не показывать информацию дискретизации в командной строке

Примеры

Дискретизировать все непрерывные блоки в slexAircraftExample модель с использованием 1-секундного времени выборки:

openExample('slexAircraftExample');
sldiscmdl('slexAircraftExample',1);

Дискретизировать Aircraft Dynamics Model подсистему в slexAircraftExample модель с использованием 1-секундного времени выборки, 0.1-секундного смещения и метода преобразования с удержанием первого порядка:

sldiscmdl('slexAircraftExample',[1 0.1],'foh',...
{'slexAircraftExample/Aircraft Dynamics Model',... 
'parammask','copy','on'});

Дискретизировать Aircraft Dynamics Model подсистему в slexAircraftExample модель и извлечение полного имени пути второго дискретизированного блока:

[old_blks,new_blks] = sldiscmdl('slexAircraftExample',[1 0.1],...
'foh',{'slexAircraftExample/Aircraft Dynamics Model','parammask',...
'copy','on'});
% Get full path name of the second discretized block
new_blks{2}

Дискретизировать все непрерывные блоки в slexAircraftExample модель с использованием 1-секундного времени выборки:

openExample('slexAircraftExample');
[old_blk,new_blk] = sldiscmdl('f14',1,'zoh',...
{'f14/Aircraft Dynamics Model',...
'parammask','variant','on'})
--discretizing 'f14/Aircraft Dynamics Model' and putting results into a variant subsystem

old_blk =

  1x1 cell array

    {'f14/Aircraft Dynamics Model'}

new_blk =

  1x1 cell array

    {'f14/Aircraft↵Dynamics↵Model'}
Представлен до R2006a