Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 浮点数的倍频程精度:引擎盖下是128位吗?_C#_Signal Processing_Octave - Fatal编程技术网

C# 浮点数的倍频程精度:引擎盖下是128位吗?

C# 浮点数的倍频程精度:引擎盖下是128位吗?,c#,signal-processing,octave,C#,Signal Processing,Octave,我正在使用Koen Vos在Burg方法的快速实现中提出的方法制作Burg算法的C版本 我使用GNU倍频程arburg函数来比较结果。 当我在C代码中使用十进制作为内部变量时,测试结果几乎相同。精度为0.0000000000001,但当我使用双精度为0.01时,测试结果完全不同 据我所知,不是128位。我错了吗 /*比较系数取自GNU倍频程arburg *t=[0:2000]; *x=sin2*pi*t/512/5.2; *输出精度16 *[a,v,k]=arburgx1:512,4 */ C代

我正在使用Koen Vos在Burg方法的快速实现中提出的方法制作Burg算法的C版本

我使用GNU倍频程arburg函数来比较结果。 当我在C代码中使用十进制作为内部变量时,测试结果几乎相同。精度为0.0000000000001,但当我使用双精度为0.01时,测试结果完全不同

据我所知,不是128位。我错了吗

/*比较系数取自GNU倍频程arburg *t=[0:2000]; *x=sin2*pi*t/512/5.2; *输出精度16 *[a,v,k]=arburgx1:512,4 */ C代码超过300行,所以我认为最好不要放在这里

我认为要么GNU倍频程使用128位精度,要么我的C代码中有一个错误,提高计算精度某种程度上缓解了这个错误


问题是GNU倍频程或Matlab中的浮点数据可能是128位吗?

倍频程默认使用64位浮点,无法强制它使用更高的精度。它只知道双64位浮点和单32位浮点


英特尔及其兼容处理器可以在C语言中使用80位浮点运算。这是一个长双精度运算,但它们不支持128位浮点运算。有些软件可能会模拟128位浮点以提高精度,但倍频程不是其中之一,MATLAB也不是。

C十进制是我所知道的128位浮点。不过,我认为硬件不支持它。相关:。有一些硬件实现,但大部分是在软件中处理的。Fortran使用模拟的四倍精度浮点,因为FPU不支持它们,符号vpa除外。@rahnema1:当然,还有其他软件包模拟更高的精度,但这些不是内置类型。vpa返回sym类的对象,而不是内置类型。八度音阶本身不知道这些类型。我想OP应该知道他们的代码是否使用了vpa。如果你将你的结果与论文中发表的结果进行比较,这是一个好主意。论文中有些东西可以用多种方式解释。我想知道你是否熟悉这家报纸?不,我不熟悉。我的意思是,发表在论文中的结果比通过软件实现(如octave或任何其他工具)得到的结果更可靠。