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 являются Гц. Когда вы задаете 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'

Билинейное (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