Используйте блок чтения двоичных файлов для считывания реальных и сложных матричных данных из двоичного файла в основном формате строки.
Запишите матрицу A = [1 2 3 8; 4 5 6 10; 7 8 9 11] в двоичный файл, Matdata.bin с помощью блока записи двоичных файлов. Блок записывает указанный заголовок, struct('A',[1 2],'B','x7') за которыми следуют данные.
Откройте модель.
open_system('writeMatrixData')

Запустите модель для записи данных в Matdata.bin.
sim('writeMatrixData')
Binary File Reader блок считывает данные в двоичном файле Matdata.bin на 4 канала, каждый из которых содержит 5 образцов. Параметр заголовка File устройства чтения определяет заголовок данных. Если точный заголовок неизвестен, необходимо по крайней мере указать прототип заголовка, то есть его размер и тип данных.
Откройте модель.
open_system('readMatrixData')

Запустите модель для считывания данных. Отображение переменной выходных данных, yout.
sim('readMatrixData')
display(yout)
yout =
1 2 3 8
4 5 6 10
7 8 9 11
0 0 0 0
0 0 0 0
Каждый кадр yout содержит кадры матрицы A, за которыми следуют нули для завершения кадра. Исходная матрица А содержит 4 канала с 3 выборками в каждом канале. Считыватель предназначен для считывания данных в 4 канала, каждый из которых содержит 5 выборок. Поскольку для завершения кадра недостаточно выборок, считывающее устройство добавляет нули в конце каждого кадра.
Если выбран параметр Data is complex, считывающее устройство считывает данные в виде матрицы M-by- N комплексных значений, где M и N задаются параметрами Samples per frame и Number of channel соответственно. Выберите сложный параметр Данные (Data is complex) и запустите модель.
set_param('readMatrixData/Binary File Reader','IsDataComplex','on') sim('readMatrixData') display(yout)
yout = 1.0000 + 2.0000i 3.0000 + 8.0000i 4.0000 + 5.0000i 6.0000 +10.0000i 7.0000 + 8.0000i 9.0000 +11.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
Блок считывает данные как перемежающиеся вещественные и мнимые компоненты. Если в двоичном файле недостаточно выборок для заполнения матрицы, считыватель заполняет эти выборки нулями.
Если в модель вносятся какие-либо изменения, сохраните модель перед закрытием.
save_system('readMatrixData') close_system('readMatrixData') close_system('writeMatrixData')
Устройство чтения двоичных файлов | Устройство записи двоичных файлов | К рабочему пространству (Симулинк)