如何在MATLAB中根据有限的数据点得到函数
悬赏分:100 | 提问时间:2010-5-24 07:28 | 提问者:aptxyuchen
如何在MATLAB中根据有限的数据点得到函数
推荐答案
可以用多项式拟合方法做到,你可以通过实验得到拟合最好的阶数。但是,如果你将阶数本身设的比较大的话,大多数曲线都可以很好的拟合出来。
数据拟合:
  MATLABNAG Foundation Toolbox中也有一些曲面拟合函数,如e02daf是最小二乘平方曲面拟合函数,e02def可求出曲面拟合的函数值。 
    有关曲面拟合的基本原理参见有关数值分析的书籍,这里不再多说。 
    注:关于在MATLABNAG Foundation Toolbox中的函数形式、说明以及应用例子可以查
阅帮助信息。例如,键入help e02daf便会出现函数e02daf的较详细说明。在函数末尾加e便是应用的例子,如键入type e02daf,会显示函数e02daf的应用例子程序,键入e02daf,则运行该程序,并显示其计算结果。 
  MATLAB软件提供了基本的曲线拟合函数的命令. 
  多项式函数拟合:a=polyfit(xdata,ydata,n) 
  其中n表示多项式的最高阶数,xdataydata为将要拟合的数据,它是用数组的方式输入.输出参数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)计算. 
    例如已知函数形式 ,并且已知数据点 要确定四个未知参数abcd  使用curvefit命令,数据输入 ;初值输 ;并且建立函数 M文件(Funm).若定义 ,则输出  又如引例的求解,MATLAB程序:  t=[l16] %数据输人  y=[ 4 64 8 84 928 95 97 986 102 1032 1042 105 1055 1058 106]   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
新手呀。。拟合图像已经做出来了 函数中常量abc....也知道,有没有直接输出函数的办法??
最佳答案
你是用什么拟合的
要是多项式拟合的就用 p是拟合的结果
f=poly2sym(p)
f=
3*x^5+5*x^4+x^2+12
要是用lsqcurvefit 你就在用subs把结果带入函数就好了
matlab用隐函数拟合的程序怎么编写
悬赏分:100 | 解决时间:2009-5-27 16:06 | 提问者:liusy3132
试验测试得到xy数据。
现在想通过用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对数据进行拟合。得到参量I1I2ILRsRshn1n2的数值。
请高手帮忙。
先谢谢了。
问题补充:
自变量x01,每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小时内删除。