《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 41|回复: 1
收起左侧

[提问] fwrite导致写入前后数据不同

[复制链接]

该用户从未签到

发表于 2017-8-11 19:07:13 | 显示全部楼层 |阅读模式
我将bin文件按照以下程序fread读入MATLAB,滤波后再通过fwrite写入新的bin文件中,但是写好的bin文件和写入之前的不一样
从存入数据向量可以看出写入后的bin文件319点之后统一是-32768,但是写入之前的数据是很正常的
N1 = 85;
b1= [1 zeros(1,N1-1) -0.9844];
a1 = [1 -1.9797 0.9811];

List = dir('E:\研究生\工作\学习用数据\M2');
k = length(List);
for num = 3:k
    s = List(num).name;
    f_in = fopen(strcat('E:\研究生\工作\学习用数据\M2\',s),'rb');
    y = fread(f_in,'int16');
    ff= filter(b1,a1,y);  % 如果x为矩阵,按列操作 372*1024
    f_out = fopen(strcat('E:\研究生\工作\AED程序\20170808\f\',s),'wb');
    fwrite(f_out, ff, 'int16');
    fclose(f_in);
    fclose(f_out);
end

想问下各位大牛,我在设置fwrite时哪部分处理不当,才导致存入错误数据呢?
谢谢各位百忙之中抽空前来,期待答复
更多图片 小图 大图
组图打开中,请稍候......

签到天数: 582 天

[LV.9]以坛为家II

发表于 2017-8-12 07:30:58 | 显示全部楼层
调试一下就知道了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 陕ICP备08102094号  

GMT+8, 2017-8-23 23:33 , Processed in 0.088897 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表