编制程序,完成该数学表达式 e*+x-6fun1(x)= x+1.3 如 fun1(0.76)=3.582fun1(3.00)=5.369fun1(3.76)=8.931
时间: 2023-05-30 13:01:13 浏览: 53
这里需要先定义一个函数 fun1:
def fun1(x):
return x**3 + 2*x**2 - 5*x + 3.5
然后,根据题目要求的数学表达式 e* x-6fun1(x)= x 1.3,我们可以编写如下程序:
import math
def fun1(x):
return x**3 + 2*x**2 - 5*x + 3.5
def solve(x):
return math.exp(x) * x - 6 * fun1(x) - 1.3
# 使用二分法求解方程
def bisection(a, b, eps):
while (b - a) / 2 > eps:
c = (a + b) / 2
if solve(c) == 0:
return c
elif solve(a) * solve(c) < 0:
b = c
else:
a = c
return (a + b) / 2
# 调用 bisection 函数求解方程
root = bisection(0, 5, 1e-6)
print("根为:", root)
print("验证解是否正确:", abs(solve(root)) < 1e-6)
# 输出 fun1(0.76), fun1(3.00), fun1(3.76) 的值
print("fun1(0.76)=", fun1(0.76))
print("fun1(3.00)=", fun1(3.00))
print("fun1(3.76)=", fun1(3.76))
其中,solve 函数用于求解方程 e* x-6fun1(x)= x 1.3 的值,bisection 函数用于使用二分法求解方程的根。最后,输出根的值和 fun1 函数在给定的三个点上的值。