网站建设资讯

NEWS

网站建设资讯

python画抛物线函数,抛物线函数怎么画

python作业求帮助

#!/usr/bin/env python

成都创新互联从2013年开始,先为临湘等服务建站,临湘等地企业,进行企业商务咨询服务。为临湘企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

# -*- 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=a(x-b)²+h

a不为0

1、描出顶点(b,h)

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

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

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

怎样画抛物线啊?

抛物线的基本知识点如下:

1、抛物线是轴对称图形

对称轴为直线x=—b/2a,对称轴与抛物线唯一的交点为抛物线的顶点P,特别地,当b=0时,抛物线的对称轴是y轴(即直线x=0)。

2、抛物线有一个顶点P

坐标为:P(—b/2a,(4ac—b^2)/4a)当—b/2a=0时,P在y轴上;当=b^2—4ac=0时,P在x轴上。

3、二次项系数a决定抛物线的开口方向和大小

当a0时,抛物线向上开口;当a0时,抛物线向下开口,|a|越大,则抛物线的开口越小。

4、一次项系数b和二次项系数a共同决定对称轴的位置

当a与b同号时(即ab0),对称轴在y轴左;当a与b异号时(即ab0),对称轴在y轴右。

5、常数项c决定抛物线与y轴交点

抛物线与y轴交于(0,c)。

6、抛物线与x轴交点个数

=b^2—4ac0时,抛物线与x轴有2个交点。

=b^2—4ac=0时,抛物线与x轴有1个交点。

=b^2—4ac0时,抛物线与x轴没有交点。X的取值是虚数(x=—bb^2—4ac的值的相反数,乘上虚数i,整个式子除以2a)。

怎样画抛物线的大致图像,至少需要几个点?

列表,在自变量允许的取值范围内,取几个值,并计算相应的函数值,取值越多,图象也越准确

描绘y=x/1+x^2的图形

y=x/1+x^2的图形:

公式可以简化成 y = x^2 + x ,是一个二次函数,二次函数的图像是一条抛物线。

如果是x分之1,那么公式就是y = 1/x + x^2,图形如下图所示:

扩展资料:

二次函数表达式为y=ax²+bx+c(且a≠0),它的定义是一个二次多项式(或单项式)。图像是一个抛物线。

如果令y值等于零,则可得一个二次方程。该方程的解称为方程的根或函数的零点。若表达式中b^2-4ac0,则抛物线与X轴有两个交点,若b^2-4ac=0,则抛物线与X轴有一个交点,若小于0,则没有交点。

题中该式子是与X轴没有交点的。

怎么用turtle画抛物线y=x^2 ?

首先在Excel中把坐标值做出来:

A1:X;B1:Y(y=x^2);C1:A1“,"B1。得出的C1就是坐标值;把A列往下托得出A2、A3;把B列往下托得出B2、B3,把C列往下托得出C2、C3。将C列复制。

打开CAD输入命令"pl"多段线命令,回车,在命令处右击,把刚从Excel中复制的C列数据粘贴到命令行处,这样就可生成抛物线了。

ezplot('y=x^2')

x=-1:0.01:1;

y=x^2;

plot(x,y);

简介

在数学中,抛物线是一个平面曲线,它是镜像对称的,并且当定向大致为U形(如果不同的方向,它仍然是抛物线)。它适用于几个表面上不同的数学描述中的任何一个,这些描述都可以被证明是完全相同的曲线。

抛物线的一个描述涉及一个点(焦点)和一条线(准线)。焦点并不在准线上。抛物线是该平面中与准线和焦点等距的点的轨迹。抛物线的另一个描述是作为圆锥截面,由圆锥形表面和平行于锥形母线的平面的交点形成。第三个描述是代数。


当前标题:python画抛物线函数,抛物线函数怎么画
当前链接:http://njwzjz.com/article/hosppd.html