加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用 Excel 做多变量非线性拟合

(2014-01-24 18:58:32)
标签:

it

分类: 摘抄

http://blog.renren.com/share/1316442971/14420136192

来源: 茅晓锋的日志

问题:测得一组数据,需要做非线性拟合,获得参数a,b的值。
拟合公式:y=79.71(1-a*log(1+bx))   
软件环境:Excel 2003 ,2007 ,2010

原理:
利用Excel的规划求解功能,不断试探参数a、b的值,使拟合曲线与实验值的整体偏差最小。整体偏差用最小二乘法计算。

http://fmn.xnpic.com/fmn053/20101209/1945/b_large_6bdj_5a8e000046c75c15.jpgExcel 做多变量非线性拟合" />

操作:
====part1 设定初值,用最小二乘法计算偏差
1.在表格空白处输入初值 a ,b 
2.新建一列“公式值”,输入拟合公式,其中待定系数a ,b选为刚才输入的初值,再向下填充。例:H3单元格公式 =79.17*(1-a*LOG10(1+B3*L4))
3.新建一列“误差”,公式为 (理论值-实验值)^2 ,再向下填充 。在误差最后输入求和函数sum(……) 。例:I3单元格公式 =(H3-G3)^2

====part2 试探a、b,使整体偏差最小
4.Excel 2003 -工具-规划求解
   Excel 2007,2010 -数据-规划求解
*如果没有这个功能,需要加载相应的宏。
Excel 2003 -工具 – 加载宏 -复选“规划求解”
Excel 2007,2010 -office图标-选项-加载宏-转到…

5.在对话框中设定整体偏差作为目标单元格,此例中为 I10 ,约束条件为“最小值”,可变单元格为参数a,b 。如果有其他约束条件,在下方添加就可以了。点击“求解”。

6.找到结果之后,若选“保存求解

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有