声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1944|回复: 5

[编程技巧] 1stopt里面的最小一乘法拟合曲线

[复制链接]
发表于 2011-1-23 11:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
有谁能用1stopt里面的最小一乘法帮我拟合一个曲线啊?我想看看效果然后建议老师买这个软件!谢谢
回复
分享到:

使用道具 举报

发表于 2011-1-23 22:37 | 显示全部楼层
4.0版有专门的最小一乘拟合命令。
拟合优化方面,1stOpt应该是当今最强最好用的。
发表于 2011-1-23 23:42 | 显示全部楼层
最小一乘?是不是要最小绝对值,不是最小平方?如果是的话,我有个matlab的例子
 楼主| 发表于 2011-1-26 13:18 | 显示全部楼层
回复 3 # re-us 的帖子

呵呵能不能程序借我看一下,我的是多元的
发表于 2011-2-12 02:07 | 显示全部楼层
本帖最后由 re-us 于 2011-2-12 02:11 编辑

这个是有一次我的homework,应该是对的,irls.m 是老师给的,大概就是迭代的算法
  1. %homework for Bob's 2.1
  2. clear;
  3. clc

  4. %precomputed data
  5. x=1:10;
  6. x=x';

  7. y=10:10:100;
  8. resi=[1.6734,-2.8040,-1.5749,-1.6261,3.5752,1.7820,-2.3950,-4.4920,2.0556,-2.2447];
  9. y=y+resi;
  10. y=y';
  11. %outlier
  12. y(4)=y(4)-50;
  13. N=length(y);

  14. %build the parabolic system matrix
  15. G = [ ones(N,1) , x];
  16. %least-squares solution
  17. disp('Least-squares solution')
  18. m2 = G\y

  19. %1-norm solution
  20. disp('1-norm solution')
  21. m1=irls(G,y,1.0e-5,1.0e-5,1,25)
  22. %Plot from the two models
  23. mm1=G*m1;mm2=G*m2;
  24. figure(1)
  25. bookfonts;
  26. plot(x,mm1,x,mm2,'k');
  27. hold on
  28. plot(x,y,'ok');
  29. legend('L_1 Fit','L_2 Fit','Location','SouthEast');
复制代码
  1. function x=irls(A,b,tolr,tolx,p,maxiter)
  2. % x=irls(A,b,tolr,tolx,p,maxiter)
  3. %
  4. % Uses the iteratively reweight least squares strategy to find an
  5. % approximate L_p solution to Ax=b.

  6. [m,n]=size(A);

  7. R=eye(m);
  8. x=A\b;

  9. iter=1;
  10. while (iter <= maxiter)
  11. iter=iter+1;
  12. r=A*x-b;
  13. for i=1:m
  14. if (abs(r(i)) < tolr)
  15. r(i)=abs(tolr)^(p-2);
  16. else
  17. r(i)=abs(r(i))^(p-2);
  18. end
  19. end
  20. R=diag(r);
  21. newx=(A'*R*A)\(A'*R*b);
  22. if (norm(newx-x)/(1+norm(x)) < tolx)
  23. return;
  24. else
  25. x=newx;
  26. end
  27. end

复制代码



1.jpg
发表于 2011-2-12 02:12 | 显示全部楼层
大概的意思就是:如果有outliers的话,用最小1乘比较好,希望有帮助
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-16 12:59 , Processed in 0.065754 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表