exponenta event banner

Определение или изменение типа входного параметра с помощью приложения

Определение или изменение типа входного параметра

Следующая процедура показывает, как определить или изменить double, single, int64, int32, int16, int8, uint64, uint32, uint16, uint8, logical, и char типы.

Дополнительные сведения об определении других типов см. в этой таблице.

Тип вводаСвязь
Строковый скаляр (строковый массив 1 на 1)Укажите строковый скалярный входной параметр
Структура (структура)Задание входного параметра структуры
Массив ячеек (ячейка (однородная) или ячейка (гетерогенная))Укажите входной параметр массива ячеек
Тип данных с фиксированной точкой (embedded.fi)Задание входного параметра с фиксированной точкой
Ввод по примеру (Определить по примеру)Определение входного параметра по примеру с помощью приложения
Константа (определение константы)Определение параметров постоянного ввода с помощью приложения

  1. Щелкните поле справа от имени входного параметра.

  2. При необходимости для числовых типов, чтобы сделать параметр сложным типом, установите флажок Комплексное число (Complex number).

  3. Выберите тип ввода.

    Приложение отображает выбранный тип. Он отображает и параметры размера.

  4. В списке выберите, является ли ваш ввод скаляром, 1 x n вектор, a m x 1 вектор или m x n матрица. По умолчанию, если параметр размера не выбран, приложение определяет входные данные как скаляры.

  5. При необходимости, если входные данные не являются скалярными, введите размеры m и n. Можно указать:

    • Фиксированный размер, например, 10.

    • Переменный размер, до указанного предела, с помощью : префикс. Например, чтобы указать, что размер входных данных может изменяться до 10, введите :10.

    • Неограниченный размер переменной путем ввода :Inf.

    Размер каждого размера можно изменить.

Укажите строковый скалярный входной параметр

Чтобы указать, что вход является строковым скаляром:

  1. На странице Определение типов ввода (Define Input Types) щелкните Разрешить ввод типов ввода или глобальных типов непосредственно.

  2. Щелкните поле справа от входного параметра, который требуется определить.

  3. Выберите строку. Затем выберите 1x1 scalar.

    Тип представляет собой строковый массив 1 на 1 (скаляр строки), содержащий символьный вектор.

  4. Чтобы указать размер символьного вектора, щелкните поле справа от элемента массива строк {1}. Выберите символ. Затем выберите 1xn vector и введите размер.

  5. Чтобы создать строковый переменный размер, щелкните второй размер.

    • Чтобы указать, что второй размер не ограничен, выберите :Inf.

    • Чтобы указать, что второй размер имеет верхнюю границу, введите, например, верхнюю границу 8. Затем выберите :8.

Укажите входной параметр перечисляемого типа

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

  1. Предположим, что перечисление MyColors находится в тракте MATLAB ® .

    classdef MyColors < int32
        enumeration
            green(1),
            red(2),
        end
    end

  2. На странице Определение типов ввода (Define Input Types) щелкните Разрешить ввод типов ввода или глобальных типов непосредственно.

  3. В поле справа от входного параметра введите MyColors.

Задание входного параметра с фиксированной точкой

Для указания вводов с фиксированной точкой необходимо установить программное обеспечение Fixed-Point Designer™.

  1. На странице Определение типов ввода (Define Input Types) щелкните Разрешить ввод типов ввода или глобальных типов непосредственно.

  2. Щелкните поле справа от входного параметра, который требуется определить.

  3. Выбрать embedded.fi.

  4. Выберите размер. Если размер не указан, по умолчанию используется значение 1x1.

  5. Укажите входной параметр numerictype (Конструктор фиксированных точек) и fimath (Конструктор фиксированных точек).

    Если локальный fimath не указан, приложение использует fimath по умолчанию. См. раздел Использование fimath по умолчанию для совместного использования арифметических правил (конструктор фиксированных точек).

Для изменения numerictype (Конструктор фиксированных точек) или fimath (Конструктор фиксированных точек) откройте диалоговое окно свойств. Чтобы открыть диалоговое окно свойств, щелкните справа от определения типа фиксированной точки. При необходимости щелкните значок.

Задание входного параметра структуры

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

  • Для каждого поля структуры ввода укажите класс, размер и сложность.

  • Для каждого поля, которое является классом с фиксированной точкой, также укажите числовой тип и fimath.

Указать структуры по типу

  1. На странице Определение типов ввода (Define Input Types) щелкните Разрешить ввод типов ввода или глобальных типов непосредственно.

  2. Щелкните поле справа от входного параметра, который требуется определить.

  3. Выберите структуру.

    Приложение отображает выбранный тип, struct. Приложение отображает параметры размера.

  4. Укажите, что структура является скалярной, 1 x n вектор, m x 1 вектор, или m x n матрица. По умолчанию, если параметр размера не выбран, приложение определяет входные данные как скаляры.

  5. Если введенные данные не являются скалярными, введите размеры для каждого размера. Щелкните размер. Введите размер. Выберите опцию размера. Например, для размера 10:

    • Для указания фиксированного размера выберите 10.

    • Задание переменного размера с верхней границей 10, выберите :10.

    • Чтобы указать неограниченный размер переменной, выберите :Inf.

  6. При необходимости укажите свойства структуры в созданном коде. См. раздел Задание свойств структуры.

  7. Добавление полей в структуру. Укажите класс, размер и сложность полей. См. раздел Добавление поля в структуру.

Задать свойства структуры

  1. Щелкните справа от определения структуры. При необходимости щелкните.

  2. В диалоговом окне укажите свойства структуры в созданном коде.

    СобственностьОписание
    Имя определения типа C

    Имя типа структуры в созданном коде.

    Определение типа определено извне

    По умолчанию: No - определение типа не определено извне.

    При выборе Yes для объявления внешней структуры приложение не создает определение типа структуры. Необходимо указать его в пользовательском файле включения.

    Зависимость: C type definition name включает этот параметр.

    Файл заголовка определения типа C

    Имя файла заголовка, содержащего внешнее определение структуры, например: "mystruct.h". Укажите путь к файлу с помощью параметра «Дополнительные папки включения» в диалоговом окне «Параметры проекта» на вкладке «Пользовательский код».

    По умолчанию созданный код содержит #include инструкции для пользовательских файлов заголовка после стандартных файлов заголовка. Если стандартный файл заголовка ссылается на пользовательский тип структуры, то компиляция завершается неуспешно. Если указать файл заголовка определения типа C, приложение будет включать этот файл заголовка точно в том месте, где он требуется.

    Зависимость: Когда Type definition is externally defined имеет значение Yes, этот параметр включен.

    Граница выравнивания данных

    Выравнивание памяти во время выполнения структур этого типа в байтах.

    При наличии лицензии Embedded Coder ® и использовании библиотек замены кода (CRL) CRL обеспечивают возможность выравнивания объектов данных, передаваемых в функцию замены, с заданной границей. Можно воспользоваться преимуществами реализации целевых функций, для которых требуются выровненные данные. По умолчанию структура не выравнивается по какой-либо определенной границе, поэтому она не соответствует функциям CRL, которые требуют выравнивания.

    Выравнивание должно быть либо -1 или мощность 2 это не более 128.

    По умолчанию: 0

    Зависимость: Когда Type definition is externally defined имеет значение Yes, этот параметр включен.

Переименование поля в структуре

Выберите поле имени структуры, которую требуется переименовать. Введите новое имя.

Добавление поля в структуру

  1. Справа от колодца щелкните

  2. Введите имя поля. Укажите класс, размер и сложность поля.

Вставка поля в структуру

  1. Выберите поле структуры, под которым требуется добавить другое поле.

  2. Щелкните правой кнопкой мыши поле структуры.

  3. Выберите Вставить поле ниже.

    Приложение добавляет поле после выбранного поля.

  4. Введите имя поля. Укажите класс, размер и сложность поля.

Удаление поля из структуры

  1. Щелкните правой кнопкой мыши поле, которое требуется удалить.

  2. Выберите Удалить поле.

Укажите входной параметр массива ячеек

Для генерации кода клеточные массивы являются однородными или гетерогенными. См. раздел Создание кода для массивов ячеек. Однородный массив ячеек представлен в виде массива в сгенерированном коде. Все элементы имеют одинаковые свойства. Гетерогенный массив ячеек представлен в виде структуры в сгенерированном коде. Элементы могут иметь различные свойства.

Задание однородного массива ячеек

  1. На странице Определение типов ввода (Define Input Types) щелкните Разрешить ввод типов ввода или глобальных типов непосредственно.

  2. Щелкните поле справа от входного параметра, который требуется определить.

  3. Выберите ячейку (однородную).

    Приложение отображает выбранный тип, cell. Приложение отображает параметры размера.

  4. В списке выберите, является ли ваш ввод скаляром, 1 x n вектор, a m x 1 вектор или m x n матрица. По умолчанию, если параметр размера не выбран, приложение определяет входные данные как скаляры.

  5. Если введенные данные не являются скалярными, введите размеры для каждого размера. Щелкните размер. Введите размер. Выберите опцию размера. Например, для размера 10:

    • Для указания фиксированного размера выберите 10.

    • Задание переменного размера с верхней границей 10, выберите :10.

    • Чтобы указать неограниченный размер переменной, выберите :Inf.

    Под переменной массива ячеек двоеточие внутри фигурных скобок {:} указывает, что элементы массива ячеек имеют одинаковые свойства (класс, размер и сложность).

  6. Чтобы указать класс, размер и сложность элементов в массиве ячеек, щелкните поле справа от {:}.

Задание гетерогенного массива ячеек

  1. На странице Определение типов ввода (Define Input Types) щелкните Разрешить ввод типов ввода или глобальных типов непосредственно.

  2. Щелкните поле справа от входного параметра, который требуется определить.

  3. Выберите ячейку (Гетерогенная).

    Приложение отображает выбранный тип, cell. Приложение отображает параметры размера.

  4. Укажите, что структура является скалярной, 1 x n вектор, m x 1 вектор, или m x n матрица. По умолчанию, если параметр размера не выбран, приложение определяет входные данные как скаляры.

  5. При необходимости, если входные данные не являются скалярными, введите размеры m и n. Массив гетерогенных ячеек имеет фиксированный размер.

    Приложение перечисляет элементы массива ячеек. Для указания каждого элемента используется индексная нотация. Например, {1,2} указывает элемент в строке 1, столбце 2.

  6. Укажите класс, размер и сложность для каждого элемента массива ячеек.

  7. При необходимости добавьте элементы. См. раздел Добавление элемента в гетерогенный массив ячеек

  8. При необходимости укажите свойства структуры, представляющей массив ячеек в сгенерированном коде. См. раздел Задание свойств структуры для гетерогенного массива ячеек.

Задать свойства структуры для гетерогенного массива ячеек

Гетерогенный массив ячеек представлен в виде структуры в сгенерированном коде. Можно указать свойства структуры, представляющей массив ячеек.

  1. Щелкните справа от определения массива ячеек. При необходимости щелкните.

  2. В диалоговом окне укажите свойства структуры в созданном коде.

    СобственностьОписание
    Имя определения типа C

    Имя типа структуры в созданном коде.

    Определение типа определено извне

    По умолчанию: No - определение типа не определено извне.

    При выборе Yes для объявления внешней структуры приложение не создает определение типа структуры. Необходимо указать его в пользовательском файле включения.

    Зависимость: C type definition name включает этот параметр.

    Файл заголовка определения типа C

    Имя файла заголовка, содержащего внешнее определение структуры, например: "mystruct.h". Укажите путь к файлу с помощью параметра «Дополнительные папки включения» в диалоговом окне «Параметры проекта» на вкладке «Пользовательский код».

    По умолчанию созданный код содержит #include инструкции для пользовательских файлов заголовка после стандартных файлов заголовка. Если стандартный файл заголовка ссылается на пользовательский тип структуры, то компиляция завершается неуспешно. Если указать файл заголовка определения типа C, приложение будет включать этот файл заголовка точно в том месте, где он требуется.

    Зависимость: Когда Type definition is externally defined имеет значение Yes, этот параметр включен.

    Граница выравнивания данных

    Выравнивание памяти во время выполнения структур этого типа в байтах.

    Если имеется лицензия Embedded Coder и используются библиотеки замены кода (CRL), CRL обеспечивают возможность выравнивания объектов данных, переданных в функцию замены, с указанной границей. Можно воспользоваться преимуществами реализации целевых функций, для которых требуются выровненные данные. По умолчанию структура не выравнивается по какой-либо определенной границе, поэтому она не соответствует функциям CRL, которые требуют выравнивания.

    Выравнивание должно быть либо -1 или мощность 2 это не более 128.

    По умолчанию: 0

    Зависимость: Когда Type definition is externally defined имеет значение Yes, этот параметр включен.

Изменение классификации как однородной или гетерогенной

Чтобы изменить классификацию как однородную или гетерогенную, щелкните переменную правой кнопкой мыши. Выберите «Однородный» или «Неоднородный».

Приложение очищает определения элементов.

Изменение размера массива ячеек

  1. В определении массива ячеек щелкните размер. Укажите размер.

  2. Для однородного массива ячеек укажите, является ли размер переменным размером и ограничен ли размер. Либо щелкните переменную правой кнопкой мыши. Выберите «Ограниченный» (фиксированный размер), «Ограниченный» (переменный размер) или «Неограниченный»

  3. Для гетерогенного массива ячеек приложение добавляет элементы, чтобы массив ячеек имел указанные размер и форму.

Добавление элемента в гетерогенный массив ячеек

  1. В определении массива ячеек щелкните размер. Укажите размер. Например, введите 1 для первого размера и 4 для второго размера.

    Приложение добавляет элементы так, чтобы массив ячеек имел указанные размер и форму. Например, для массива гетерогенных ячеек 1x4 приложение перечисляет четыре элемента: {1,1}, {1,2}, {1,3}, и {1,4}.

  2. Укажите свойства новых элементов.