from jhplot import *
from java.util import Random
from java.awt import Color
tTpoints = P1D("Data")
rand = Random()
for i in range(10):
x=rand.nextGaussian()
y=2*x+10*(1+0.01*rand.nextGaussian())
tTpoints.add(x,y)
fitter = HFitter("leastsquares")
fitter.setFunc("linear", 1, "a+b*x[0]","a,b")
fitter.setPar("a", 10)
fitter.setPar("b", 10)
fitter.fit(tTpoints)
fitresult = fitter.getResult()
a = fitresult.fittedParameter("a")
b = fitresult.fittedParameter("b")
print("a = {0}, b = {1}".format(a,b))
c1=HPlot("Canvas",)
c1.visible()
c1.setAutoRange()
ff=fitter.getFittedFunc()
max_X = max(tTpoints.getArrayX())
min_X = min(tTpoints.getArrayX())
c1.draw(tTpoints)
f1=F1D("fit",ff,min_X,max_X)
f1.setColor(Color.red)
c1.draw(f1)
Ads help maintain this website.