Получите названия параметра и значения
ParamValue = get_param(Object,Parameter)
возвращает имя или значение заданного параметра для заданной модели или объекта блока. Откройте или загрузите модель Simulink® сначала. ParamValue
= get_param(Object
,Parameter
)
Если вы выполняете множественные вызовы к get_param
для того же блока, то определение блока с помощью числового указателя более эффективно, чем использование полного блока path. Используйте getSimulinkBlockHandle
, чтобы получить указатель блока.
Для названий параметра см.:
Загрузите модель vdp
.
load_system('vdp');
Получите значение для параметров блоков Expression
.
BlockParameterValue = get_param('vdp/Fcn','Expression')
BlockParameterValue = 1 - u*u
Получите значение для параметра модели SolverType
.
SolverType = get_param('vdp','SolverType')
SolverType = Variable-step
Получите список глобальных названий параметра путем нахождения различия между корневыми названиями параметра Simulink и именами параметра модели.
RootParameterNames = fieldnames(get_param(0,'ObjectParameters')); load_system('vdp') ModelParameterNames = fieldnames(get_param('vdp','ObjectParameters')); GlobalParameterNames = setdiff(RootParameterNames,ModelParameterNames)
GlobalParameterNames = 'AutoSaveOptions' 'CacheFolder' 'CallbackTracing' 'CharacterEncoding' . . . 'CurrentSystem'
Получите значение глобального параметра.
GlobalParameterValue = get_param(0,'CurrentSystem')
GlobalParameterValue = vdp
Получите список параметров модели для модели vdp
.
load_system('vdp') ModelParameterNames = get_param('vdp','ObjectParameters')
ModelParameterNames = Name: [1x1 struct] Tag: [1x1 struct] Description: [1x1 struct] Type: [1x1 struct] Parent: [1x1 struct] Handle: [1x1 struct] . . . Version: [1x1 struct]
Получите текущее значение параметра модели ModelVersion
для модели vdp
.
ModelParameterValue = get_param('vdp','ModelVersion')
ModelParameterValue = 1.6
Получите список путей к блоку и имен для модели vdp
.
load_system('vdp') BlockPaths = find_system('vdp','Type','Block')
BlockPaths = 'vdp/Fcn' 'vdp/More Info' 'vdp/More Info/Model Info' 'vdp/Mu' 'vdp/Mux' 'vdp/Product' 'vdp/Scope' 'vdp/Sum' 'vdp/x1' 'vdp/x2' 'vdp/Out1' 'vdp/Out2'
Получите список диалоговых параметров блока для блока Fcn
.
BlockDialogParameters = get_param('vdp/Fcn','DialogParameters')
BlockDialogParameters = Expr: [1x1 struct] SampleTime: [1x1 struct]
Получите значение для параметров блоков Expr
.
BlockParameterValue = get_param('vdp/Fcn','Expr')
BlockParameterValue = 1 - u*u
Если вы выполняете множественные вызовы к get_param
для того же блока, то использование указателя блока более эффективно, чем определение полного блока path как вектор символов, например, 'vdp/Fcn'
.
Можно использовать указатель блока в последующих вызовах get_param
или set_param
. Если вы исследуете указатель, вы видите, что он содержит двойное. Не пытайтесь использовать количество одного только указателя (например, 5.007
), потому что обычно необходимо задавать намного больше цифр, чем отображения MATLAB®. Вместо этого присвойте указатель на переменную и используйте то имя переменной, чтобы задать блок.
Используйте getSimulinkBlockHandle
, чтобы загрузить модель vdp
при необходимости (путем определения true
) и получить указатель на блок FCN
.
fcnblockhandle = getSimulinkBlockHandle('vdp/Fcn',true);
Используйте указатель блока с get_param
и получите значение для параметров блоков Expr
.
BlockParameterValue = get_param(fcnblockhandle,'Expression')
BlockParameterValue = 1 - u*u
Получите список путей к блоку и имен для модели vdp
.
load_system('vdp') BlockPaths = find_system('vdp','Type','Block')
BlockPaths = 'vdp/Fcn' 'vdp/More Info' 'vdp/More Info/Model Info' 'vdp/Mu' 'vdp/Mux' 'vdp/Product' 'vdp/Scope' 'vdp/Sum' 'vdp/x1' 'vdp/x2' 'vdp/Out1' 'vdp/Out2'
Получите значение для параметра BlockType
для каждого из блоков в модели vdp
.
BlockTypes = get_param(BlockPaths,'BlockType')
BlockTypes = 'Fcn' 'SubSystem' 'SubSystem' 'Gain' 'Mux' 'Product' 'Scope' 'Sum' 'Integrator' 'Integrator' 'Outport' 'Outport'
Объект
Имя или указатель модели или блока или корняУказатель или имя модели или блока или корня, заданного как числовой указатель или вектор символов, массив ячеек из символьных векторов для нескольких блоков или 0
для корня. Числовой указатель должен быть скаляром. Можно также получить параметры строк и портов, но необходимо использовать числовые указатели, чтобы задать их.
Если вы выполняете множественные вызовы к get_param
для того же блока, то определение блока с помощью числового указателя более эффективно, чем использование полного блока path. Используйте getSimulinkBlockHandle
, чтобы получить указатель блока. Не пытайтесь использовать количество одного только указателя (например, 5.007
), потому что обычно необходимо задавать намного больше цифр, чем отображения MATLAB. Присвойте указатель на переменную и используйте то имя переменной, чтобы задать блок.
Задайте 0
, чтобы получить корневые названия параметра, включая глобальные параметры и параметры модели для текущего сеанса Simulink.
Глобальные параметры включают настройки Редактора и параметры Simulink Coder™.
Параметры модели включают параметры конфигурации, параметры Simulink Coder и параметры Simulink Code Inspector™.
Пример: 'vdp/Fcn'
Parameter
— Параметр модели или блока или корняПараметр модели или блока или корня, заданного как вектор символов или 0
для корня. Таблица показывает особые случаи.
Заданный параметр | Результат |
---|---|
'ObjectParameters' | Возвращает массив структур с названиями параметра заданного объекта (модель, блок или корень) как отдельные поля в структуре. |
'DialogParameters' | Возвращает массив структур с названиями параметра диалогового окна блока как отдельные поля в структуре. Если блок имеет маску, функция вместо этого возвращает параметры маски. |
Название параметра, например, 'BlockType' . Задайте любую модель или параметры блоков, или блокируйте параметр диалогового окна. | Возвращает значение заданной модели или параметров блоков. Если вы задали несколько блоков как массив ячеек, возвращает массив ячеек со значениями заданного параметра, характерного для всех блоков. Все заданные блоки в массиве ячеек должны содержать параметр, в противном случае функция возвращает ошибку. |
Пример: 'ObjectParameters'
Типы данных: char
ParamValue
Имя или значение заданного параметра для заданной модели или блока или корняИмя или значение заданного параметра для заданной модели или блока или корня. Если вы задаете несколько объектов, вывод является массивом ячеек объектов. Таблица показывает особые случаи.
Заданный параметр | ParamValue возвращен |
---|---|
'ObjectParameters' | Массив структур с названиями параметра заданного объекта (модель, блок или корень) как отдельные поля в структуре. |
'DialogParameters' | Массив структур с названиями параметра диалогового окна блока как отдельные поля в структуре. Если блок имеет маску, функция вместо этого возвращает параметры маски. |
Название параметра, например, 'BlockType' | Значение заданной модели или параметров блоков. Если несколько блоков заданы как массив ячеек, возвращает массив ячеек со значениями заданного параметра, характерного для всех блоков. |
Если вы получаете корневые параметры путем определения get_param(0,'ObjectParameters')
, то вывод ParamValue
является массивом структур с корневыми названиями параметра как отдельные поля в структуре. Каждое поле параметра является структурой, содержащей эти поля:
Введите — значения типа Параметра: 'boolean'
, 'string'
, 'int'
, 'real'
, 'point'
, 'rectangle'
, 'matrix'
, 'enum'
, 'ports'
или 'list'
Перечисление — Массив ячеек значений вектора символов перечисления, который применяется только к типам параметра 'enum'
Атрибуты — Массив ячеек из символьных векторов, задающий атрибуты параметра. Значения: 'read-write'
, 'read-only'
, 'read-only-if-compiled'
, 'write-only'
, 'dont-eval'
, 'always-save'
, 'never-save'
, 'nondirty'
или 'simulation'
bdroot
| find_system
| gcb
| gcs
| getSimulinkBlockHandle
| set_param
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.