Tôi chỉ đang thử nghiệm một ví dụ từ Phương pháp số trong Kỹ thuật với Python .
from numpy import zeros, array
from math import sin, log
from newtonRaphson2 import *
def f(x):
f = zeros(len(x))
f[0] = sin(x[0]) + x[1]**2 + log(x[2]) - 7.0
f[1] = 3.0*x[0] + 2.0**x[1] - x[2]**3 + 1.0
f[2] = x[0] + x[1] + x[2] -5.0
return f
x = array([1.0, 1.0, 1.0])
print newtonRaphson2(f,x)
Khi tôi chạy nó, nó hiển thị lỗi sau:
File "example NR2method.py", line 8, in f
f[0] = sin(x[0]) + x[1]**2 + log(x[2]) - 7.0
ValueError: math domain error
Tôi đã thu hẹp nó vào nhật ký vì khi tôi xóa nhật ký và thêm một chức năng khác, nó hoạt động. Tôi cho rằng đó là do một số loại can thiệp với đế, tôi không thể tìm ra cách. Bất cứ ai có thể đề xuất một giải pháp?