get_param

Получите название и значение параметра

Описание

пример

ParamValue = get_param(Object,Parameter) возвращает имя или значение заданного параметра для заданной модели или объекта блока. Откройте или загрузите модель Simulink® сначала.

Совет

Если вы выполняете множественные вызовы к 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'

Параметр модели или блока или корня в виде вектора символов или 0 для корня. Таблица показывает особые случаи.

Заданный параметрРезультат
'ObjectParameters'

Возвращает массив структур с названиями параметра заданного объекта (модель, блок или корень) как отдельные поля в структуре.

'DialogParameters'

Возвращает массив структур с названиями параметра диалогового окна блока как отдельные поля в структуре. Если блок имеет маску, функция вместо этого возвращает параметры маски.

Название параметра, например, 'BlockType'. Задайте любую модель или параметры блоков или параметр диалогового окна блока.

Возвращает значение заданной модели или параметров блоков.

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

Пример: 'ObjectParameters'

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

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

свернуть все

Имя или значение заданного параметра для заданной модели или блока или корня. Если вы задаете несколько объектов, выход является массивом ячеек объектов. Таблица показывает особые случаи.

Заданный параметрParamValue возвращен
'ObjectParameters'

Массив структур с названиями параметра заданного объекта (модель, блок или корень) как отдельные поля в структуре.

'DialogParameters'

Массив структур с названиями параметра диалогового окна блока как отдельные поля в структуре. Если блок имеет маску, функция вместо этого возвращает параметры маски.

Название параметра, например, 'BlockType'

Значение заданной модели или параметров блоков. Если несколько блоков заданы как массив ячеек, возвращает массив ячеек со значениями заданного параметра, характерного для всех блоков.

Если вы получаете корневые параметры путем определения get_param(0,'ObjectParameters'), затем выход ParamValue массив структур с корневыми названиями параметра как отдельные поля в структуре. Каждое поле параметра является структурой, содержащей эти поля:

  • Введите — значения типа Параметра: 'boolean'Строка, 'int'действительный, 'point'прямоугольник, 'matrix', 'enum', 'ports', или 'list'

  • Перечисление — Массив ячеек значений вектора символов перечисления, который применяется только к 'enum' типы параметра

  • Атрибуты — Массив ячеек из символьных векторов, задающий атрибуты параметра. Значения: 'read-write'Только для чтения, 'read-only-if-compiled', 'write-only', 'dont-eval', 'always-save', 'never-save', 'nondirty', или 'simulation'

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте