Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 축 1을 따라 다차원 계수로 다항식 미분하기


다항식을 미분하려면 Python NumPy의 polynomial.polyder() 메서드를 사용하면 됩니다. 이 메서드는 지정한 축(axis)을 따라 다항식 계수 c를 m번 미분한 결과를 반환합니다. 각 미분 반복마다 결과에 스케일링 팩터 scl이 곱해지며, 이는 변수의 선형 변환(linear change of variable) 시 활용하기 위한 것입니다.

인자 c는 각 축을 따라 낮은 차수부터 높은 차수 순으로 정렬된 계수 배열입니다. 예를 들어 [1,2,3]은 다항식 1 + 2*x + 3*x**2를 나타내고, [[1,2],[1,2]]는 axis=0이 x, axis=1이 y일 때 1 + 1*x + 2*y + 2*x*y를 나타냅니다.

polyder() 메서드의 매개변수

  • c (첫 번째 매개변수): 다항식 계수 배열입니다. c가 다차원인 경우 각 축은 서로 다른 변수에 해당하며, 각 축의 차수는 해당 인덱스로 결정됩니다.
  • m (두 번째 매개변수): 미분 횟수로, 음수가 아니어야 합니다. (기본값: 1)
  • scl (세 번째 매개변수): 각 미분마다 곱해지는 값으로, 최종 결과에는 scl**m이 곱해집니다. 변수의 선형 변환에 사용됩니다. (기본값: 1)
  • axis (네 번째 매개변수): 미분을 수행할 축입니다. (기본값: 0)

구현 단계

먼저 필요한 라이브러리를 임포트합니다 −

import numpy as np
from numpy.polynomial import polynomial as P

다항식 계수로 구성된 다차원 배열을 생성합니다 −

c = np.arange(4).reshape(2,2)

계수 배열을 출력합니다 −

print("Our coefficient Array...\n",c)

배열의 차원을 확인합니다 −

print("\nDimensions of our Array...\n",c.ndim)

배열의 데이터 타입을 확인합니다 −

print("\nDatatype of our Array object...\n",c.dtype)

배열의 형태(shape)를 확인합니다 −

print("\nShape of our Array object...\n",c.shape)

다항식을 미분하려면 Python NumPy의 polynomial.polyder() 메서드를 사용합니다. 여기서는 축 1을 따라 다항식 계수 c를 미분합니다 −

print("\nResult...\n",P.polyder(c, axis = 1))

전체 예제 코드

import numpy as np
from numpy.polynomial import polynomial as P

# 다항식 계수로 구성된 다차원 배열 생성
c = np.arange(4).reshape(2,2)

# 계수 배열 출력
print("Our coefficient Array...\n",c)

# 차원 확인
print("\nDimensions of our Array...\n",c.ndim)

# 데이터 타입 확인
print("\nDatatype of our Array object...\n",c.dtype)

# 형태(shape) 확인
print("\nShape of our Array object...\n",c.shape)

# polynomial.polyder() 메서드로 축 1을 따라 다항식 미분
print("\nResult...\n",P.polyder(c, axis = 1))

실행 결과

Our coefficient Array...
[[0 1]
[2 3]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

Shape of our Array object...
(2, 2)

Result...
[[1.]
[3.]]

실행 결과를 보면, 원래 계수 배열 [[0 1],[2 3]]이 축 1을 따라 한 번 미분되면서 상수 항이 제거되고 각 행의 일차 항 계수만 남아 [[1.],[3.]]가 출력된 것을 확인할 수 있습니다.