python求解方程函数 用python求方程的解

怎么用python解一元二次方程

import numpy as np

创新互联是一家专业提供岳阳县企业网站建设,专注与网站制作、网站设计、H5建站、小程序制作等业务。10年已为岳阳县众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

def solve_quad(a,b,c):

if a == 0:

print('您输入的不是二次方程!')

else:

delta = b*b-4*a*c

x = -b/(2*a)

if delta == 0:

print('方程有惟一解,X=%f'%(x))

return x

elif delta  0:

x1 = x-np.sqrt(delta)/(2*a)

x2 = x+np.sqrt(delta)/(2*a)

print('方程有两个实根:X1=%f,X2=%f'%(x1,x2))

return x1,x2

else:

x1 = (-b+complex(0,1)*np.sqrt((-1)*delta))/(2*a)

x2 = (-b-complex(0,1)*np.sqrt((-1)*delta))/(2*a)

print('方程有两个虚根,如下所示:')

print(x1,x2)

return x1,x2

利用Python语言计算方程的根

import math

def erfenfa(function, a, b): #定义函数,利用二分法求方程的根,function为具体方程,a,b为根的取值范围

start = a

end = b

if function(a) == 0: 

return a

elif function(b) == 0:

return b

elif function(a) * function(b) 0: 

print("couldn't find root in [a,b]")

return

else:

mid = (start + end) / 2

while abs(start - mid) 0.0000001: 

if function(mid) == 0:

return mid

elif function(mid) * function(start) 0:

end = mid

else:

start = mid

mid = (start + end) / 2

return mid

def f(x):#定义构造方程式函数

return math.pow(x, 5) -15*math.pow(x, 4) +85*math.pow(x, 3)-225*pow(x,2)+274*x - 121

print(round(erfenfa(f, 1.5, 2.4),6))

python怎么求解一元二次方程的根?

import numpy as np

def solve_quad(a,b,c):

if a == 0:

print('您输入的不是二次方程!')

else:

delta = b*b-4*a*c

x = -b/(2*a)

if delta == 0:

print('方程有惟一解,X=%f'%(x))

return x

elif delta 0:

x1 = x-np.sqrt(delta)/(2*a)

x2 = x+np.sqrt(delta)/(2*a)

print('方程有两个实根:X1=%f,X2=%f'%(x1,x2))

return x1,x2

else:

x1 = (-b+complex(0,1)*np.sqrt((-1)*delta))/(2*a)

x2 = (-b-complex(0,1)*np.sqrt((-1)*delta))/(2*a)

print(x1,x2)

return x1,x2

Python

是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools, itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。

python里怎么样求解微分方程

有很多大学生问我,学习python有什么用呢?我说:你至少可以用来解微分方程,如下面的例子,就是解决微分方程:

y"+a*y'+b*y=0 

代码如下:

[python] view plain copy

#y"+a*y'+b*y=0

from scipy.integrate import odeint

from pylab import *

def deriv(y,t):        # 返回值是y和y的导数组成的数组

a = -2.0

b = -0.1

return array([ y[1], a*y[0]+b*y[1] ])

time = linspace(0.0,50.0,1000)

yinit = array([0.0005,0.2])     # 初值

y = odeint(deriv,yinit,time)

figure()

plot(time,y[:,0],label='y')    #y[:,0]即返回值的第一列,是y的值。label是为了显示legend用的。

plot(time,y[:,1],label="y'")     #y[:,1]即返回值的第二列,是y’的值

xlabel('t')

ylabel('y')

legend()

show()

输出结果如下:

用python如何得到一个方程的多个解

方法/步骤

用Python解数学方程,需要用到Python的一个库——SymPy库。

SymPy是符号数学的Python库,它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。

如果你的电脑上还没有安装sympy库,那就赶紧安装吧,安装命令:

pip3 install sympy

请点击输入图片描述

先来解一个简单点的方程吧。

题目: 5x + 20 = 100

先直接上代码:

from sympy import *

x = Symbol('x')

print(solve([5*x + 20 - 100], [x]))

请点击输入图片描述

再来一个复杂点的二元一次方程吧。

题目:3x + 4y =49, 8x- y = 14

代码如下:

from sympy import *

x = Symbol('x')

y = Symbol('y')

print(solve([3*x + 4*y - 49, 8*x - y - 14], [x, y]))

请点击输入图片描述

有没有发现规律呢,简单总结一下:

1)变量赋值,使用symbol函数转换;

2)将方程式移到方程的左边,使右边等于0;

3)使用solve函数解方程。

当然了,python的基础语法必须掌握,至少需要掌握python最基础的算数运算符。

+  加 ---- 两个对象相加

-  减 ----- 得到负数或是一个数减去另一个数

*  乘 ----- 两个数相乘或是返回一个被重复若干次的字符串

/  除 ----- x 除以 y

%  取模 ----- 返回除法的余数

**  幂 ----- 返回x的y次幂

log()  对数-----对数 log()

下面来个难度大点的方程。

请点击输入图片描述

代码如下:

from sympy import *

t = Symbol('t')

x = Symbol('x')

m = integrate(sin(t)/(pi-t), (t, 0, x))

print(integrate(m, (x, 0, pi)))

请点击输入图片描述

用python求一元二次方程的解

编程最好的方法就是实践,当你能处理绝大多数例子之后,你会发现很多难懂的概念也就自然的解决了。python编程最好的方法就是实践,当你能处理绝大多数例子之后,你会发现很多难懂的概念也就自然的解决了。

一元二次方程为:ax^2+bx+c=0

我们先编写一个最简单的版本,我们成功的计算除了数值。下面这个程序不适合复数形式


分享文章:python求解方程函数 用python求方程的解
文章出自:http://cdiso.cn/article/docjejh.html

其他资讯