查看单个帖子
旧 2008-01-23, 18:23   #1
feixuedu1106
初级会员
 
注册日期: 2008-01-23
年龄: 40
帖子: 1
声望力: 0
feixuedu1106 正向着好的方向发展
警告 【求助】Matlab使用模型拟合 本人新手,望大虾帮忙!

t = [ 22, 50, 73, 78, 104, 131, 156, 179, 204, 228, 251, 31, 64, 94, 125, 152, 178, 203, 228, 253]
y = [ .7857143, 1.785714, 2.785714, 3.785714, 4.785714, 5.785714, 6.785714, 7.785714, 8.785714, 9.785714, 10.78571, .9393939, 1.939394, 2.939394, 3.939394, 4.939394, 5.939394, 6.939394, 7.939394, 8.939394]
%上面为数组,下面为拟合代码

myfunc=inline('beta(1)*t^2+beta(2)*t+b(3)*exp(-beta(4)/t)','beta','t');
beta=nlinfit(t,y,myfunc,[1 1 1 1])
a=beta(1),k1=beta(2),k2=beta(3),m=beta(4)
%test the model
tt=0:1:255
yy=a*tt^2+k1*tt+k2*exp(-m/tt)
plot(t,y,'o',tt,yy,'r')

拟合总是出错,是不是我的拟合模型选择有问题,还是我的代码写的有问题,希望大虾们可以附上代码,另外对于非线性拟合还有什么好的拟合函数可以多建议几个,我的7.0版本
feixuedu1106 当前离线   回复时引用此帖