注册 登录
编程论坛 Matlab

【求助】怎样用最小二乘法实现非线性的逼近

purple_ice 发布于 2008-02-29 13:45, 3303 次点击
函数是y=a/b*(x/b)^(a-1)*e^(-x/b)^a,给定x和y,matlab怎样用最小二乘法求a,b
万分感谢!
7 回复
#2
hitzhang2008-03-03 20:52
回复 1# 的帖子
doc nlinfit
#3
purple_ice2008-03-04 17:23
谢谢楼上,还有个问题要问
但是请问,我初值选的不一样,拟合出来的结果就不同,而且相差很大,应该是什么原因呀?初值应该怎么选呢?(我不知道这两个参数的大致范围)
另外拟合的误差很大,是不是因为待拟合的公式不好啊?还是初值选的不好?
#4
remex19802008-03-05 12:11
看这个是不是你要的
源码搜搜:多种概率分布的拟合函数集合
http://www.

[[it] 本帖最后由 remex1980 于 2008-3-5 12:16 编辑 [/it]]
#5
hitzhang2008-03-05 12:31
回复 4# 的帖子
幂函数的形状和它的次数又很大关系,可以根据你的所用数据的趋势大致选择一个a值,嫌费事的话是一下cftool
#6
论坛元老2008-04-03 11:29
doc nlinfit
#7
seekleisure2008-04-04 00:45
用这个试试lsqcurvefit
#8
ydgsl2008-04-09 15:39
这个函数有一定的复杂度,选取合适的初值比较重要,可将数据置上,一定能找到全局最优的拟合。
1