exponenta event banner

Изменение границ данных в Simulink

По умолчанию блок Binary File Reader использует полноту хост-компьютера. Чтобы изменить endianness, например, когда хост-машина, которая записывает данные, не имеет такой же endianness, как хост-машина, которая считывает данные, используйте swapbytes функция.

Запись в файл числового массива в формате big endian bigEndian.dat. Считывание данных с помощью Binary File Reader блок. Считыватель считывает данные в формате little endian.

fid = fopen('bigEndian.dat','w','b');
fwrite(fid,[1 2 3 4 5 6 7 8],'double');
fclose(fid);

Откройте и смоделируйте модель.

model = 'changeEndian';
open_system(model)
sim(model)

Отображение переменной данных, x.

display(x)
x =

  1.0e-318 *

    0.3039
    0.0003
    0.0104
    0.0206
    0.0256
    0.0307
    0.0357
    0.0408

Множество x не соответствует исходным данным. Изменение диапазона x с использованием swapbytes функция.

y = swapbytes(x);
display(y)
y =

     1
     2
     3
     4
     5
     6
     7
     8

Этот массив y соответствует исходным данным.

См. также

Функции

Блоки