萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 2507|回复: 3

[工程类] 谁有这个函数阿 lsqcurvefit(Optimization tool)

[复制链接]
发表于 2007-4-10 14:51 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
我没有这个工具包Optimization too。。。能帮忙贴一下吗 oder mailen....$送花$ $送花$ $送花$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-4-10 21:00 | 显示全部楼层
已经pm你了,可以msn加我,我可以传给你,不过因为这个函数可能还睡调用另外的函数,不能保证copy给你,你就能用
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-4-10 21:58 | 显示全部楼层
我想到有两个办法
-你装一个optimization toolbox
-你可以用现成的matlab有的函数,自己写一个用最小二乘法曲线拟合函数。如果你所遇到的问题是线性问题的话(线性回归问题),matlab有直接解决线性回归问题的函数,不需要任何toolbox。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-5-17 00:14 | 显示全部楼层
关于线性问题我来补充一下,就是什么样的问题可以化为线性问题处理?
比如

Y = f(x) = A1 + A2 * x + A3 * X ^2 + A4 * X ^3;
A1 ~ A4 是拟合参数,就是一个典型线性方程。对于这个方程,用最小二乘法可以直接解决:

假如有100个数 :

x = rand( 100 , 1);

拟合的方程是:

y =  0.7 + 33 * x + 7 * x.^2 +  2.7 * x.^3 ;

这里我们加点噪声:
y = y + randn (100,1) * 0.05;

到这一步,我们假设了 A1 ~ A4 分别是 0.7, 33, 7, 2.7;
x, y 都是 100个数的一维矩阵

如何用最小二乘法呢?

过程如下:
1)建立一个自变量矩阵 X (100 , 4),具体步骤:

X(:,1)=ones(100 , 1);
X(:,2)=x;
X(:,3)=x.^2;
X(:,4)=x.^3;

2)用backslash 运算:
a = X\y;

然后呢?完了!
不信?
显示一下 a: a =

    0.6952
   33.0483
    6.8306
    2.8365
------------------------------------------------

是的,就是这么简单!只要一步 "\" backslash运算。

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-4-27 10:19 , Processed in 0.764479 second(s), 24 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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