Community

자유게시판

[컴퓨터비전]_서민정

페이지 정보

작성자 서민정 댓글 0건 조회 409회 작성일 21-07-07 00:09

본문

from numpy import arange
from scipy.optimize import curve_fit
from matplotlib import pyplot
import random

a = random.randint(16)

def objective(xabc):
  return a * x ** 2 + b * x + c



# x,y 값 지정
xy = [[-2.9,35.4],[-2.1,19.7],[-0.9,5.7],[1.1,2.1],[0.1,1.2],[1.9,8.7],[3.1,25.7],[4.0,41.5]]

# x,y 값 6개 랜덤 추출
xy_1 = random.sample(xy, 6)

# x,y 따로 추출하여 리스트 생성
x= [xy_1[0][0],xy_1[1][0],xy_1[2][0],xy_1[3][0],xy_1[4][0],xy_1[5][0]]
y= [xy_1[0][1],xy_1[1][1],xy_1[2][1],xy_1[3][1],xy_1[4][1],xy_1[5][1]]

popt, _ = curve_fit(objective, x, y)

# summarize the parameter values
a, b, c = popt
print('y = %.1f * x^2 + %.1f * x + %.1f' % (a, b, c))

pyplot.scatter(x, y)

# define a sequence of inputs 
x_line1 = arange(-351)

# calculate the output for the range
y_line1 = objective(x_line1, a, b, c)



# x,y 값 지정
xy1 = [[-2.9,35.4],[-2.1,19.7],[-0.9,5.7],[1.1,2.1],[0.1,1.2],[1.9,8.7],[3.1,25.7],[4.0,41.5]]

# x,y 값 6개 랜덤 추출
xy_2 = random.sample(xy1, 6)

# x,y 따로 추출하여 리스트 생성
x1 = [xy_2[0][0],xy_2[1][0],xy_2[2][0],xy_2[3][0],xy_2[4][0],xy_2[5][0]]
y1 = [xy_2[0][1],xy_2[1][1],xy_2[2][1],xy_2[3][1],xy_2[4][1],xy_2[5][1]]

popt, _ = curve_fit(objective, x1, y1)

# summarize the parameter values
a, b, c = popt
print('y = %.1f * x^2 + %.1f * x + %.1f' % (a, b, c))

pyplot.scatter(x1, y1)

# define a sequence of inputs 
x_line2 = arange(-351)

# calculate the output for the range
y_line2 = objective(x_line2, a, b, c)

pyplot.plot(x_line1, y_line1, '-', color='red')
pyplot.plot(x_line2, y_line2, '-', color='blue')e
pyplot.show()

댓글목록

등록된 댓글이 없습니다.