提问人:Johnny Azar 提问时间:11/27/2021 最后编辑:TMBaileyJohnny Azar 更新时间:11/30/2021 访问量:144
Newton-Raphson方法在二次方程中的应用
Newton-Raphson method application to a quadratic formulae
问:
我是 Python 的新手,如果这是一个愚蠢的问题,我深表歉意。我正在尝试回答以下问题:
具有一个变量 x 的多项式 p(.) 具有有限个 非零项,例如 p(x) = ax2 + bx + c 表示二度 多项式。多项式 p 的根是方程的解 p = 0,即 r 使得 p(r) = 0。牛顿-拉夫森定理 意味着如果一个值(称为 guess)是 多项式的根,则 guess− p(guess)/p'(guess), 其中 p' 是 p 的一阶导数,是更好的近似值。 编写一个名为 NR_Root 的函数,该函数接受作为输入:
- 元组, 系数,多项式的系数,例如 (a,b,c)从最高阶项开始。多项式 可以是二阶、三阶或更高阶。
- 最初的猜测,猜测
- 容差,epsilon,误差的绝对值远离零
函数的定义应为:
def NR_Root(coefficients, guess, epsilon):
该函数返回根的值。
尝试它的一种方法是使用以下方法:
def nraphson(fn, x, tol = 0.0001, maxiter =1000):
for i in range(maxiter):
xnew = x - fn[0](x)/fn(x)
if abs(xnew-x) < tol: break
return xnew, i
y = [lambda x: a*x**2+b*x+c, lamda x: 2*a*x+b]
File "<ipython-input-4-5be43bc0c364>", line 6
y = [lambda x: a*x**2+b*x+c, lamda x: 2*a*x+b]
^
SyntaxError: invalid syntax
但是,我得到一个无效的语法,目前无法解决此问题。 任何关于如何进行的指导都会很棒。
谢谢。
答: 暂无答案
评论
lambda
ax
a*x