如何使用matlab自定义函数拟合拟合一组数据,要求拟合出来的拟合函数要固定一种函数。

有两列数字,需要用自定义的复杂函数拟合[x, y]=[0..1..2..3..6..12..43..58..118.7
2.479..499..];用自定义的复杂函数拟合,除了cftool之外,还有什么其他办法完成呢?step1:自定义拟合函数,例如:function yfit=kyf(a,x) %这个函数单独存成一个m文件x=x(:);yfit=a(1)*log(x)./(1+a(2)*log(x))+a(3);step2:开始拟合:a0=[0.1 0.1 0.1];%与拟合参数a对应,这是初始猜测值options=statset('Jacobian','on');[a,r,J,~,msE]=nlinfit(x,y,@kyf,a0,options);%拟合[ypred,delta]=nlpredci(@kyf,x,a,r,'Jacobian',J,'predopt','observation','simopt','on');%计算预测值和预测区间step3:查看计算结果figuresubplot(2,1,1);plot(x,y,'r*'); plot(x,ypred,'b--','LineWidth',1.5);plot(x,[ypred+delta,ypred-delta],'b');legend('输入值','计算值','预测区间');subplot(2,1,2);plot(x,y-ypred,'b.-');stem(x,y-ypred,'g','Color','k')legend('残差');运行结果图示
谦谦君子,用涉大川。 正法眼藏,涅盘妙心。
泡泡龙的最新日记
······
&(1人喜欢)
······
博物馆讲述难以言说的历史 · 216条内容
纪念汪老逝世二十周年 · 132条内容
以赤子之心澄澈映照世界 · 91条内容
你是一本读不完的书 · 837条内容
这一天,你在干什么? · 364条内容
关注权力关系下的性侵受害者 · 397条内容
推荐这篇日记的豆列
······扫二维码下载作业帮
1.75亿学生的选择
下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
怎样用matlab拟合一组数并得到它的函数关系式,不用cftool工具箱.
昆山职三278
扫二维码下载作业帮
1.75亿学生的选择
例如:>>x=[0.84,0.8,0.75,0.7,0.65];>>y=[,736,1000000];>>fun=inline('exp(a(1).*(a(2).^a(3)-x.^a(3)))','a','x');>>a=lsqcurvefit(fun,[6,1,3],x,y)a =
为您推荐:
其他类似问题
扫描下载二维码Matlab曲线拟合工具箱cftool的使用 - 简书
Matlab曲线拟合工具箱cftool的使用
有时候我们需要对一些散点进行拟合,但是经常会发现对于未知曲线类型的散点拟合无从下手,常规的方法就是尝试各种拟合曲线,然后选出最优的,但是问题就来了,对这么多的曲线编写程序岂不是累死?
幸好有Matlab!幸好有cftool!
我们可以先把数据导入matlab,如:
x = [8.8,9.4,9.6,7.8,8.5,6.2,11,12.5,12.8,13.4,11,12.1,10.8,10.1,13,12,10.6,10,10.8,12.6,12,13,11.7,17.4,17.2,15.2,14,15.1,14.6,14,17.4,16.2,15.4,14,20.5,19.2,20,18,20,19.5,19.8,19.7,19.7,21.6,24.6,22,22,25,24.8,27,28.5,29.2,27.3,31,31,39]
y = [0.,0.04,0.022,0.036,0.4,0.3,0.122,0.076,0.4,0.6,0.108,0.1,0.1,0.,0.3,0.196,0.,0.,0.3,0.7,0.,0.4,0.4,0.4,0.,0.6,0.6,0.498,0.5,0.9,0.1,0.7]
输入cftool,回车,打开Curve Fitting tool工具箱
在这里面选择数据来源,并选择函数名称,即可进行拟合,matlab会提供函数和误差。接下来选最好的函数就行了!
参考如图:
注:工具箱提供的拟合类型如下,进行简要说明,可以尝试各种不同类型拟合效果
Custom Equations:用户自定义的函数类型
Exponential:指数逼近,有2种类型, aexp(bx) 、 aexp(bx) + cexp(dx)
Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1cos(xw) + b1sin(xw)
Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)
Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-preserving
Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
Power:幂逼近,有2种类型,ax^b 、ax^b + c
Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th degree ~;此外,分子还包括constant型
Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)
Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1sin(b1x + c1)Weibull:只有一种,abx^(b-1)exp(-ax^b)
参考网址:
程序猿,数据分析狮,研究僧}

我要回帖

更多关于 matlab线性拟合函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信