Simulink.Parameter

Сохраните, совместно используйте и сконфигурируйте значения параметров блоков

Описание

Создайте Simulink.Parameter возразите, чтобы установить значение одних или нескольких параметров блоков в модели, таких как параметр Gain блока Gain. Вы создаете объект в рабочей области или в словаре данных. Установите значение параметров в объекте, не в блоке.

Используйте Simulink.Parameter объект к:

  • Совместно используйте значение среди нескольких параметров блоков.

  • Представляйте техническую константу или настраиваемый калибровочный параметр.

  • Разделите значение параметров от его типа данных.

  • Сконфигурируйте данные о параметре для генерации кода.

Value свойство объектно-ориентированной памяти значение параметров. Чтобы использовать объект в модели, установите значение параметров блоков к выражению, которое включает имя объекта. Не используйте Value свойство от выражения. Для получения дополнительной информации смотрите Объекты параметра Использования.

Для получения дополнительной информации о параметрах блоков, смотрите Установленные Значения Параметров блоков и Как Хранилища Сгенерированного кода Внутренний Сигнал, состояние и Данные о Параметре (Simulink Coder).

Создание

Создайте Simulink.Parameter объект:

Описание

paramObj = Simulink.Parameter возвращает Simulink.Parameter объект со значениями свойств по умолчанию.

paramObj = Simulink.Parameter(paramValue) возвращает Simulink.Parameter возразите и инициализирует значение Value свойство при помощи paramValue.

Свойства

развернуть все

Для получения информации о свойствах в диалоговом окне свойства Simulink.Parameter возразите, смотрите Simulink. Диалоговое окно Свойства параметра.

Спецификации для генерации кода для объекта параметра, возвращенного как Simulink.CoderInfo объект.

Это свойство доступно только для чтения. Вместо этого измените свойства Simulink.CoderInfo возразите, что это свойство содержит.

Например, StorageClass свойство Simulink.CoderInfo объект определяет, как тулбоксы генерации кода Simulink® выделяют память для объекта параметра в сгенерированном коде. Для получения дополнительной информации смотрите, Применяют Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Simulink Coder) и Выбирают Storage Class for Controlling Data Representation in Generated Code (Embedded Coder).

Числовая сложность значения параметров, возвращенного как 'real' (если значение действительно), или 'complex' (если значение является комплексным). Simulink определяет сложность из значения параметров, которое вы задаете в Value свойство. Это свойство доступно только для чтения.

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

Тип данных значения параметров, которое вы задаете в Value свойство. Когда вы симулируете модель или генерируете код, Simulink бросает значение к заданному типу данных.

Если вы задаете 'auto', настройка по умолчанию, объект параметра использует совпадающий тип данных в качестве параметров блоков, которые используют объект. Смотрите Уменьшают Усилие по Обслуживанию с Наследованием Типа данных.

Когда вы устанавливаете Value свойство при помощи чего-то другого, чем double номер, объект обычно устанавливает DataType свойство на основе значения Value свойство. Например, когда вы устанавливаете Value свойство к int8(5), объект устанавливает значение DataType свойство к 'int8'.

Чтобы явным образом задать встроенный тип данных (см. Типы данных, Поддержанные Simulink), задайте одну из этих опций:

  • 'double'

  • 'single'

  • 'int8'

  • 'uint8'

  • 'int16'

  • 'uint16'

  • 'int32'

  • 'uint32'

  • 'int64'

  • 'uint64'

  • 'boolean'

Чтобы задать тип данных с фиксированной точкой, используйте fixdt функция. Например, задайте 'fixdt(1,16,5)'.

Если вы используете Simulink.AliasType или Simulink.NumericType объект создать и совместно использовать пользовательские типы данных в вашей модели, задайте имя объекта.

Чтобы задать перечислимый тип данных, используйте имя типа, которому предшествует Enum:. Например, задайте 'Enum: myEnumType'.

Когда вы храните структуру или массив структур в Value свойство объекта, объект устанавливает DataType свойство к 'struct'. Задавать Simulink.Bus возразите как тип данных, используйте имя объекта шины, которому предшествует Bus:. Например, задайте 'Bus: myBusObject'.

Пример: 'auto'

Пример: 'int8'

Пример: 'fixdt(1,16,5)'

Пример: 'myAliasTypeObject'

Пример: 'Enum: myEnumType'

Пример: 'Bus: myBusObject'

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

Пользовательское описание объекта параметра, заданного как вектор символов. Используйте это свойство зарегистрировать значение, что объект параметра имеет в вашем алгоритме.

Если у вас есть Embedded Coder®, можно сконфигурировать это описание, чтобы появиться в сгенерированном коде как комментарий. См. описания Объекта данных Simulink (Simulink Coder).

Пример: 'This parameter represents the maximum rotation speed of the engine.'

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

Размерности значения сохранены в Value свойство, возвращенное как вектор-строка или заданное как вектор символов.

Когда вы устанавливаете Value свойство объекта, объект устанавливает значение Dimensions свойство к double вектор-строка. Вектор является тем же вектором что size функция возвращается.

Чтобы использовать символьные размерности, задайте вектор символов. Смотрите Варианты Размерности Реализации для Размеров Массивов в Сгенерированном коде (Embedded Coder).

Пример: [1 3]

Пример: '[1 myDimParam]'

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

Максимальное значение, что Value свойство объекта может сохранить, заданный как действительный double скаляр.

Значением по умолчанию является [] (пустой), что означает, значение параметров не имеет максимума.

Если вы храните комплексное число в Value свойство, Max свойство применяется отдельно к действительным и мнимым частям.

Если вы храните структуру в Value свойство, объект игнорирует Max свойство. Вместо этого используйте Simulink.Bus возразите как тип данных объекта параметра и задайте максимальное значение для каждого поля при помощи элементов объекта шины. Смотрите Типы данных Поля элемента управления и Характеристики путем Создания Объекта параметра.

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

Для получения дополнительной информации о том, как Simulink использует это свойство, смотрите, Задают Минимальные и Максимальные значения для Параметров блоков.

Пример: 5.32

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

Минимальное значение, что Value свойство объекта может сохранить, заданный как действительный double скаляр.

Значением по умолчанию является [] (пустой), что означает, значение параметров не имеет минимума.

Если вы храните комплексное число в Value свойство, Min свойство применяется отдельно к действительным и мнимым частям.

Если вы храните структуру в Value свойство, объект игнорирует Min свойство. Вместо этого используйте Simulink.Bus возразите как тип данных объекта параметра и задайте минимальное значение для каждого поля при помощи элементов объекта шины. Смотрите Типы данных Поля элемента управления и Характеристики путем Создания Объекта параметра.

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

Для получения дополнительной информации о том, как Simulink использует это свойство, смотрите, Задают Минимальные и Максимальные значения для Параметров блоков

Пример: -0.92

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

Физическая единица измерения значения параметров, заданного как вектор символов. Для получения дополнительной информации смотрите Модульную Спецификацию в Моделях Simulink.

Пример: 'degC'

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

Значение, чтобы использовать в целевых параметрах блоков, заданных как любое из этих допустимых значений:

Можно использовать синтаксис MATLAB®, чтобы задать значение.

Выражение в качестве примераОписание
15.23

Задает скалярное значение

[3 4; 9 8]

Задает матрицу

3+2i

Задает комплексное число

struct('A',20,'B',5)

Задает структуру с двумя полями, A и B, со значениями с двойной точностью 20 и 5.

Организуйте параметры блоков в структуры (см., Организуют Связанные Определения Параметров блоков в Структурах), или инициализируйте элементы сигнала в шине (см., Задают Начальные условия для Сигналов Шины).

slexpr('myVar + myOtherVar')Задает выражение myVar + myOtherVar где myVar и myOtherVar другие переменные MATLAB или объекты параметра. Simulink сохраняет это математическое отношение между объектом и переменными.

Использовать Simulink.Parameter возразите, чтобы сохранить значение конкретного типа числовых данных, задать идеальное значение с Value свойство и управление тип с DataType свойство.

Если вы устанавливаете Value свойство при помощи введенного выражения, такого как single(32.5), DataType свойство изменяется, чтобы отразить новый тип. Лучшая практика использует выражение, которое не вводится. Можно постараться не накапливать числовую ошибку посредством повторной квантизации или насыщения типа данных, специально для типов данных с фиксированной точкой.

Пример: 3.15

Пример: single([3.15 1.23])

Пример: 1.2 + 3.2i

Пример: true

Пример: myEnumType.myEnumValue

Пример: struct('field1',15,'field2',7.32)

Пример: slexpr('myVar + myOtherVar')

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | struct | fi
Поддержка комплексного числа: Да

Примеры

Используйте объект параметра для Установки значений параметра Gain

  1. В командной строке создайте Simulink.Parameter объект.

    myParam = Simulink.Parameter;
    

  2. Присвойте числовое значение Value свойство.

    myParam.Value = 15.23;

  3. Задайте другие характеристики для параметров блоков путем корректировки свойств объектов. Например, чтобы задать минимальные и максимальные значения параметр может взять, использовать Min и Max свойства.

    myParam.Min = 10.11;
    myParam.Max = 25.27;

  4. В диалоговом окне блока задайте значение параметра как myParam. Например, в диалоговом окне блока Gain, задайте Gain как myParam.

    В процессе моделирования параметр Gain использует значение 15.23.

Измените значение, сохраненное объектом параметра

  1. В командной строке создайте Simulink.Parameter возразите, что хранит значение 2.52.

    myParam = Simulink.Parameter(2.52);

  2. Измените значение путем доступа к Value свойство объекта. Этот метод сохраняет значения других свойств объекта.

    myParam.Value = 1.13;

Создайте объект параметра с определенным типом числовых данных

Чтобы уменьшать обслуживание модели, можно оставить DataType свойство в его значении по умолчанию, auto. Объект параметра получает тип данных от параметров блоков, которые используют объект.

Чтобы снизить риск изменения типа данных, когда вы вносите изменения в типы данных сигнала и другие типы данных в вашей модели, можно явным образом задать тип данных для объекта параметра. Например, когда вы генерируете код, который экспортирует данные о параметре в ваш пользовательский код, явным образом задайте тип данных для объекта.

  1. В командной строке создайте Simulink.Parameter возразите, что хранит значение 18.25.

    myParam = Simulink.Parameter(18.25);

    Выражение 18.25 возвращает номер 18.25 с типом данных с плавающей точкой, с двойной точностью double. Value свойство хранит номер 18.25 с двойной точностью.

  2. Используйте DataType свойство задать тип данных с одинарной точностью single.

    myParam.DataType = 'single';

    Когда вы симулируете или генерируете код, объект параметра бросает значение Value свойство, 18.25, к типу данных, заданному DataType свойство, single.

Установите значение параметров на математическое выражение

В этом примере показано, как установить значение объекта параметра, myParam, к сумме двух других переменных, myVar и myOtherVar. С этим методом, когда вы изменяете значения независимых переменных, Simulink сразу вычисляет новое значение объекта параметра.

  1. Создайте эти две независимых переменные.

    myVar = 5.2;
    myOtherVar = 9.8;

  2. Создайте объект параметра.

    myParam = Simulink.Parameter;

  3. Установите значение объекта параметра к выражению myVar + myOtherVar.

    myParam.Value = slexpr('myVar + myOtherVar')

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