Python 구현 곡선 적합 작업 예제[numpy,scipy,matplotlib 라 이브 러 리 기반]

3591 단어 Python곡선 적합
본 논문 의 사례 는 Python 이 곡선 적합 조작 을 실현 하 는 것 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
이틀 동안 python 으로 곡선 을 맞 추 는 것 을 배 웠 습 니 다.
환경 설정
본인 은 비교적 게 으 르 기 때문에 다운로드 한 것 은 모두 exe 파일 로 설치 되 고 설치 가 순조롭게 이 루어 집 니 다.python 의 설치 경 로 를 자동 으로 찾 을 수 있 습 니 다.다음 단 계 를 계속 누 르 면 됩 니 다.그리고 다른 두 가지 설치 방식 도 있 습 니 다.하 나 는 압축 을 푸 는 것 이 고 하 나 는 pip 입 니 다.나 는 시도 하지 않 았 으 니 함부로 말 하지 않 겠 다.
ArcGIS 환경 이 없 는 사람 은 아래 의 이 말 을 보지 않 아 도 된다.
환경 을 설정 할 때 작은 우여곡절 을 만 났 습 니 다.바로 원래 컴퓨터 에 ArcGIS 10.2 를 설치 한 적 이 있 기 때문에 기본적으로 python 2.7 을 설치 하고 python 은 32 비트 입 니 다.또한 디 렉 터 리 는 C:\Python 27\ArcGIS 10.2 이 므 로 환경 변 수 를 참조 할 때 주의해 야 합 니 다.또한 인 용 된 패키지 에는 numpy,matplotlib 패키지 가 포함 되 어 있 습 니 다.그래도 편 해.하지만 그동안 PyQT 로 곡선 적합 한 인 터 페 이 스 를 만 들 려 고 했 는데,QT 를 설치 할 때 항상 실패 하기 때문에 결국 이 를 포기 했다.새 python 을 설치 할 때 경 로 를 위 경로 앞 에 쓰 십시오.위 에 있 는 가방 을 설치 할 때 기본 python 경 로 를 찾 습 니 다.python 경 로 를 C:\Python 2 로 새로 설 치 했 습 니 다.그렇지 않 으 면 ArcGIS 의 python 패키지 경 로 를 찾 을 수 있 습 니 다.
1.패키지 설치
python 2.7(32 비트)https://www.python.org/downloads/
numpy-1.8.1-win32-superpack-python2.7
scipy-0.15.1-win32-superpack-python2.7
matplotlib-1.3.1.win32-py2.7
질문
제시 하 다.
numpy 는 Python 의 오픈 소스 의 수치 계산 확장 으로 수학 계산 이 편리 합 니 다.
scipy 는 편리 하고 사용 하기 쉬 우 며 과학 과 공정 을 위 한 Python 공구 꾸러미 입 니 다.통계,최적화,통합,선형 대수 모듈,푸 리 엽 변환,신호 와 이미지 처리,상 미분 방정식 풀이 기 등 을 포함 합 니 다.이번 에는 아직 사용 되 지 않 았 습 니 다.소개 가 매우 강력 하고 numpy 의 업그레이드 버 전 입 니 다.
matplotlib 는 Python 의 오픈 소스 확장 으로 다양한 도 표를 그 릴 수 있 습 니 다.
실례
곡선 적합 의 예

import matplotlib.pyplot as plt
import math
import numpy as np
import random
import csv
plt.rcParams['font.sans-serif'] = ['SimHei']#      
fig = plt.figure()
ax = fig.add_subplot(111)#      1 1 ,              1 
#   6 
order=6
#         
dataMat = np.loadtxt(open("c:\\yandu.csv","rb"),delimiter=",",skiprows=0)
size=dataMat.shape
num=size[0]
trandata=np.transpose(dataMat)#    
xa=trandata[0]#      (   )
ya=trandata[1]#       
#    ,        ,      
i=0
x=[]
y=[]
for yy in ya:
  if yy>0:
    xx=xa[i]
    i+=1
    x.append(xx)
    y.append(yy)
#      
ax.plot(x,y,label=u'    ',color='m',linestyle='',marker='.')
#     
c=np.polyfit(x,y,order)#             c 
yy=np.polyval(c,x)#         
#      
x_new=np.linspace(0, 365, 2000)
f_liner=np.polyval(c,x_new)
#ax.plot(x,y,color='m',linestyle='',marker='.')
ax.plot(x_new,f_liner,label=u'       ',color='g',linestyle='-',marker='')
# labels    
ax.set_xlim(0, 366)
ax.set_xlabel(u' ')
ax.set_ylabel(u'  ')
ax.set_title(u'      ', bbox={'facecolor':'0.8', 'pad':5})
ax.legend()
plt.show()

실행 결과:

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

좋은 웹페이지 즐겨찾기