Используйте блок Binary File Reader, чтобы считать действительные и сложные матричные данные из двоичного файла в основном формате строки.
Напишите матрицу А = [1 2 3 8; 4 5 6 10; 7 8 9 11] в двоичный файл, Matdata.bin
использование блока Binary File Writer. Блок записывает указанный заголовок, struct('A',[1 2],'B','x7')
далее указываются данные.
Откройте модель.
open_system('writeMatrixData')
Запустите модель, чтобы записать данные в Matdata.bin
.
sim('writeMatrixData')
The Binary File Reader
блок считывает данные в двоичном файле Matdata.bin
в 4 канала, причем каждый канал содержит 5 выборки. Параметр File header reader задает заголовок данных. Если точный заголовок не известен, необходимо по крайней мере указать прототип заголовка, то есть его размер и тип данных.
Откройте модель.
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
содержит системы координат матрицы А, за которыми следуют нули для завершения системы координат. Исходная матрица А содержит 4 канала с 3 выборками в каждом канале. Считывающее устройство предназначено для считывания данных в 4 канала, причем каждый канал содержит 5 выборок. Поскольку для завершения системы координат недостаточно выборок, считыватель добавляет нули в конец каждой системы координат.
Если вы выбираете комплексный параметр Data, ридер считывает данные как M-by-N матрицу комплексных чисел, где M и N заданы параметрами Выборок per системы координат и Number of channels, соответственно. Выберите комплексный параметр Data и запустите модель.
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')
Binary File Reader | Binary File Writer | To Workspace (Simulink)