Python Numpy 강좌 : 제 16강 - 다항식 계산 (1)
다항식 생성(Poly1d)
import numpy as np
equation1 = np.poly1d([1, 2], True, variable = 'a')
equation2 = np.poly1d([1, 2], True)
equation3 = np.poly1d([1, 2], False)
print(equation1)
print(equation2)
print(equation3)- 결과
- 2
1 a - 3 a + 2
2
1 x - 3 x + 2
1 x + 2
다항식 생성 함수(np.poly1d)는 입력 배열을 항으로 간주하여 다항식을 생성합니다.
np.poly1d(입력 배열, 근 설정, 변수명)으로 다항식을 생성합니다.
입력 배열을 다항식의 계수나 근으로 사용합니다.
근 설정이 True라면 근으로 사용하며, False라면 계수로 사용합니다.
근 설정 값을 입력하지 않는다면 False로 간주합니다.
변수명은 다항식의 변수의 이름을 설정합니다.
변수명 값을 입력하지 않는다면 x로 간주합니다.
equation1은 입력 배열을 근으로 사용하며, 변수명을 a로 사용합니다.
그러므로, \(equation1 = (a - 1)(a - 2) = a^2 - 3a + 2\)가 됩니다.
equation2은 입력 배열을 근으로 사용합니다.
그러므로, \(equation2 = (x - 1)(x - 2) = x^2 - 3x + 2\)가 됩니다.
equation3은 입력 배열을 계수으로 사용합니다.
그러므로, \(equation3 = x + 2\)가 됩니다.
입력 배열의 값의 순서가 방정식의 계수나 근이 됩니다.
만약, \(2x^3 - 1\) 수식을 입력한다면, np.poly1d([2, 0, 0, -1])으로 사용합니다.
다항식 속성(Poly1d Attributes)
import numpy as np
equation = np.poly1d([1, 2], True)
print(equation.c, equation.coef, equation.coefficients)
print(equation.o, equation.order)
print(equation.r, equation.roots)
print(equation.variable)- 결과
- [ 1. -3. 2.] [ 1. -3. 2.] [ 1. -3. 2.]
2 2
[2. 1.] [2. 1.]
x
다항식은 크게 네 가지 종류의 속성을 갖고 있습니다.
c, coef, coefficients는 다항식의 계수를 반환합니다.
즉, [1, -3, 2]은 \(x^2 - 3x + 2\)이 되며, 앞선 예시의 equation2의 반환값과 같은 것을 확인할 수 있습니다.
o, order는 다항식의 최고 차수를 반환합니다.
그러므로, 다항식의 최대 차수인 2를 반환합니다.
r, roots는 다항식의 근을 반환합니다.
다항식에서 0이 되는 값인 [2, 1]을 반환합니다.
variable은 다항식의 변수명을 반환합니다.
변수명을 별도로 입력하지 않았으므로, 기본값인 x를 반환합니다.
다항식 근 계산(Roots)
import numpy as np
p = np.poly1d([1, 10])
equation1 = np.roots(p)
equation2 = np.roots([1, 10])
print(equation1)
print(equation2)- 결과
- [-10.]
[-10.]
다항식 근 계산 함수(np.roots)는 입력 배열을 다항식으로 간주하여 근을 계산합니다.
np.roots(입력 배열)로 다항식의 근을 계산합니다.
입력 배열은 다항식 값을 입력하거나 계수를 직접 입력할 수 있습니다.
입력 배열은 \(x + 10\)이므로, 근은 -10이 됩니다.
다항식 계수 계산(Poly)
import numpy as np
p = np.poly1d([1, -6, 8])
equation1 = np.poly(p)
equation2 = np.poly([1, -6, 8])
print(equation1)
print(equation2)- 결과
- [ 1. -3. -46. 48.]
[ 1. -3. -46. 48.]
다항식 계수 계산 함수(np.poly)는 입력 배열을 다항식의 근의 순서로 계수를 계산합니다.
np.poly(입력 배열)로 다항식의 계수를 계산합니다.
입력 배열은 다항식 값을 입력하거나 계수를 직접 입력할 수 있습니다.
입력 배열은 \((x - 1)(x + 6)(x - 8)\)이므로, \(x^3 - 3x^2 - 46x + 48\)이 됩니다.
그러므로, 반환값은 [1, -3, -46, 48]이 됩니다.
다항식 계산(Polyval)
import numpy as np
p = np.poly1d([1, -6, 8])
x = 5
equation1 = np.polyval(p, x)
equation2 = np.polyval([1, -6, 8], np.poly1d([x, x]))
print(equation1)
print(equation2)- 결과
- 3
2
25 x + 20 x + 3
다항식 계산 함수(np.polyval)는 입력 배열을 다항식으로 간주하고, 입력값을 넣어 계산된 값을 반환합니다.
np.polyval(입력 배열, 입력값)로 다항식의 계산 결과를 반환합니다.
입력 배열은 다항식 값을 입력하거나 계수를 직접 입력할 수 있습니다.
입력값은 숫자나 poly1d값을 입력합니다.
equation1의 입력 배열은 \(x^2 - 6x + 8\)이며, \(x\)에 \(5\)를 입력하므로, 반환값은 \(3\)이 됩니다.
equation2의 입력 배열은 \(x^2 - 6x + 8\)이며, \(x\)에 \(5x + 5\)를 입력하므로, 반환값은 \(25x^2 + 20x + 3\)이 됩니다.
공유하기
Kakao
Naver
Twitter
LinkedIn
Facebook
댓글 남기기