社区
数据结构与算法
帖子详情
求线性拟合算法
autoegg
2004-12-21 06:38:47
小弟有一算式如下:
mag = img[0]*img[0] + img[1]*img[1] + img[2]*img[2];
mag = sqrt(mag)/2;
因为其中涉及到求平方根,所以实时性不高,我想用线性算式来模拟上述算式,即:
mag = a*img[0] + b*img[1] + c*img[2];
哪位大侠能够告知小弟,上述算式中的a、b、c应当取何值?
...全文
132
10
打赏
收藏
求线性拟合算法
小弟有一算式如下: mag = img[0]*img[0] + img[1]*img[1] + img[2]*img[2]; mag = sqrt(mag)/2; 因为其中涉及到求平方根,所以实时性不高,我想用线性算式来模拟上述算式,即: mag = a*img[0] + b*img[1] + c*img[2]; 哪位大侠能够告知小弟,上述算式中的a、b、c应当取何值?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mathe
2004-12-22
打赏
举报
回复
应该是x2/2同mag非常接近。
上面错了,应该是
x1=(x0*x0+a)/(2*x0)
x2=(x1*x1+a)/(2*x1)
这里我用的就是计算sqrt(x)的迭代公式。
使用
x(n+1)=(x(n)*x(n)+a)/(2*x(n))
可以计算出sqrt(a),如果初始值(x0)选择的较好,那么迭代不了几次就精度很高了。
现在这种方法误差最大的时候是abs(img[0])=abs(img[1])=abs(img[2]),这时
计算出来x2=1.75*img[0], 而精确值是2*mag=sqrt(3)*img[0]=1.732img[0]
误差在1%左右
autoegg
2004-12-22
打赏
举报
回复
谢谢三位!:)
mathe,您能不能解释一下为什么x2的结果非常接近mag?
gxqcn
2004-12-22
打赏
举报
回复
感觉上式有问题:x0、x1、a 的“量冈”不同,作加法运算应无任何意义。
mathe
2004-12-22
打赏
举报
回复
Let x0=max(abs(img[0]),abs(img[1]),abs(img[2]))
a=img[0]*img[0]+img[1]*img[1]+img[2]*img[2]
x1=(x0+a)/(2*x0)
x2=(x1+a)/(2*x1)
呵呵,这时x2的结果应该非常接近mag了
gxqcn
2004-12-22
打赏
举报
回复
可以利用平均值不等式:√((a^2+b^2+c^2)/3)≥(|a|+|b|+|c|)/3,
mag = c * ( abs(img[0]) + abs(img[1]) + abs(img[2]) ), c = √3/6
autoegg
2004-12-22
打赏
举报
回复
谢谢dengsf,确实是不可行。
大侠能否有一个算式模拟如下算式:
mag = img[0]*img[0] + img[1]*img[1] + img[2]*img[2];
mag = sqrt(mag)/2;
只要新的算式中不出现平方根就可以(因为求平方根很耗时,导致程序实时性不高)
autoegg
2004-12-22
打赏
举报
回复
谢谢三位,特别感谢gxqcn和mathe,你们两位的方法效果都很好!
立马结贴!
dengsf
2004-12-21
打赏
举报
回复
汗……
写错,是(1,0,0)和(-1,0,0)
dengsf
2004-12-21
打赏
举报
回复
想要两个式子相等,并且 A,B,C是常数的话是不可能的。
说明很简单,分别代入 (1,0,0)和(2,0,0)看求出的 a 值就知道了。
除非数字有更多的限制条件,这样用近似的话可能还可以。
autoegg
2004-12-21
打赏
举报
回复
自己先顶!:)
非
线性拟合
工具
当前非
线性拟合
和多元拟合的工具较少,这是针对常用的拟合
算法
,开发的一款数据拟合为主的软件。包括
线性拟合
的各种
算法
,非
线性拟合
的各种
算法
,以及多元拟合的各种
算法
。其中提供了很多非线性方程的模型,以满足不同的需
求
,也可以制定自己所需要的指定非线性方程模型的,采用最先进的初始值估算
算法
,无需初始值就可以拟合自己想要的非线性方程模型各个模块的介绍如下。 1.
线性拟合
算法
模块 根据最小二乘拟合
算法
,对输入的数据进行变量指定次方的拟合。同时可对自变量或因变量进行自然对数和常用对数的转换后再拟合。根据实际情况,开发了单调性拟合以针对各种定量分析的用途。同时开发了,针对一组数据,得到最高相关系数的自动拟合功能,由程序自动选择拟合次数以及自变量和因变量的数据格式。 2.非
线性拟合
算法
模块 根据非线性方程的特点,开发了最先进的智能初始值估算
算法
,配合LM迭代
算法
,进行非线性方程的拟合。只需要输入自变量和因变量,就可以拟合出所需要的非线性方程。拟合相关系数高,方便快捷。并借助微粒群
算法
,开发了基于微粒群的智能非
线性拟合
算法
,拟合出方程的相关系数相当高,甚至会出现过拟合现象。 3.多元拟合
算法
模块 根据最小二乘
算法
的原理开发了多元
线性拟合
算法
,同时开发了能够指定变元次数的高次多元
线性拟合
。由于多元变量的情况下函数关系复杂,采用高次多元
线性拟合
能有效提高拟合效果而不会出现过拟合现象。同时针对每个变元可能最合适的拟合次数不一定都一样,开发了自适应高次多元拟合
算法
。
曲线拟合&&线性回归(C#)
这个是我做的系统的部分
算法
的实现,主要是曲线拟合和线性回归。不改名字了,直接传上来吧。
机器学习
算法
实战——线性回归
算法
各类
算法
是机器学习的一个入门要点。本课程详细讲解了线性回归
算法
的原理,推导过程、相关扩展方法和代码实战,并为数学基础不牢的入门人群复习所需要的数学知识,辅以多个代码实战,帮助您深入理解线性回归
算法
。
C++实现最小二乘法一元回归和多项式拟合
此类的具体使用方法见:http://blog.csdn.net/czyt1988/article/details/21743595 在进行曲线拟合时用的最多的是最小二乘法,其中以一元函数(线性)和多元函数(多项式)居多,下面这个类专门用于进行多项式拟合,可以根据用户输入的阶次进行多项式拟合,
算法
来自于网上,和GSL的拟合
算法
对比过,没有问题。此类在拟合完后还能计算拟合之后的误差:SSE(剩余平方和),SSR(回归平方和),RMSE(均方根误差),R-square(确定系数)。
1stopt5.0试用版
数学优化分析综合工具软件包。在非线性回归,曲线拟合,非线性复杂工程模型参数估算
求
解等领域傲视群雄,首屈一指,居世界领先地位。【通用全局优化
算法
】最大特点是克服了当今世界上在优化计算领域中使用迭代法必须给出合适初始值的难题,即用户勿需给出参数初始值,而由1stOpt随机给出,通过其独特的全局优化
算法
,最终找出最优解。
数据结构与算法
33,006
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章