Python 구현 곡선 적합 작업 예제[numpy,scipy,matplotlib 라 이브 러 리 기반]
이틀 동안 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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.