如何用Matlab软件进行曲线拟合寻求经验公式?有其他的软件或分析方法都可以。
我想得到温度传感器的测得温度值和时间的经验公式,进行曲线拟合。我用Matlab把传感器每秒采集的数据进行了分析得到的曲线如下图,用polyfit()函数得出来的多项式函数...
我想得到温度传感器的测得温度值和时间的经验公式,进行曲线拟合。我用Matlab把传感器每秒采集的数据进行了分析得到的曲线如下图,用polyfit()函数得出来的多项式函数不好,误差很大,希望大家可以指点下我应该怎么去分析处理才能得到近似函数,因为我要用经验公式进行预测减少温度测量时间的
展开
1个回答
展开全部
%先用ezplot函数绘制拟合你的图像
ezplot('100-exp(-t+6)',[0,140])大致形状是这样
%然后用函数lsqcurvefit进行拟合
f=@(p,t)p(1)+p(2)*exp(p(3)*t+p(4));
tdata=[......];%你自己所测的时间t数据
Tdata=[.......];%你自己所测的温度数据
p=lsqcurvefit(f,[40,-10,-5,10],tdata,Tdata)
%得到的系数即p
%以下是例子
>> tdata=0:5:20;
>> Tdata=[25 29 32 43 46];
>> f=@(p,t)p(1)+p(2)*exp(p(3)*t+p(4));
>> p=lsqcurvefit(f,[40,-10,-5,10],tdata,Tdata)
p =
37.5000 -8.9865 -4.9992 0.3300
>> g=p(1)+p(2)*exp(p(3)*t+p(4));
>> ezplot(g,[0,140])
希望能帮助你!
ezplot('100-exp(-t+6)',[0,140])大致形状是这样
%然后用函数lsqcurvefit进行拟合
f=@(p,t)p(1)+p(2)*exp(p(3)*t+p(4));
tdata=[......];%你自己所测的时间t数据
Tdata=[.......];%你自己所测的温度数据
p=lsqcurvefit(f,[40,-10,-5,10],tdata,Tdata)
%得到的系数即p
%以下是例子
>> tdata=0:5:20;
>> Tdata=[25 29 32 43 46];
>> f=@(p,t)p(1)+p(2)*exp(p(3)*t+p(4));
>> p=lsqcurvefit(f,[40,-10,-5,10],tdata,Tdata)
p =
37.5000 -8.9865 -4.9992 0.3300
>> g=p(1)+p(2)*exp(p(3)*t+p(4));
>> ezplot(g,[0,140])
希望能帮助你!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询