1. 程式人生 > 其它 >簡化牛頓法求解非線性方程

簡化牛頓法求解非線性方程

技術標籤:非線性方程的求解

import numpy as np


def fun(x):
    return x**3-2*x-5


def dfun(x):
    return 3*x*x-2


def newton(fun,dfun,a,b,eps):
    err = 1
    x = b
    c = dfun(x)
    k = 0
    while err > eps:
        x = x - fun(x)/c
        err = fun(x)
        k = k+1
    print('簡化牛頓法的迭代次數為{:d}次'.
format(k)) return x x = newton(fun, dfun, 0, 10, 0.0000001) print('簡化牛頓迭代法的求解結果為{:.7}'.format(x)) x1 = np.linspace(-10, 10, 1000) y1 = fun(x1)

在這裡插入圖片描述