成都创新互联网站制作重庆分公司

python求抛物线函数,Python绘制抛物线

数学抛物线怎么计算

形式:

新宾ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

公式:抛物线方程是指抛物线的轨迹方程,是一种用方程来表示抛物线的方法。在几何平面上可以根据抛物线的方程画出抛物线。抛物线在合适的坐标变换下,也可看成二次函数图像。

右开口抛物线:y^2=2px;左开口抛物线:y^2=-2px;上开口抛物线:x^2=2py;下开口抛物线:x^2=-2py。

定义:平面内与一个定点F 一条直线L距离相等的点的轨迹叫做抛物线,点F叫做抛物线的焦点,直线L叫做抛物线的准线,定点F不在定直线上。它与椭圆、双曲线的第二定义相仿,仅比值(离心率e)不同,当e=1时为抛物线,当0e1时为椭圆,当e1时为双曲线。

扩展资料

求抛物线的方法:

1、知道抛物线过三个点(x1,y1)、(x2,y2)、(x3,y3),设抛物线方程为y=ax^2+bx+cx,将各个点的坐标代进去得到一个三元一次方程组,解得a,b,c的值即得解析式。

2、知道抛物线的与x轴的两个交点(x1,0)、(x2,0),并知道抛物线过某一个点(m,n),设抛物线的方程为y=a(x-x1)(x-x2),然后将点(m,n)代入去求得二次项系数a。

3、知道对称轴x=k,设抛物线方程是y=a(x-k)^2+b,再结合其它条件确定a,c的值。

4、知道二次函数的最值为p,设抛物线方程是y=a(x-k)^2+p,a,k要根据其它条件确定。

参考资料:百度百科-抛物线

怎么绘制抛物线函数?

用描点法

例如y=a(x-b)²+h

a不为0

1、描出顶点(b,h)

2、描出与x轴的2个交点(令y=0)

3、令x=0描出抛物线与y轴交点

4、取2个对称点,描出点的坐标,用平滑曲线连接即可,点取的越多,抛物线越准

python如何求平方根

1:二分法

求根号5

a:折半:       5/2=2.5

b:平方校验:  2.5*2.5=6.255,并且得到当前上限2.5

c:再次向下折半:2.5/2=1.25

d:平方校验:1.25*1.25=1.56255,得到当前下限1.25

e:再次折半:2.5-(2.5-1.25)/2=1.875

f:平方校验:1.875*1.875=3.5156255,得到当前下限1.875

每次得到当前值和5进行比较,并且记下下下限和上限,依次迭代,逐渐逼近平方根:

代码如下:

import math

from math import sqrt

def sqrt_binary(num):

x=sqrt(num)

y=num/2.0

low=0.0

up=num*1.0

count=1

while abs(y-x)0.00000001:

print count,y

count+=1

if (y*ynum):

up=y

y=low+(y-low)/2

else:

low=y

y=up-(up-y)/2

return y

print(sqrt_binary(5))

print(sqrt(5))

2:牛顿迭代

仔细思考一下就能发现,我们需要解决的问题可以简单化理解。

从函数意义上理解:我们是要求函数f(x) = x²,使f(x) = num的近似解,即x² - num = 0的近似解。

从几何意义上理解:我们是要求抛物线g(x) = x² - num与x轴交点(g(x) = 0)最接近的点。

我们假设g(x0)=0,即x0是正解,那么我们要做的就是让近似解x不断逼近x0,这是函数导数的定义:

从几何图形上看,因为导数是切线,通过不断迭代,导数与x轴的交点会不断逼近x0。

python作业求帮助

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# File name: parabolic

#   Project name: parabolic_equation

"""

.. moduleauthor::

.. Module.. name parabolic of procjet parabolic_equation

"""

from sympy import *

import matplotlib.pyplot as plt

import numpy as np

def _filterComplex(inputvalue, description='inputvalue'):

try:

str(inputvalue).index('I')

except ValueError:

return False

else:

return True

def _checkBool(inputvalue, description='inputvalue'):

"""

:param inputvalue:

:param description:

:return:

"""

if not isinstance(inputvalue, bool):

raise TypeError(

'The {0} must be boolean. Given: {1!r}'.format(description, inputvalue))

def _checkNumerical(inputvalue, description='inputvalue'):

"""

:param inputvalue:

:param description:

:return:

"""

try:

inputvalue + 1

except TypeError:

raise TypeError(

'The {0} must be numerical. Given: {1!r}'.format(description, inputvalue))

def _drawTowPara(expr_1, expr_2,  inputmin, inputmax ,step=0.1):

"""

:param expr_1:

:param expr_2:

:param inputmin:

:param inputmax:

:param step:

:param expr_1_evalwithY:

:param expr_2_evalwithY:

:return:

"""

_checkNumerical(inputmin, 'xmin')

_checkNumerical(inputmax, 'xmax')

_checkNumerical(step, 'step')

y1List = []

x1List = []

y2List = []

x2List = []

if expr_1.vertical is True:

x1List = np.arange(inputmin, inputmax, step)

for x in x1List:

y1List.append(expr_1.evaluates_Y(x))

else:

y1List = np.arange(inputmin, inputmax, step)

for y in y1List:

x1List.append(expr_1.evaluates_X(y))

if expr_2.vertical is True:

x2List = np.arange(inputmin, inputmax, step)

for x in x2List:

y2List.append(expr_2.evaluates_Y(x))

else:

y2List = np.arange(inputmin, inputmax, step)

for y in y2List:

x2List.append(expr_2.evaluates_X(y))

plt.plot(x1List, y1List, '+')

plt.plot(x2List, y2List, '-')

plt.show()

def _solveCrossing(expr_1, expr_2):

"""

:param expr_1:

:param expr_2:

:return:

"""

x = Symbol('x')

y = Symbol('y')

print "Given the first expression: {0!r}".format(expr_1.expr)

print "Given the first expression: {0!r}".format(expr_2.expr)

ResultList = solve([expr_1.expr, expr_2.expr], [x, y])

Complex = False

ResultListTrue = []

for i in range(0, (len(ResultList)),1): 

if _filterComplex(ResultList[i][0], 'x') or _filterComplex(ResultList[i][1], 'y'):

Complex = True

else:

ResultListTrue.append(ResultList[i])

if len(ResultListTrue) == 0 and Complex:

print "Two hyperbolic do not intersect, and there is imaginary value."

elif len(ResultListTrue) == 1:

print "Two hyperbolic tangent.:" 

print ResultListTrue

else:

print "Two hyperbolic intersection, and Points are:" 

for iterm in ResultListTrue:

print iterm

class Parabolic():

"""

"""

def __init__(self, a, b, c, vertical=True):

"""

:return:

"""

_checkNumerical(a, 'a')

_checkNumerical(b, 'b')

_checkNumerical(c, 'c')

_checkBool(vertical, 'vertical')

self.a = a

self.b = b

self.c = c

self.vertical = vertical

self.y = Symbol('y')

self.x = Symbol('x')

self.xarray = []

self.yarray = []

if vertical is True:

self.expr = (self.x**2)*self.a + self.x*self.b + self.c

else:

self.expr = (self.y**2)*self.a + self.y*self.b + self.c

def __repr__(self):

"""

:return:

"""

if self.vertical is True:

return "The Equation look like: {0!r}".format(self.expr)

else:

return "The Equation look like: {0!r}".format(self.expr)

def evaluates_X(self, inputvalue):

"""

:param inputvalue:

:return:

"""

_checkNumerical(inputvalue, 'y')

return self.expr.subs(self.y, inputvalue)

def evaluates_Y(self, inputvalue):

"""

:param inputvalue:

:return:

"""

_checkNumerical(inputvalue, 'x')

return self.expr.subs(self.x, inputvalue)

def getArrays(self, inputmin, inputmax, step=1):

"""

:param inputmin:

:param inputmax:

:param step:

:return:

"""

_checkNumerical(inputmin, 'xmin')

_checkNumerical(inputmax, 'xmax')

_checkNumerical(step, 'step')

if self.vertical is True:

for x in range(inputmin, inputmax, step):

self.xarray.append(x)

self.yarray.append(self.evaluates_Y(x))

else:

for y in range(inputmin, inputmax, step):

self.yarray.append(y)

self.xarray.append(self.evaluates_X(y))

def drawPara(self, inputmin, inputmax, step=1):

"""

:param inputmin:

:param inputmax:

:param step:

:return:

"""

_checkNumerical(inputmin, 'xmin')

_checkNumerical(inputmax, 'xmax')

_checkNumerical(step, 'step')

yList = []

xList = []

if self.vertical is True:

xList = np.arange(inputmin, inputmax, step)

for x in xList:

yList.append(self.evaluates_Y(x))

else:

yList = np.arange(inputmin, inputmax, step)

for y in yList:

xList.append(self.evaluates_X(y))

plt.plot(xList, yList, '+')

plt.show()

if __name__ == '__main__':

pa1 = Parabolic(-5,3,6)

pa2 = Parabolic(-5,2,5, False)

print pa1

print pa2

_solveCrossing(pa1, pa2)

_drawTowPara(pa1, pa2, -10, 10, 0.1)

# 这就是你想要的,代码解决了你的大部分问题,可以求两条双曲线交点,或者直线与双曲线交#点,或者两直线交点. 不过定义双曲线时候使用的是一般式.也也尽可能做了测试,如果有#问题的话,追问吧

椭圆和抛物线怎么求导数啊?

属于隐函数求导.

需要将y看作是x的函数,即y=y(x),之后就和复合函数求导一样的了

比如说x^2/a^2+y^2/b^2=1两边对x求导,得到

2x/a^2+2y*y'/b^2=0

变形为y'=xb^2/(ya^2)

类似的,抛物线求导x^2=2py

2x=2py'

y'=x/p

抛物线的函数解析式怎么求

根据图像找顶点坐标(h,k)代入公式y=a(x-h)^2+k,再从图像上找另一点坐标代入上式求出a即可得到二次函数解析式。

知道抛物线上任意三点A,B,C

则可设抛物线方程为y=ax²+bx+c

将三点代入方程解三元一次方程组

即可这种也有特殊情况即其中两点是抛物线与x轴焦点

即(x1,0)(x2,0)

则可设抛物线方程为:y=a(x-x1)(x-x2)

将第三点代入方程即可求出a,

得出抛物线方程如:

已知抛物同x轴的交点为(-1,0)、(3,0),

抛物线上另一点A(2,3)

则方程可设为y=a(x+1)(x-3)

将A代入方程得3=a(2+1)(2-3)

a=-1

即抛物线方程为:y=-x+2x+3。

扩展资料

求抛物线解析式要注意因题而异:

抛物线表达式中的交点式y=a(x-x1)(x-x2)又称两根式,在已知抛物线与x轴的交点坐标求解析式时一般采用这种方法,直接把x轴上的交点坐标代入交点式,再根据其他条件确定a及其他未知的值.

求抛物线解析式要注意因题而异,根据已知条件的特征灵活运用不同的表达式,合理的运用能大大简化解答的过程。

如果已知抛物线经过的三点都是一般的点,则采用一般式;如果已知抛物线经过的点有顶点,则采用顶点式;如果已知抛物线经过的点是x轴上的点,则采用交点式。


当前文章:python求抛物线函数,Python绘制抛物线
转载来于:http://cxhlcq.com/article/phccpj.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部