Fitting data using defined linear function
Code: "fit_linear_leastsqured.py". Programming language: Python DMelt Version 1.4. Last modified: 12/19/1970. License: Pro
https://datamelt.org/code/cache/fit_linear_leastsqured_111.py
To run this script using the DMelt IDE, copy the above URL link to the menu [File]→[Read script from URL] of the DMelt IDE.


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.