मैं सिर्फ पायथन के साथ इंजीनियरिंग में न्यूमेरिकल मेथड्स से एक उदाहरण का परीक्षण कर रहा था ।
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)
जब मैं इसे चलाता हूं, तो यह निम्नलिखित त्रुटि दिखाता है:
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
मैंने इसे लॉग तक सीमित कर दिया है क्योंकि जब मैं लॉग हटाता हूं और एक अलग फ़ंक्शन जोड़ता है, तो यह काम करता है। मुझे लगता है कि यह आधार के साथ किसी प्रकार के हस्तक्षेप के कारण है, मैं यह पता नहीं लगा सकता कि कैसे। क्या कोई समाधान सुझा सकता है?