get_param

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

Описание

пример

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

Совет

Если вы совершаете несколько вызовов на get_param для того же блока, тогда установка блока с помощью числового указателя более эффективна, чем использование полного пути блока. Использовать getSimulinkBlockHandle чтобы получить указатель на блок.

Для имен параметров смотрите:

Примеры

свернуть все

Загрузите vdp модель.

load_system('vdp');

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

BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue =

    'Element-wise(K.*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 =

  14×1 cell array

    {'vdp/Constant'            }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Square'              }
    {'vdp/Sum'                 }
    {'vdp/Sum1'                }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

Получите список параметров блочного диалога для Mu блок.

BlockDialogParameters = get_param('vdp/Mu','DialogParameters')
BlockDialogParameters = 

  struct with fields:

                         Gain: [1×1 struct]
               Multiplication: [1×1 struct]
                     ParamMin: [1×1 struct]
                     ParamMax: [1×1 struct]
             ParamDataTypeStr: [1×1 struct]
                       OutMin: [1×1 struct]
                       OutMax: [1×1 struct]
               OutDataTypeStr: [1×1 struct]
                    LockScale: [1×1 struct]
                      RndMeth: [1×1 struct]
    SaturateOnIntegerOverflow: [1×1 struct]
                   SampleTime: [1×1 struct]

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

BlockParameterValue = get_param('vdp/Mu','Multiplication')
BlockParameterValue =
    'Element-wise(K.*u)'

Если вы совершаете несколько вызовов на get_param для того же блока использование указателя на блок более эффективно, чем определение полного пути к блоку в качестве вектора символов, например 'vdp/Mu'.

Можно использовать указатель на блок в последующих вызовах get_param или set_param. Если вы исследуете указатель, вы увидите, что он содержит двойник. Не пытайтесь использовать только число указателей (например 5.007) потому что обычно вам нужно задать намного больше цифр, чем MATLAB® отображает. Вместо этого назначьте указатель переменной и используйте это имя переменной, чтобы задать блок.

Использовать getSimulinkBlockHandle для загрузки vdp модель при необходимости (путем определения true) и получите указатель на Mu блок.

mublockhandle = getSimulinkBlockHandle('vdp/Mu',true);

Используйте указатель на блок с get_param и получите значение для Expr параметры блоков.

BlockParameterValue = get_param(mublockhandle,'Multiplication')
BlockParameterValue =
    'Element-wise(K.*u)'

Получите список блока путей и имен для vdp модель.

load_system('vdp')
BlockPaths = find_system('vdp','Type','Block')
BlockPaths =

  14×1 cell array

    {'vdp/Constant'            }
    {'vdp/More Info'           }
    {'vdp/More Info/Model Info'}
    {'vdp/Mu'                  }
    {'vdp/Mux'                 }
    {'vdp/Product'             }
    {'vdp/Scope'               }
    {'vdp/Square'              }
    {'vdp/Sum'                 }
    {'vdp/Sum1'                }
    {'vdp/x1'                  }
    {'vdp/x2'                  }
    {'vdp/Out1'                }
    {'vdp/Out2'                }

Получите значение для BlockType параметр для каждого из блоков в vdp модель.

BlockTypes = get_param(BlockPaths,'BlockType')
BlockTypes =

  14×1 cell array

    {'Constant'  }
    {'SubSystem' }
    {'SubSystem' }
    {'Gain'      }
    {'Mux'       }
    {'Product'   }
    {'Scope'     }
    {'Math'      }
    {'Sum'       }
    {'Sum'       }
    {'Integrator'}
    {'Integrator'}
    {'Outport'   }
    {'Outport'   }

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

свернуть все

Указатель или имя модели или блока, или корня, задается как числовой указатель или вектор символов, массив ячеек из векторов символов для нескольких блоков или 0 для корня. Числовой указатель должен быть скаляром. Можно также получить параметры линий и портов, но для их задания необходимо использовать числовые указатели.

Совет

Если вы совершаете несколько вызовов на get_param для того же блока, тогда установка блока с помощью числового указателя более эффективна, чем использование полного пути блока. Использовать getSimulinkBlockHandle чтобы получить указатель на блок. Не пытайтесь использовать только число указателей (например 5.007), поскольку обычно необходимо задать намного больше цифр, чем отображения MATLAB. Присвойте указатель переменной и используйте это имя, чтобы задать блок.

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

  • Глобальные параметры включают настройки Editor и параметры Simulink Coder™.

  • Параметры модели включают параметры конфигурации, параметры Simulink Coder и параметры Simulink Code Inspector™.

Пример: 'vdp/Mu'

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

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

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

'DialogParameters'

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

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

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

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

Пример: 'ObjectParameters'

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

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

свернуть все

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

Заданный параметрВозвращено 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'

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