【求解答案】x1=2,x2=1,x3=1,x4=0.5
【求解思路】运用numpy模块中的roots求根函数求解方程。其数学原理是
【python计算代码】
#utf_8
#步骤1:导入所需的库
import numpy as np
#numpy 是用于数值计算的 Python 库,用它来处理方程的数值计算部分。
# 步骤2:定义多项式的系数
p = np.array([4, -18, 28, -18, 4])
# 步骤3:求根
roots = np.roots(p)
# 步骤4:分离实部和虚部
real_part = np.real(roots)
imaginary_part = np.imag(roots)
# 步骤5:输出根
for i in range(len(roots)):
if imaginary_part[i] <= 1e-6:
print("x",i+1,":", "{:7.6f}".format(real_part[i]))
else:
print("x",i+1,":", "{:7.6f}".format(roots[i]))
【python运行结果】
【解的验证】
当x=2时,4×(2)⁴-18×(2)³ + 28×(2)² -18×(2)+4=64-144+112-36+4=0
当x=1时,4×(1)⁴-18×(1)³ + 28×(1)² -18×(1)+4=4-18+28-18+4=0
当x=0.5时,4×(0.5)⁴-18×(0.5)³ + 28×(0.5)² -18×(0.5)+4=0.25-2.25+7-9+4=0
验证结果表明,所求的解是原方程的根。
【本题代码所需的命令、函数及语句,及其含义】
1、Import。加载python系统自带模块或自定义模块
2、array。数组创建函数,numpy库中的函数
3、roots。求根函数,numpy库中的函数
4、real。求复数的实部函数,numpy库中的函数
5、Imag。求复数的虚部函数,numpy库中的函数
6、range。生成等差序列函数
7、print。显示输出内容,系统自带函数
8、format。设置输出格式
9、if ...else。if条件语句