求过三点抛物线的解析式

复习一波数学

public class JSZCFC {

    /**
     * @param args
     * 求过三点的抛物线的解析式y=ax*x+bx*x+c
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(getA(new Mybig(0.5d,0.5d), new Mybig(0d, 1d), new Mybig(1d, 1d)));

    }
    
    /**
     * x1!=0 x2!=0  x1!=x2
     * @param i
     * @param j
     * @param k
     * @return
     */
public static BigDecimal[] getA(Mybig i,Mybig j,Mybig k){
BigDecimal a=     (
            i.y.multiply(k.x).subtract(k.y.multiply(i.x))
            .add(i.y.multiply(j.x))
            .subtract(j.y.multiply(i.x))
            )
            .divide(
            ((i.x.pow(2).multiply(j.x))
            .add((i.x.pow(2).multiply(k.x)))
            .subtract((j.x.pow(2).multiply(i.x)))
            .subtract((k.x.pow(2).multiply(i.x))))
            );
BigDecimal c= (a.multiply((j.x.pow(2)).multiply(i.x)
            .subtract((a.multiply((i.x.pow(2))).multiply(j.x))))
            .add((i.y.multiply(j.x)))
            .subtract((j.y.multiply(i.x))))
            .divide((
                    j.x.subtract(i.x)));
    
BigDecimal b=((i.y.subtract(c).subtract((a.multiply((i.x.pow(2)))))))
            .divide(i.x);
    return new BigDecimal[]{a,b,c};
    
    
}


}
class Mybig{
     BigDecimal x,y;
    public Mybig(Double x,Double y){
        this.x=new BigDecimal(x);
        this.y=new BigDecimal(y);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一无所有的年纪,才敢放肆说爱。 我读大学失恋时,会做出种种疯狂举动,喝很多酒,流很多泪,做很多傻事,把幼稚挂在脑门...
    简浅Jian阅读 839评论 1 3
  • 二十四岁了,距离我们认识已经十二年了,我生命中的二分之一,今天对你做个告别,从此以后,你不再是占据我一半生命的人。...
    山月不知心事阅读 1,027评论 11 6
  • 小白兔有一家糖果铺,小老虎有一个冰淇淋机。兔妈妈告诉小白兔,如果你喜欢一个人呐,就给一颗糖他。小白兔喜欢上了小老虎...
    七月屿风阅读 480评论 0 0
  • 每一辆车来都是我的一线希望 每一辆车去都是我的一次失望 坐在陌生而拥挤的车站 不断地希望不断地失望 身边是同样陌生...
    狼神2019阅读 267评论 2 1

友情链接更多精彩内容