Delphi程序中的统计表

时间:2013-10-13 20:13:01

标签: delphi

Math单元或其他单元是否允许我们从Delphi中访问统计表?例如,如果我想要F表值的显着性水平为0.05,以及2和10自由度,我在Excel中键入FINV(0.05,2,10)并得到4.1028。德尔福有类似的东西吗?感谢。

3 个答案:

答案 0 :(得分:0)

德尔福没有提供任何性质的东西。您需要找到第三方代码。

每当我面对这样的事情时,我就会这样做:

  • 查找一些Fortran 77代码
  • 使用f2c -a
  • 将其转换为C.
  • 使用C编译器编译为目标文件
  • 静态链接$ L

一种更简单的方法是编译为DLL但我为了便于分发而避免使用它。

答案 1 :(得分:0)

我个人对TPMath/DMath library有很多很好的经验,可以在Delphi中提供统计功能。这个库声称提供与众所周知的Numerical Recipes类似的功能,但由于我当然只使用过它的一小部分功能,我不知道它是否真的实现了这一承诺。

无论如何,如果我理解正确,你就是专门讨论F distribution,而且从TPMath手册中可以看出,它看起来像是包含相关的功能(我假设它是一个根据“Snedecor的分发”)。

我不完全确定,如果它与Excel的FINV功能相同,但我的第一个猜测是你想要看看这个[引自手册]:

  

Function InvSnedecor(Nu1, Nu2, P)返回值X   Phi(nu1,nu2)(X)= P。

答案 2 :(得分:0)

开源Pascal / Delphi AMath库有许多统计分布,包括PDF,CDF和InverseCDF(即分位数函数);在这里查看implemented distributions的列表,您的F表值可以用

计算

f_inv(nu1,nu2,y): the functional inverse of the F distribution, nu1, nu2 > 0, 0 <= y <= 1

在你的情况下,第三个参数是1 - 显着性水平,double函数返回

F_Inv(2,10,1-0.05) = 4.1028210151