有N个点求一条直线使得所有点到直线的距离和最小的算法

wuyidexinsheng 2011-11-22 09:26:25
如题:
数学忘得一干二净,现在才知道 数学 物理 也是软件中非常重要的一部分
...全文
975 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
horris 2012-04-10
  • 打赏
  • 举报
回复
最小二乘法,是用最佳平方逼近的方法对离散数据做曲线拟合,这个在网上一搜一大堆。对于楼主所说的直线,也就是说逼近函数是一次的(直线),但这样做的前提是你的离散数据应该看起来象是一条直线,效果才好。
逼近函数(对楼主的问题就是一个一次函数)在给定离散点的取值,与原离散数据的取值,一般是不同的,而若逼近函数使得对于所有离散点,这个差值的平方和最小,就叫做最佳平方逼近。
关于这方法的算法,应该能查到现成的,网上应该有,任何一本C语言数值算法的书都会有。但要应用到你自己的程序里,一般要了解其数学原理,这个你可以去“维基百科”查一下“最小二乘法”或“最佳平方逼近”,如果中文看不懂,可以看英文的。在维基上,虽说英文的要查字典,但是人家比中文说得细得多,容易理解得多,差的不是一星半点。
但是对于楼主所说的, “使得所有点到直线的距离和最小”,如果这不是笔误,那么这就不是最佳平方逼近了,而可能是“最佳一致逼近”,这个我就了解得不多了,你可以到维基上查一查。
wuyidexinsheng 2011-11-23
  • 打赏
  • 举报
回复
额,怎么没人来拿分啊!!给点提示也有分的啊
wuyidexinsheng 2011-11-23
  • 打赏
  • 举报
回复
2楼你好那么这问题能给出一个确切点的答案吗?我不是没百度过,只是没找到合适的答案。可能关键字我打偏了。这种直线的专业术语叫:拟合直线,是吧!谢谢,我再去搜搜
  • 打赏
  • 举报
回复
我可以告诉你的是,假设招聘什么“会c++、会c#”之类的人员,这种就是找一个只要会一点编程就行了的人。然后如果一旦想找一个会搞计算方法应用的开发人员,可就不是为了这种,就不是这样只要知道一点就算了。那么那种人,就算不知道这个拟合直线如何计算,它也可以在几分钟之内去到网络上、书本里找到非常靠谱的知识,然后他提出的问题一看就知道是有深度的问题,值得回答。
  • 打赏
  • 举报
回复
计算方法,例如最小二乘方法,是课本上的主要内容之一。不是什么一个现学现卖的“算法”,而是专业课知识。我看到这个题目只是想说,这不是一个噱头,请注意。

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧