1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Halcon 拟合直线

Halcon 拟合直线

时间:2023-02-07 09:02:05

相关推荐

Halcon 拟合直线

本文用 Halcon 的矩阵操作实现最小二乘拟合直线

*首先随机生成一组数据Mx := [100:10:500]tuple_length(Mx, len)tuple_gen_const(len, 5, r)Ma := 2Mb := 40tuple_rand(len, noise)My := Ma * Mx + Mb * noisegen_circle(ContCircle, My, Mx, r)

接下来用矩阵进行最小二乘求解

* y = ax + b* y1 = ax1 + b* y2 = ax2 + b* ... .......* yn = ax + bcreate_matrix(len,1,My,y)create_matrix(len,2,1,x)set_value_matrix(x, [0:len-1], gen_tuple_const(len, 0),Mx)* XT 代表X的转置 inv(*)代表*的逆* x beta = y* xT x beta = xT y* beta = inv( xT x) xT ymult_matrix(x,x,'ATB',xtx)mult_matrix(x,y,'ATB',xty)invert_matrix(xtx,'general', 0, invxtx)mult_matrix(invxtx,xty,'AB', beta)get_full_matrix(beta, Values)Newy:=Values[0] * [10,800] + Values[1]gen_contour_polygon_xld(Contour, Newy, [10,800])

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。