scipy.optimize
로 최적화
scipy.optimize
모듈은 함수의 최적값을 찾거나 방정식을 푸는 데 사용됩니다.
주로 활용되는 작업은 다음과 같습니다.
- 함수 최소화 또는 최대화
- 데이터에 곡선 맞춤(피팅)
- 방정식 및 연립방정식 풀이
scipy.optimize
를 사용하기 위해서는 아래와 같이 optimize
모듈을 불러와야 합니다.
NumPy와 SciPy optimize 임포트
import numpy as np from scipy import optimize
예제 1: 함수 최소화
minimize()
함수를 사용해 함수의 최소값을 찾습니다.
함수 최소화
# 함수 정의: f(x) = x^2 + 5*sin(x) def func(x): return x**2 + 5*np.sin(x) # 초기 추정값에서 시작해 최소값 찾기 result = optimize.minimize(func, x0=2) print("최적 x 값:", result.x[0]) print("최적점에서의 함수값:", result.fun)
func(x)
: 목적 함수x0
: 초기 추정값result
: 최적의x
와 해당 지점에서의 함수값 포함
예제 2: 방정식 풀이
root()
함수를 사용해 방정식이 0이 되는 지점을 찾습니다.
방정식의 근 찾기
# 방정식: cos(x) - x = 0 def equation(x): return np.cos(x) - x root_result = optimize.root(equation, x0=0.5) print("찾은 근:", root_result.x[0])
equation(x)
:cos(x) - x
형태의 방정식root()
: 방정식이 0이 되는x
값을 계산
Quiz
0 / 1
scipy.optimize
모듈의 주요 기능은 무엇인가요?
`scipy.optimize` 모듈은 함수의 및 방정식 풀이를 위해 설계되었습니다.
수치 적분 수행
최적값 찾기
난수 생성
그래프 생성
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말