exponenta event banner

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.

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

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

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

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

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

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

'DialogParameters'

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

Имя параметра, например, 'BlockType'. Укажите любой параметр модели или блока или параметр диалогового окна блока.

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

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

Пример: 'ObjectParameters'

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

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

свернуть все

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

Указанный параметрВозвращенное значение ParamValue
'ObjectParameters'

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

'DialogParameters'

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

Имя параметра, например, 'BlockType'

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

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

  • Type - значения типа параметра: 'boolean', 'string', 'int', 'real', 'point', 'rectangle', 'matrix', 'enum', 'ports', или 'list'

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

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

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