Python Numpy 강좌 : 제 16강 - 다항식 계산 (1)

Python Numpy Poly & Roots (1)

Python Numpy 강좌 : 제 16강 - 다항식 계산 (1)
[ Python-Numpy ] - 윤대희

다항식 생성(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\)이 됩니다.




도움이 되셨다면 광고 클릭 부탁드립니다.


Book Image

책이 출간되었습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C# OpenCvSharp4
  • Python OpenCV4
  • Using Tesseract
  • Using TensorFlow
  • Using Regular Expression
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]


    ⤧  Previous post Python Numpy 강좌 : 제 15강 - 조건 반환 ⤧  Next post Python Numpy 강좌 : 제 17강 - 다항식 계산 (2)
    Python-Numpy Category