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.Parameter.

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

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

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

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

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

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

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

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

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

  • 'double'

  • 'single'

  • 'half'

  • '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 (Embedded 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 возразите как тип данных объекта параметра и задайте максимальное значение для каждого поля при помощи элементов объекта шины. Смотрите Типы данных Поля элемента управления и Характеристики путем Создания Объекта параметра.

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

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

Пример: 5.32

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

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

Значение по умолчанию пусто, что означает, что значение параметров не имеет минимума.

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

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

Если Value меньше минимального значения или если минимальное значение находится вне области значений типа данных 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

Пример: 1.2 + 3.2i

Пример: true

Пример: myEnumType.myEnumValue

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

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

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

Примеры

Используйте объект параметра для Установки значений параметра 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. Откройте новую модель Simulink. Добавьте блок 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. В командной строке MATLAB создайте 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')

    Когда вы симулируете или генерируете код, выражение оценивает к 15.

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