java查询F分布表

最近公司要做F分布,用来检验回归结果是否显著,计算F值的公式网上一大把,但是使用java查F分布表基本没有,我也是自己一个个试出来的。
废话少说,先上代码。
引入apache的公共计算包

<dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-math3</artifactId>
        <version>3.6.1</version>
    </dependency>

下面举一个例子

package success;

import org.apache.commons.math3.distribution.FDistribution;

public class Demo {
    public static void main(String[] args) {
        //创建一个F分布对象,参数为自由度
        FDistribution fd = new FDistribution(10,2);
        //当α=0.05时,参数为1-α=0.95
        double v = fd.inverseCumulativeProbability(0.95);
        //输出值
        System.out.println(v);
    }
}

冯米塞斯分布是一种连续概率分布,它的概率密度函数为: $$f(x) = \frac{\beta}{\alpha}\left(\frac{x-\gamma}{\alpha}\right)^{\beta-1}e^{-(\frac{x-\gamma}{\alpha})^{\beta}}$$ 其中,$\alpha > 0$,$\beta > 0$,$\gamma$ 为位置参数。为了实现这个分布,我们需要编写一个 Java 类来计算概率密度函数。 以下是一个简单的实现: ```java public class VonMisesDistribution { private double alpha; private double beta; private double gamma; public VonMisesDistribution(double alpha, double beta, double gamma) { this.alpha = alpha; this.beta = beta; this.gamma = gamma; } public double probabilityDensityFunction(double x) { double t = Math.pow((x - gamma) / alpha, beta); double p = (beta / alpha) * t * Math.exp(-t); return p; } } ``` 在这个类中,我们定义了三个参数 $\alpha$,$\beta$ 和 $\gamma$,并提供了一个计算概率密度函数的方法 `probabilityDensityFunction`。这个方法接受一个参数 $x$,并返回在 $x$ 处的概率密度值。 接下来,我们可以使用这个类来计算冯米塞斯分布在某些点的概率密度值。例如,如果我们要计算 $\alpha=1$,$\beta=2$,$\gamma=0$ 的冯米塞斯分布在 $x=1$ 处的概率密度值,我们可以这样做: ```java VonMisesDistribution dist = new VonMisesDistribution(1, 2, 0); double p = dist.probabilityDensityFunction(1); System.out.println("The probability density at x=1 is " + p); ``` 这将输出以下结果: ``` The probability density at x=1 is 0.09048374180359596 ``` 这个值示在 $x=1$ 处的概率密度为 $0.0905$。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值