数据整理之:小数数据的整数化

 

本文算法作为《数据归一化及其还原》算法的预备阶段,对拿到的浮点数据整理为带符号整数。

就数据精度而言,作者认为该数据样本小数点右侧第三位以后的数据不再有效,可以舍弃。

测试数据来自MIT-BIH数据库,其数据的下载和归档工作,参考CSDN作者晨宇思远的博文:

MIT-BIH ECG 心电数据的下载和读取图解

链接地址为:http://blog.csdn.net/chenyusiyuan/article/details/2027887

 

% 函数:数据归一化前的预处理
% 此函数只负责将原数据整理为整数
function [data1, f_multiple] = PreProData( data )

data_z = fix(data);       % 整数部分
data_r = data - data_z;   % 小数部分

A = size(data); % data的行、列数
B = zeros(A(1), A(2)); % 与data同行列的0向量

% 原数据本身就是整数记录的
if isequal( mod(data*10,1), B)
    data1 = data;
    f_multiple = 1;
end

% 原数据是以小数记录的,需要根据其精度进行区别并处理
if isequal( mod(data_r*10,1), B)            % data只有一位小数
    f_multiple =10;
    data1 = data*10;
else if isequal( mod(data_r*100,1), B)  	% data*100 为整数
        f_multiple =100;
        data1 = data*100;            
    else if isequal( mod(data_r*1000,1), B)	% data*1000 为整数
        	f_multiple =1000;
            data1 = data*1000;
        else
            f_multiple = 1000;              % 更高精度的小数
            data1 = fix(data*1000);         % 只取到小数后第三位
        end
    end
end
disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%');
disp('将原数据整理为整数,数据预处理完成!');


程序代码以Matlab源语描述,程序可在R2006a、R2008a上正确运算。

读者可根据个人需要,将算法处理后的整数数据还原为相应的小数,并与原数据集进行误差对比,本文不再赘述。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值