Почему блок преобразования типов данных simulink изменяет данные, когда они должны быть типизированы? - PullRequest
1 голос
/ 20 мая 2010

Я пытаюсь типизировать некоторые данные от int32 до одного. Сначала я попытался использовать блок «Преобразование типов данных» с одним типом выходных данных и параметром «Сохраненное целое число». Однако я обнаружил, что блок преобразования типов данных не выполняет типизацию данных так, как я ожидаю. Я неправильно использую блок или он не работает должным образом?

temp1 (предварительное преобразование): uint32: 1405695244 single: 1728356810752.000000 бинарный: 01010011110010010011010100001100

temp2 (постконвертация): uint32: 1319604842 single: 1405695232.000000 бинарный: 01001110101001111001001001101010

Кстати, я обошел эту проблему, используя встроенный блок Matlab для выполнения операции приведения типов.

1 Ответ

0 голосов
/ 21 мая 2018

Блок «Преобразовать» обрезать число. Я бы предложил использовать встроенную функцию Matlab с "typecast".

function out_single = typecasting (in_uint32)

out_single = typecast(in_uint32, 'single');
...