[MATLAB] 读取ASII文件中的复数数据

写了一段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');
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值