Python 이미지 처리 의 직선 과 곡선의 적합 과 그리 기[curvefit()응용]

본 고의 실례 는 Python 이미지 처리 의 직선 과 곡선의 의합 과 그리 기 를 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
데이터 처리 와 그림 그리 기 에서 우 리 는 보통 직선 이나 곡선의 적합 문 제 를 만 날 수 있 습 니 다.python 에서 scipy 모듈 의 서브 모듈 optimize 에서 곡선 적합 에 전문 적 으로 사용 되 는 함수curve_fit()를 제공 합 니 다.
다음은 예 시 를 통 해 직선 과 곡선의 의합 과 그리 기 를 어떻게 사용 하 는 지 설명 한다.
코드 는 다음 과 같 습 니 다:

# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize
#      
def f_1(x, A, B):
  return A*x + B
#      
def f_2(x, A, B, C):
  return A*x*x + B*x + C
#      
def f_3(x, A, B, C, D):
  return A*x*x*x + B*x*x + C*x + D
def plot_test():
  plt.figure()
  #   
  x0 = [1, 2, 3, 4, 5]
  y0 = [1, 3, 8, 18, 36]
  #    
  plt.scatter(x0[:], y0[:], 25, "red")
  #       
  A1, B1 = optimize.curve_fit(f_1, x0, y0)[0]
  x1 = np.arange(0, 6, 0.01)
  y1 = A1*x1 + B1
  plt.plot(x1, y1, "blue")
  #         
  A2, B2, C2 = optimize.curve_fit(f_2, x0, y0)[0]
  x2 = np.arange(0, 6, 0.01)
  y2 = A2*x2*x2 + B2*x2 + C2
  plt.plot(x2, y2, "green")
  #         
  A3, B3, C3, D3= optimize.curve_fit(f_3, x0, y0)[0]
  x3 = np.arange(0, 6, 0.01)
  y3 = A3*x3*x3*x3 + B3*x3*x3 + C3*x3 + D3
  plt.plot(x3, y3, "purple")
  plt.title("www.jb51.net test")
  plt.xlabel('x')
  plt.ylabel('y')
  plt.show()
  return
plot_test()

의합 과 그리 기 해 과 는 다음 과 같다.

물론curve_fit()함 수 는 직선,2 차 곡선,3 차 곡선 의 적합 과 그리 기 에 사용 할 수 있 을 뿐만 아니 라 코드 중의 형식 을 모방 하여 임의의 형식의 곡선 의 적합 과 그리 기 에 적용 할 수 있 으 며 적당 한 곡선 방정식 만 정의 하면 된다.
예 를 들 어 가우스 곡선 적합,곡선 함수 형식 은 다음 과 같다.

def f_gauss(x, A, B, C, sigma):
  return A*np.exp(-(x-B)**2/(2*sigma**2)) + C

PS:여기 서 비슷 한 온라인 도구 두 가 지 를 추천 합 니 다.참고 하 시기 바 랍 니 다.
온라인 다항식 곡선 및 곡선 함수 적합 도구:
http://tools.jb51.net/jisuanqi/create_fun
온라인 으로 다항식/함수 곡선 도형 그리 기 도구:
http://tools.jb51.net/jisuanqi/fun_draw
더 많은 파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기