python函数求根程序 python函数调用求方程的根

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语言计算方程的根

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牛顿法求多项式的根

#includeiostream.h

#includemath.h

#includeconio.h

const int N=200;

//带入原函数后所得的值

double f(float x)

{

return (x*x*x-1.8*x*x+0.15*x+0.65);

}

//带入一阶导函数后所得的值

double f1(double x)

{

return (3*x*x-3.6*x+0.15);

}

//牛顿迭代函数

double F(double x)

{

double x1;

x1=x-1.0*f(x)/f1(x);

return (x1);

}

void main()

{

double x0,D_value,x1,y[4];

int k=0,count=0;

for(;;)

{

if(count==3)break;

cout"输入初始值:";

cinx0;

do

{

k++;

x1=F(x0);

D_value=fabs(x1-x0);

x0=x1;

}

while((D_value0.000005)(k=N));

for(int j=0,flag=0;jcount;j++)

{

if(fabs(y[j]-x1)0.000005)

{ flag=1;

cout"该数值附近的根已经求出,请重新换近似值"endl;

break;

}

}

if(flag==1)

continue;

else

{

cout"方程的一个根:"x1","" 迭代次数为:"kendl;

y[count]=x1;

count++;

}

//else

//cout"计算失败!"endl;

}

}

//你的程序其实没问题,牛顿迭代法本身循环一次只能找到一个答案,只要再建一个循环控制使

//用迭代法的次数和判断根的个数就行。我又加了一个判断是否有重复的根的循环。

//希望能对你有所帮助。

python求一元二次方程的根的代码

# 一元二次方程的解

# 2022-10-16

# ax**2+bx+c=0

import math

while True:

try:

a = float(input('请输入a='))

b = float(input('请输入b='))

c = float(input('请输入c='))

except:

print('请输入正确的数子格式')

continue

else:

d = b ** 2 - 4 * a * c

if d 0:

print('方程无解')

continue

x1 = (-b + math.sqrt(d)) / (2 * a)

x2 = (-b - math.sqrt(d)) / (2 * a)

print('方程 %fx**2+%fx+%f=0 的解为' % (a, b, c))

print('x1=%.2f,x2=%.2f' % (x1, x2))

print('输入X推出,其他任意键继续')

t = input()

if t == 'x' or t == 'X':

break


网页标题:python函数求根程序 python函数调用求方程的根
网址分享:http://azwzsj.com/article/doehjgj.html