1. excel浮点运算误差
应该是说统计不重复个数,一般有3种解法,主要原理介绍如下:
1、=SUM(1/COUNTIF(A2:A10,A2:A10))——统计A2:A10中不重复值的个数。
【原理】COUNTIF(A2:A10,A2:A10)——得到A2:A10各数据出现的次数组成的数组{3;1;3;1;1;2;3;1;2},并作为分母,分子为1,得到1/{3;1;3;1;1;2;3;1;2},再求和。则:有3个重复的,每个占 1/3,3个1/3之和就是1,达到了重复值只算1次的目的。【特点】1、Coutif(数据,数据),函数第一参数必须是对单元格区域的引用,不能为内存数组。
2、数据可以是多行多列。【注意】可能因Excel浮点运算造成误差。
2、=SUM(N(MATCH(A2:A10,A2:A10,0)=ROW(A2:A10)-1)
)【原理】Match精确查找每个数据在数据区第一次出现的位置{1;2;1;4;5;6;1;8;6},并与其对应的行号位置比较,因为只有第一次出现的位置才会一致,所以统计的是不重复个数。【特点】1、Match(数据,数据,0),数据可以是内存数组,也可以是单元格区域的引用。
2、数据必须是单行或单列。
3、=COUNT(1/FREQUENCY(B2:B10,B2:B10))——统计B2:B10中不重复数字的个数或=SUM(N(FREQUENCY(B2:B10,B2:B10)>0)
)【原理】利用Frequency(数据,数据)统计数值的分布频率{2;0;5;0;0;2;0;0;0;0},第一次出现的数字位置返回数字出现个数,而第2次出现就返回0,因此只要统计非0的个数即可。
COUNT(1/FREQUENCY)或SUM(N(FREQUENCY>0))都可以实现。【特点】1、数据可以是数组和单元格区域的引用。
2、数据必须为数值,忽略文本。
3、数据可以是多行多列。
2. 浮点数运算有误差的经典例子
可能是浮点误差累加问题,你可以在求和那个单元格加=Round(…,2)保留两位小数,也可以在单元格格式里设置下。
3. excel求和浮点误差如何处理
有几种情况,一是小数运算存在浮点误差,但误差不会这么大,二是有数据是文本格式,求和时会跳过,三是数据的显示值非真实值,后面的位数是四舍五入的,导致用所见的数据不一致。
4. 如何避免浮点误差
定义以及区别:
1、固定解:当使用载波相位观测值定位的时候,会产生模糊度,模糊度理论上是整数。通过算法解出整数的模糊度之后,会大幅度提高定位精度。
2、浮点解:有的时候解不出整数所得到的解。
3、单点解:接收机未使用任何差分改正信息计算的3D坐标。
移动站的解算状态分为固定解、浮点解、差分解及单点解。
对固定解而言,其定位精度在1厘米以内,可满足除首级控制测量及其他高精度要求的测绘工作以外的各种比例尺的地形图测绘、施工放样及图根点测量等。
如果浮点解的定位精度小于0.5米,根据经验其平面和高程误差一般在0.1-0.3米,可满足精度要求不大于0.5米的测绘工作;定位精度若大于0.5米,平面和高程误差一般在1-3米。
差分解和单点解的定位精度一般在5-10米之间,有时还会更大,一般不采用。
区别:
精度上固定>浮动>单点。
差分这个东西是一个过程,通过差分获得浮动或者固定解。一般的高精度测量还是要固定后再测。
5. 浮点型数据运算出现误差解决
计算机运算用二进制,在和十进制转换的时候产生的浮点运算偏差,在外面套个round函数即可,假如你的运算精度是小数点后2位,那么在外面套个round(原来公式,3)即可
6. 浮点数运算误差
python浮点数的意思:python中整数是int类型的,浮点数是float类型的,浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的而浮点数运算则可能会有四舍五入的误差
- 相关评论
- 我要评论
-