fimath
Если два fi
объектные операнды имеют присоединенный fimath
, fimath
s должен быть равным.
Используйте removefimath
функция, чтобы удалить fimath
из одной из переменных во всего одном экземпляре. Путем удаления fimath
, вы избегаете “несовпадающего fimath
” ошибка, постоянно не изменяя fimath
из переменной.
Исходный алгоритм | Новый алгоритм |
---|---|
Функция: function y = mysum(x,T) %#codegen y = zeros(size(x), 'like', T.y); for n = 1:length(x) y(:) = y + x(n); end end | Функция: function y = mysum(x,T) %#codegen y = zeros(size(x), 'like', T.y); for n = 1:length(x) y(:) = removefimath(y) + x(n); end end |
Таблица типов: function T = mytypes(dt) switch(dt) case 'fixed' T.x = fi([],1,16,0, 'RoundingMethod', 'Floor',... 'OverflowAction','Wrap'); T.y = fi([],1,16,0, 'RoundingMethod','Nearest'); end end | Таблица типов: function T = mytypes(dt) switch(dt) case 'fixed' T.x = fi([],1,16,0, 'RoundingMethod','Floor',... 'OverflowAction','Wrap'); T.y = fi([],1,16,0, 'RoundingMethod', 'Nearest'); end end |
removefimath
| fimath
| fi