作业帮 > 综合 > 作业

在matlab中进行非线性拟合,不知道那出错了,

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/11 20:49:21
在matlab中进行非线性拟合,不知道那出错了,
如果用指数增长模型模拟美国人口1790年至2000年的变化过程,请用Matlab统计工具箱的函数nlinfit计算指数增长模型的以下三个数据拟合问题:
(1)取定x0=3.9,t0=1790,拟合待定参数r;
p=@(k,t)3.9*exp(k*(t-1970));
t=1790:10:2000;
c=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5,92.0,106.5,123.2,131.7,150.7,179.3,204.0,226.5,251.4,281.4];
k0=[0.0360];
k=nlinfit(t,c,p,k0);
sse=sum((c-p(k,t)).^2)
plot(t,c,'k*',1790:1:2000,f(r,1790:1:2000),'k')
axis=([1790,2000,0,290]),legend('测量值','理论值')
在matlab中进行非线性拟合,不知道那出错了,
好像是要把待拟合的函数定义到函数文件才能用