写了一段MATLAB代码,实现读入复数数据,并保存下来。复数数据没法直接读取,只能先读取string,再转换。
test.data 文件内容如下:
-9+8i -18-2i 6-15i 7-12i -4+25i 8-20i
% Read complex data
file_name = 'test';
input_file = fullfile(path_name, case_name, [file_name,'.data']); % 可以替换成自己的路径
out_file = fullfile(path_name, case_name, [file_name,'_new']);
fid = fopen(input_file);
data = {};
while feof(fid) == 0
str = fgetl(fid);
str = strread(str,'%s','delimiter',' \n');
input_data = [data; str];
end
fclose(fid);
% 把cell类型转成num类型
for i_loop = 1:length(input_data)
out_data(i_loop,1) = str2num(input_data{i_loop,1});
end
% 保存成实部,虚部格式文件
% out_data_real = real(out_data);
% out_data_imag = imag(out_data);
% % Write complex data
% fid = fopen(out_file,'w+');
% for i = 1:length(input_data)
% fprintf(fid,'%d\n',out_data_real(i));
% fprintf(fid,'%d\n',out_data_imag(i));
% end
% fclose(fid);
% 或者直接保存out_data,使用load加载即可
save(out_file,'out_data');