簡體   English   中英

如何使用最小二乘擬合進行線擬合?

[英]How to do a line fit using least square fitting?

我正在嘗試使用最小二乘擬合來擬合線段。 線段如下所示:

線路語義網

using LsqFit
img=load("img_file.jpg")
nodes=findall(img.>0)
xdata=map(p->p[2], nodes)
ydata=map(p->p[2], nodes)
p=[0.5,0.5]#nodes[1]
m(t, p) = p[1] * exp.(p[2] * t)
fit = curve_fit(model, xdata, ydata, p)

## Inf values if i change the value of p to be node[1]
fit = curve_fit(m, xdata, ydata, [8.0,273.0])

我正在嘗試使用curve_fit在“節點”中的這些 cartesianIndexes 上擬合多項式線,如 https 所示:://julianlsolvers.github.io/LsqFit.jl/latest/tutorial/我不確定如何將參數傳遞給它? 或者我應該如何分析新行的結果以及它的新笛卡爾索引是什么?

在此處輸入圖像描述 信息值

我正在嘗試在這些 cartesianIndexes 上擬合多項式線...

using Images, Polynomials, Plots

img = load("jTjYb.png")
img = Gray.(img)
img = img[end:-1:1, :]
nodes = findall(img.>0)

xdata = map(p->p[2], nodes)
ydata = map(p->p[1], nodes)
f = fit(xdata, ydata, 2)

plot(f, extrema(xdata)..., size=(800, 500))

在此處輸入圖像描述

如果您更改繪圖的size=(120, 200)並將label=false和多項式的次數變為3而不是2 ,然后嘗試比較結果:
在此處輸入圖像描述

代碼:

f = fit(xdata, ydata, 3)
plot(f, extrema(xdata)..., size=(120, 200), label=false)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM