计算抛物线方程

http://community.csdn.net/Expert/topic/3756/3756475.xml?temp=.3623011
已知抛物线上的2点的坐标(x1, y1), (x2, y2)(且2点分别在抛物线的顶点的两测),以及其顶点的纵坐标k,且抛物线开口朝上,即a>0。

求出抛物线的一般式:y = a*X^2 + b*x + c 中的 a,b,c 的值,以及顶点的横坐标h。



这个问题可以这样解决
假定方程的形式为
    y = a(x-b)^2 + k
这样就保证最小点在k, x=b的时候数值最小
   y1-k = a ( x1-b)^2
   y2-k = a ( x2-b}^2
根据楼主的假设
显然 y1和y2都是大于k的,否则就不可能有答案
     这就意味着 sqrt ((y1-k)/(y2-k)) 必然是有效数据

开根号后做除法,得到两个方程
  sqrt((y1-k)/(y2-k)) = x1-b / x2-b
  sqrt((y1-k)/(y2-k)) = -(x1-b / x2-b)
只有后者才是有效的,因为正确答案b是位于x1和x2之间的
于是可以求解b了, 然后带回就求解出来a
然后 把 y = a(x-b)^2 + k
展开成为 y = Ax^2 + Bx + C
的模式,从而获得了A,B,C的数值了

完整的计算就是

m = sqrt( (y1-k) / (y2-k) )
b = (x1+x2*m)/(m+1)
a = (y1-k) /((x1-b)*(x1-b))

A = a;
B = 2*a*b
C = k+b*b
顶点坐标(b,k)
抛物线方程 y = A*x^2 + B*x + C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值