作业帮 > 综合 > 作业

matlab 曲线拟合问题

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/07 19:05:11
matlab 曲线拟合问题
我的实验数据t=[0 5 10 15 30 35 45 60 75 90 120 150 210 300 420 600 840 1440 2280 6500] u=[12.16 12.2 12.22 12.23 12.24 12.25 12.26 12.27 12.28 12.29 12.3 12.31 12.32 12.33 12.34 12.35 12.36 12.37 12.38 12.39]画出来的曲线是指数大概是指数形式的,想拟合成 u = a*exp(-b*t) + c*exp(-d*t)+e形式或者一介u=a+b*exp(-b*t),
matlab 曲线拟合问题
%先编写函数文件,内容如下,再保存为nihe.mfunction f=nihe(p,t)f= p(1).*exp(-p(2).*t) + p(3).*exp(-p(4).*t)+p(5);主程序如下t=[0 5 10 15 30 35 45 60 75 90 120 150 210 300 420 600 840 1440 2280 6500];  u=[12.16 12.2 12.22 12.23 12.24 12.25 12.26 12.27 12.28 ...    12.29 12.3 12.31 12.32 12.33 12.34 12.35 12.36 12.37 12.38 12.39];n=length(t);%u = a*exp(-b*t) + c*exp(-d*t)+e  含有5个参数startingVals = ones(1,5);  %所以startingVals含有5个参数[p,resnorm]=lsqcurvefit(@nihe,startingVals,t,u);   %nihe调用,nihe之前应该加@ %resnorm代表拟合值与真实值的差值最小平方和 sprintf('u = %f*exp(-%f*t) %f*exp(-%f*t)+%f',p(1),p(2),p(3),p(4),p(5))y1=nihe(p,t);                  %调用nihe计算拟合的y值semilogx(t,y1,t,u,'r+');
再问: 能留个qq能请教你下么?
再答: 1150153553