exponenta event banner

Объединение целых чисел и чисел с двойной точностью

MATLAB ® поддерживает комбинацию целых чисел одного класса и скалярных чисел двойной точности. MATLAB не поддерживает комбинацию целых чисел и чисел с одной точностью. Если вы используете приложение MATLAB Coder™ илиcodegen с -singleC для создания кода C/C + + с одинарной точностью код MATLAB не может объединять целые числа и числа с двойной точностью. Преобразование выражения, объединяющего целые числа и двойные числа, приводит к недопустимому выражению MATLAB. Чтобы обойти это ограничение, приведите числа так, чтобы типы чисел совпадали. Приведите целые числа к двойной точности или приведите числа двойной точности к целочисленному классу.

Например, рассмотрим функцию dut который возвращает сумму a и b.

function c = dut(a,b)
c = a + b;
end

Создание кода с одной точностью с помощью codegen с -singleC вариант. Укажите, что первый аргумент является двойным, а второй - int32.

 codegen -singleC -config:lib dut -args {0, int32(2)} -report

Ошибка создания кода. Сообщение предполагает приведение операндов к одинаковым типам.

Переписать код так, чтобы он приводился в действие a к типу b.

function c = dut(a,b)
c = int32(a) + b;
end