前言
在进行用verilog进行仿真的时候,无法读取十进制的文件,只能读取二进制或十六进制,而matlab中转换为二进制或十六进制的时候是char类型,而在二进制中将char类行转换为数字类型时高位的0会被去掉,导致数据无法对齐。
方法
方法一
dlmwrite('D:\matlab\ff.txt', match_data1, 'delimiter', '', 'newline', 'pc');
% D:\matlab\ff.txt 文件路径及文件名
% match_data1 数据源
% delimiter 分隔数组各元素的分隔符 ',' (默认值) | 字符向量 | 字符串
newline - 行终止符 'pc' | 'unix'
方法二
writematrix(match_data1, 'D:\matlab\fff.txt')
% match_data1 数据源
% D:\matlab\fff.txt 文件路径及文件名
现在matlab不推荐使用dlmwrite函数,而是推荐使用writematrix函数
例示
clear ;
close all;
clc;
%% 数据提取
test_data = importdata('test6.csv');
match_data = test_data.data(:,5);
match_data1= dec2bin(match_data,16);
dlmwrite('D:\matlab\ff.txt', match_data1, 'delimiter', '', 'newline', 'pc');
writematrix(match_data1, 'D:\matlab\fff.txt')
结果