用最小二乘法求形如原型函数为y(x)=a*exp(bx)得经验公式...要求用matlab..... 20
1个回答
展开全部
% 1、拟合和很多因素有关,比如初值、拟合函数的选择、算法设置等。
% 2、从结果看,你现在的拟合函数形式不太适合所给的数据,请重新考虑其他形式的函数。
% 3、怀疑x的第一个点(7.2)是否正确,请核实。
x=[7.2 2.7 3.5 4.1 4.8];
y=[65 60 53 50 46];
f = inline('c(1)+exp(c(2)*x)','c','x');
opt = optimset('MaxFunEvals',1e5);
c = lsqcurvefit(f, [0 0], x, y,[],[],opt);
a = c(1)
b = c(2)
% 把拟合结果与原始数据对照
plot(x,y, '-o', x, f(c, x), 'r:x');
legend('原始数据', '拟合函数')
% 2、从结果看,你现在的拟合函数形式不太适合所给的数据,请重新考虑其他形式的函数。
% 3、怀疑x的第一个点(7.2)是否正确,请核实。
x=[7.2 2.7 3.5 4.1 4.8];
y=[65 60 53 50 46];
f = inline('c(1)+exp(c(2)*x)','c','x');
opt = optimset('MaxFunEvals',1e5);
c = lsqcurvefit(f, [0 0], x, y,[],[],opt);
a = c(1)
b = c(2)
% 把拟合结果与原始数据对照
plot(x,y, '-o', x, f(c, x), 'r:x');
legend('原始数据', '拟合函数')
更多追问追答
追问
能从头到尾得些一遍嘛..这是个我们没接触过的课程的老师留的作业...后天就要交了...
追答
请问你想要怎样“从头到尾”?
程序是完整的,也有必要的注释,但你给的数据与拟合公式不匹配,得不到理想的结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询