반응형
방금 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)
실행하면 다음 오류가 표시됩니다.
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
로그를 제거하고 다른 기능을 추가하면 작동하므로 로그로 좁혔습니다. 나는 그것이 기지와의 일종의 간섭 때문이라고 생각합니다. 나는 방법을 알 수 없습니다. 누구든지 해결책을 제안 할 수 있습니까?
해결 방법
코드가 0보다 작거나 같은 숫자의 로그
를 수행합니다. 그것은 수학적으로 정의되지 않았으므로 Python의 log
함수는 예외를 발생시킵니다. 예를 들면 다음과 같습니다.
>>> from math import log
>>> log(-1)
Traceback (most recent call last):
File "<pyshell#59>", line 1, in <module>
log(-1)
ValueError: math domain error
newtonRaphson2
함수가 무엇을하는지 모르면 잘못된 x [2]
값이 어디에서 오는지 추측 할 수 없습니다. 올바른 길.
참조 페이지 https://stackoverflow.com/questions/15890503
반응형
'파이썬' 카테고리의 다른 글
파이썬 단일 항목 목록을 정수로 변환 (0) | 2021.01.22 |
---|---|
파이썬 Is it possible to insert a row at an arbitrary position in a dataframe using pandas? (0) | 2021.01.22 |
파이썬 Python의 중첩 함수 (0) | 2021.01.22 |
파이썬 다른 콘솔에서 subprocess.Popen (0) | 2021.01.22 |
파이썬 NLTK를 사용한 효율적인 용어 문서 매트릭스 (0) | 2021.01.21 |
댓글