如何在MATLAB中根据有限的数据点得到函数
悬赏分:100 | 提问时间:2010-5-24 07:28 | 提问者:aptxyuchen
如何在MATLAB中根据有限的数据点得到函数
推荐答案
可以用多项式拟合方法做到,你可以通过实验得到拟合最好的阶数。但是,如果你将阶数本身设的比较大的话,大多数曲线都可以很好的拟合出来。
数据拟合:
在MATLAB的NAG Foundation Toolbox中也有一些曲面拟合函数,如e02daf是最小二乘平方曲面拟合函数,e02def可求出曲面拟合的函数值。
有关曲面拟合的基本原理参见有关数值分析的书籍,这里不再多说。
注:关于在MATLAB的NAG Foundation Toolbox中的函数形式、说明以及应用例子可以查
阅帮助信息。例如,键入help e02daf便会出现函数e02daf的较详细说明。在函数末尾加e便是应用的例子,如键入type e02daf,会显示函数e02daf的应用例子程序,键入e02daf,则运行该程序,并显示其计算结果。
MATLAB软件提供了基本的曲线拟合函数的命令.
多项式函数拟合:a=polyfit(xdata,ydata,n)
其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式 的系数
多项式在x处的值y可用下面程序计算. y=polyval(a,x)
一般的曲线拟合:p=curvefit(‘Fun’,p0,xdata,ydata)
其中Fun表示函数Fun(p,data)的M函数文件,p0表示函数的初值.curvefit()命令的求解问题形式是
若要求解点x处的函数值可用程序f=Fun(p,x)计算.
例如已知函数形式 ,并且已知数据点 要确定四个未知参数a,b,c,d. 使用curvefit命令,数据输入 ;初值输 ;并且建立函数 的M文件(Fun.m).若定义 ,则输出 又如引例的求解,MATLAB程序: t=[l:16]; %数据输人 y=[ 4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 10.55 10.58 10.6] ; plot(t,y,’o’) %画散点图 p=polyfit(t,y,2) (二次多项式拟合) 计算结果: p=-0.0445 1.0711 4.3252 %二次多项式的系数 由此得到某化合物的浓度y与时间t的拟合函数
matlab 曲线拟合后表达式怎么输出
悬赏分:0 | 解决时间:2010-5-9 11:51 | 提问者:meiyoudeyuwan
新手呀。。拟合图像已经做出来了 函数中常量a,b,c....也知道,有没有直接输出函数的办法??
最佳答案
你是用什么拟合的
要是多项式拟合的就用 p是拟合的结果
f=poly2sym(p)
f=
3*x^5+5*x^4+x^2+12
要是用lsqcurvefit 你就在用subs把结果带入函数就好了
matlab用隐函数拟合的程序怎么编写
悬赏分:100 | 解决时间:2009-5-27 16:06 | 提问者:liusy3132
试验测试得到x,y数据。
现在想通过用matlab用隐函数y=I1*exp((x-y*Rs)/0.026/n1)+I2*exp((x-y*Rs)/0.026/n2)+(x-y*Rs)/Rsh-I1-I2+IL对数据进行拟合。得到参量I1、I2、IL、Rs、Rsh、n1、n2的数值。
请高手帮忙。
急
先谢谢了。
问题补充:
自变量x从0到1,每0.05取一个点。
对应的y值如下:
0, 4.84827E-9
0.05, 7.20861E-9
0.1, 9.486E-9
0.15, 1.33346E-8
0.2, 1.85467E-8
0.25, 2.54804E-8
0.3, 3.57885E-8
0.35, 4.94846E-8
0.4, 6.86021E-8
0.45, 9.34068E-8
0.5, 1.36416E-7
0.55, 2.18504E-7
0.6, 4.51033E-7
0.65, 1.2785E-6
0.7,如何用matlab将已知点连线 4.57114E-6
0.75, 1.70904E-5
0.8, 5.62476E-5
0.85, 1.45646E-4
0.9, 2.93975E-4
0.95, 4.91251E-4
1, 7.21464E-4
y轴用的是指数坐标。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论