matlab曲线拟合怎么写
我需要matlab拟合一些数据图像,但是我不知道怎么写,求大神帮忙啊。数据为:(26.3,8.85)(33.5,8.17)(39.1,7.49)(43.1,7.16)(4...
我需要matlab拟合一些数据图像,但是我不知道怎么写,求大神帮忙啊。
数据为:(26.3,8.85)(33.5,8.17)(39.1,7.49)(43.1,7.16)(47.0,6.81)(50.0,6.58)(54.5,6.21)(56.8,5.91)(64.9,5.48)(72.0,5.11)(77.0,5.98)
求大神帮个忙啊 展开
数据为:(26.3,8.85)(33.5,8.17)(39.1,7.49)(43.1,7.16)(47.0,6.81)(50.0,6.58)(54.5,6.21)(56.8,5.91)(64.9,5.48)(72.0,5.11)(77.0,5.98)
求大神帮个忙啊 展开
展开全部
x=[26.3 33.5 39.1 43.1 47.0 50.0 54.5 56.8 64.9 72.0 77.0];
y=[8.85 8.17 7.49 7.16 6.81 6.58 6.21 5.91 5.48 5.11 5.98];
%多项式拟合
n=1;
A=polyfit(x,y,n); %n是给定的多项式的次数,拟合出来的结果A是系数向量
y1=polyval(A,x); %计算出拟合的y值
plot(x,y,'k*',x,y1,'r-'); %画出数据对比图,黑点是原始数据,红线是拟合曲线
%指定函数拟合
f=fittype('a*e^(b*x)+c'); %引号里的是你的函数模型,默认是以x为自变量,其余为待定参数
fity=fit(x,y,f) %曲线拟合,会给出拟合结果
%再根据给出的结果计算出新的y值,画图神马的
y=[8.85 8.17 7.49 7.16 6.81 6.58 6.21 5.91 5.48 5.11 5.98];
%多项式拟合
n=1;
A=polyfit(x,y,n); %n是给定的多项式的次数,拟合出来的结果A是系数向量
y1=polyval(A,x); %计算出拟合的y值
plot(x,y,'k*',x,y1,'r-'); %画出数据对比图,黑点是原始数据,红线是拟合曲线
%指定函数拟合
f=fittype('a*e^(b*x)+c'); %引号里的是你的函数模型,默认是以x为自变量,其余为待定参数
fity=fit(x,y,f) %曲线拟合,会给出拟合结果
%再根据给出的结果计算出新的y值,画图神马的
更多追问追答
追答
我只是用直线举了个例子,它具体是什么函数是靠你观察出来的或者是通过推理得出的模型,再用拟合求出对应的待定系数,曲线拟合的目的可能是通过现有数据得出函数模型,也可能是用数据来验证已知模型。
如果模型是未知的,在本例中,所有的点都在直线上下,并没有太大的偏差,可以认为直线是较好的模型。你还可以试试二次函数、三次函数、指数函数等等~找出你认为最好的模型。
评价模型可以用残差平方和,自己百度去吧。不过这个有局限性,对于多项式肯定是次数越高,残差平方和越小,次数比点数小1时,残差为0,但是这样的模型没有意义的,同样的实验,做第二次就可能就不符合了。
并不是所有的点都在曲线上就是最好的,数据本身还可能存在误差。
展开全部
n=1;
A=polyfit(x,y,n); %n给定项式数拟合结A系数向量
y1=polyval(A,x); %计算拟合y值
plot(x,y,'k*',x,y1,'r-'); %画数据比图黑点原始数据红线拟合曲线
%指定函数拟合
f=fittype('a*e^(b*x)+c'); %引号函数模型默认x自变量其余待定参数
fity=fit(x,y,f) %曲线拟合给拟合结
%再根据给结计算新y值画图神马
在运行MATLAB编程进行数据的处理过程当中,我们常常用到matlab曲线拟合,但是工具箱由于需要人工交互,得到的拟合结果,需要人工的去提取,再输入,所以,工具箱拟合结果十分不适合调用,以及继续下面的操作,所以我们需要用到matlab曲线拟合函数,并且以最常用的多项式拟合函数为例作为matlab曲线拟合例子,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼说的很详细,如果你不想调用现成函数想自己写咨询我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询