python求两函数交点,如何算两个函数的交点

求两个函数的交点

算出来有二个交点的,上面的是抛物线,下面是直线。交点比较好算的,将x=y平方带入下面的式子,会求出二个y值,二个y值分别对应二个x值,二个点都是交点哦

成都创新互联公司是一家业务范围包括IDC托管业务,雅安服务器托管、主机租用、主机托管,四川、重庆、广东电信服务器租用,成都电信服务器托管,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。

怎么求出两个函数解析式的相交点啊!求方法

把两个函数的解析式看作是关于X、Y的方程,将两个方程组成一个方程组,

解出这个方程组,则这个方程组的解就是这两个函数的交点坐标。

画函数的图像,都是经过列表、描点、连线三个步骤。

怎么求两个函数交点

具体如下:

联立方程组,即y=3x-4=y=-3x+3即3x-4=-3x+3。

6x=7,x=7/6。

y=-1/2。

答案 交点(7/6,-1/2)。

首先要理解,函数是发生在集合之间的一种对应关系。然后,要理解发生在A、B之间的函数关系有且不止一个。最后,要重点理解函数的三要素。

函数的对应法则通常用解析式表示,但大量的函数关系是无法用解析式表示的,可以用图像、表格及其他形式表示。

在一个变化过程中,发生变化的量叫变量(数学中,变量为x,而y则随x值的变化而变化),有些数值是不随变量而改变的,我们称它们为常量。

怎样求出两个函数图像的交点

把两个函数的y和等号去掉。让剩下的部分用一个等号连接起来。解出来的x就是横坐标。

再把x带入两个函数任意一个,解出来的y就是纵坐标。

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)

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


本文名称:python求两函数交点,如何算两个函数的交点
文章出自:http://scyanting.com/article/dsegeig.html