
题主提供的24小时的温度值,我贺衡前们不难发现 14 h 时温度最高,所以0-14小时这段时间的温度禅清应该符合模型1,14-24小时这段时间的温度应该符合模型2。根据这个思路,我们使用lsqcurvefit函数进行拟合其模型的系数。求解过程如下:
1、将时间数据赋值给t,温度数据赋值给T
2、分别自定义模型1的函数和模型2的函数,即
funcl=@(beta,t1)beta(1).*exp(beta(2)*(t1-beta(3)).^2)%模型1
func2=@(beta,t2)beta(1).*sin(pi/12*t2+beta(2))+beta(3)%模型2
3、给出beta的初值,即
beta0=[11 0 -5]%模型1
beta0=[8 -14 24]%模型2
4、拦顷使用lsqcurvefit函数,对其模型1和模型2的系数进行拟合
5、计算拟合值,即 T1=funcl(beta,t1), T2=func2(beta,t2)
6、使用plot函数绘制拟合前后数据的图形,即
plot(t,T,'r*',t1,y1,'ks',t2,y2,'bp'),grid on
7、完善代码后,运行可以得到如下结果。
8、从拟合结果表明,数据基本同时符合模型1和模型2。
我利用的是Matlab中的应用程序,Curve fitting,首先将数据导入到工作区中,接下来在菜单栏中的应用程序中找到Curve fitting,点击进去,会d出一个Curve fitting Tool的页面,在页面的左上方会有选择,x/y/z等数据,选择好数据之后,接下尺斗来要右边会选择拟合的数学模型,选好之后,正下方会有散点图和拟合曲线,在图的左边会有相应的仿皮系数以及拟合相关系数等参数,如果您想将拟合图导出来,继续在Curve fitting Tool页面的最左上备困差方的文件栏点击Print to figure,这时候就出图了,不知是否是您想要的答案,祝学习进步!欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)