导航:首页 > 数据处理 > 如何利用大量数据来拟合函数

如何利用大量数据来拟合函数

发布时间:2023-01-30 01:55:28

Ⅰ 谁能教教我怎么把大量数据拟合成一个比较复杂的函数

拟合函数是用于曲线拟合的函数。如果您知道y和x有关,但不知道是什么关系,只能通过实验得到一组数据,如x=x1时y=y1,x=x2时y=y2,...这里(x1,y1)、(x2,y2)、...都是实验结果,您就可以在直角坐标系中画出各点,描点可得两者的关系曲线。根据曲线的形状您可以选择一个函数,如果类似于直线那就简单了,如果是弯曲的可以选择y是x的多项式函数,如y=a*x*x*x+b*x*x+c*x+d等等,也可以是其他形式的函数类型,然后利用最小二乘法或其他拟合方法求出系数a,b,c,d等,即可得到y和x的关系,这个过程就是曲线拟合,这个函数就是拟合函数。由于实验有误差,选择的函数也不一定就很合适,拟合出来的函数一般难以准确通过各点,但可以离各点尽量近,从而近似地表示y和x的关系。

Ⅱ 求急!!用MATLAB对大量的离散数据进行拟合,哪种拟合方法的精确度比较高

这主要看数据的拟合趋势,是线性关系的,还是非线性关系的。对于线性关系的,可以用regress()函数;非线性关系的,可以用lsqcurvefit()函数或nlinfit()函数。

Ⅲ 简述实验数据及模型参数的拟合方法

(1) 简述实验数据及模型参数拟合方法,并举2个例子。
答:实验数据拟合方法:试验测得的数据常常是一组离散型序列,含有不可避免的误差,或者无法同时满足某特定的函数,那么我们用所逼近函数ψ(x)最优的靠近样点,此法称为拟合函数。
模型参数拟合方法:在某一反应工程实验中,对测得的某一组数据,采用不同的模型去拟合实验数据,求出最佳的模型和模拟参数。
举例:线性拟合函数和二次拟合函数。
(2) 线性拟合和二次拟合函数之间的异同点。
线性拟合:给定一组数据(xi,yi),i=1,2,···,m作拟合直线p(x)=a0+a1x;
二次拟合:给定数据排列(xi,yi),i=1,2,···,m,用二次多项式函数p(x)=a0+a1x+a2x2拟合各组数据。
相同点:二者都是Q与Y之间误差最小原则作为最优标准的逼近函数,二者都用于离散型函数组的拟合,二者都用于单变量函数拟合。
不同点:线性拟合构造的函数为二次函数,二次拟合构造的函数为二次函数。
(3) 什么是矛盾方程组,其如何求解。
答:一般情况下,当方程数n多于变量数m,且m个方程之间线性不相关,则方程组无解,这时方程组称为矛盾方程组。方程组在一般意义下无解,也即无法找到n个变量同时满足m个方程。这种情况和拟合曲线无法同时满足所有的实验数据点相仿,故可以通过求解均方误差min||AX-Y)||22­极小意义下矛盾方程的解来换取拟合曲线。由数学知识还可以证明,方程组ATAX=ATY的解是矛盾方程组AX=Y在最小二乘法下的解。
(4) 什么叫非线性方程求解,试举出五个以上方法。
答:对于一般的非线性方程f(x)=0,通常其根不止一个,求解月无法确定的方法,而任何一种方法,只能算出一个根。因此,在求解非线性方程式,要给定初始值或求解范围。采用相应的方法求解方程f(x)=0的根叫做非线性方程求解。
方法:对分法、直接迭代法、松弛迭代法、牛顿迭代法、割线法。

Ⅳ 使用matlab软件,大量的离散数据进行数据拟合,如何把多组参数的拟合曲线放在一个图上进行比较

你可以直接在命令窗口下执行就行了。
x1=[....],y1=[....]
x2=[....]],y2=[....]
x3=[....]],y3=[....]
。。。。。
plot(x1,y1,x2,y2,x3,y3,.........),grid on

Ⅳ 在EXCEL中如何使用指数函数,幂函数,对数函数拟合一组数据

1、框选数据——散点图——点击图片上的点——右击,添加趋势线,就有各种函数的拟合方式。

2、用Excel,输入数据后,选定数据,然后点击“插入”,找到“散点图”,画出散点图,选中散点图的曲线(没趋势线的就选择点),右键,“添加趋势线”或“设置趋势线格式”,可以看见有不同的拟合可以选择。选中某个后,可以勾选“显示公式”以及“显示R的平方”,可以查看公式以及拟合程度。

Ⅵ matlab数据太多怎么拟合曲线

一、 单一变量的曲线逼近
Matlab有一个功能强大的曲线拟合工具箱
cftool ,使用方便,能实现多种类型的线性、非线
性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。
假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。
1、在命令行输入数据:

》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908
280.0447
296.204 311.5475]

》y=[5 10 15 20 25 30 35 40 45 50]

2、启动曲线拟合工具箱
》cftool

3、进入曲线拟合工具箱界面逗Curve Fitting
tool地
(1)点击逗Data地按钮,弹出逗Data地窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名逗Data set
name地,然
后点击逗Create data set地按钮,退出逗Data地窗口,返回工具箱界面,这时会自动画出数
据集的曲线图;
(3)点击逗Fitting地按钮,弹出逗Fitting地窗口;
(4)点击逗New fit地按钮,可修改拟合项目名称逗Fit name地,通过逗Data
set地下拉菜单
选择数据集,然后通过下拉菜单逗Type of fit地选择拟合曲线的类型,工具箱提供的拟合类
型有:
Custom
Equations:用户自定义的函数类型
Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) +
c*exp(d*x)
Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) +
b1*sin(x*w)
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种类型,a*x^b 、a*x^b + c
Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic
~、4-5th
degree ~;此外,分子还包括constant型
Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)
Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x +
c1)
Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)
选择好所需的拟合曲线类型及其子类型,并进行相关设置:
——如果是非自定义的类型,根据实际需要点击逗Fit options地按钮,设置拟合算法、修改
待估计参数的上下限等参数;
——如果选Custom
Equations,点击逗New地按钮,弹出自定义函数等式窗口,有逗Linear
Equations线性等式地和逗General Equations构造等式地两种标签。
在本例中选Custom Equations,点击逗New地按钮,选择逗General
Equations地标签,输入函
数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。
(5)类型设置完成后,点击逗Apply地按钮,就可以在Results框中得到拟合结果,如下例:
general model:
f(x) = a*x*x+b*x
Coefficients (with 95% confidence bounds):
a = 0.009194 (0.009019, 0.00937)
b = 1.78e-011 (fixed at bound)
Goodness of fit:
SSE: 6.146
R-square: 0.997
Adjusted R-square: 0.997
RMSE: 0.8263
同时,也会在工具箱窗口中显示拟合曲线。
这样,就完成一次曲线拟合啦,十分方便快捷。当然,如果你觉得拟合效果不好,还可以在逗
Fitting地窗口点击逗New fit地按钮,按照步骤(4)~(5)进行一次新的拟合。
不过,需要注意的是,cftool 工具箱只能进行单个变量的曲线拟合,即待拟合的公式中,变
量只能有一个。对于混合型的曲线,例如 y = a*x + b/x ,工具箱的拟合效果并不好。

Ⅶ MATLAB多组数据如何进行拟合

要兼顾三组数据,在试验条件不变的情况下,可对三组数据取平均值后再拟合。
如:a1=[x1,y1];a2=[x2,y2];a3=[x3,y3];假设x1,x2,x3,y1,y2,y3是列向量且元素个数相等,
x=mean([x1,x2,x3],2);
y=mean([y1,y2,y3],2);
a=[x,y];
再对x,y进行拟合就可对三组数据都兼顾到了。

Ⅷ MATLAB数据拟合处理大量数据的实例分析

给你用一个一元情况的吧;

>>x=-1:0.2:1;

>>y=[0.841470984807897-0.717356090899523-0.564642473395035-0.3894183423086...

-0.19866933079506100.1986693307950610.389418342308650.564642473395035...0.7173560908995230.841470984807897];

如果要你想拟合成一个2次多元函数

命令为

>>p=polyfit(x,y,2)

就可以得到拟合多项式的系数。

还可以通过做出原图和拟合后的效果图,见图1,就可以比较拟合效果,命令如下:

>>fval=polyval(p,x);

>>plot(x,fval),holdon

>>plot(x,y),holdoff

当然还有一个更为实用的方法,就是直接的应用命令polytool;

>>polytool(x,y,n)

n是你想最高次拟合为多少,如果是5,就输入>>polytool(x,y,5)

得到的是一个含有偏差的拟合效果图,其中图形中的degree代表可以改变拟合次数。见图2

Ⅸ 如何将函数与数据拟合

可以用k次多项式拟合。运行步骤如下:
x=[。。。];
y=[。。。];
p=polyfit(x,y,2) %y=p1*x^2+p2*x+p3
xi=[。。。]
yi=polyval(p,xi)
plot(x,y,'o',xi,yi) %绘图,查看拟合效果
ok

Ⅹ 怎么用matlab进行数据的多元拟合

如何用matlab进行数据的多元函数拟合?

1、拟合前,我们应准备x1,x2,x3,。。。,y的一系列数据

2、将x1,x2,x3,。。。数据赋值给X变量

3、自定义多元函数拟合函数,如func=@(a,x)a(1)*x1+a(2)*x2+a(3)*x3+a(4),a为拟合系数

4、初定a的初始值,如a0=[0,0,0,0] %其个数必须与拟合显示对应

5、利用nlinfit或lsqcurvefit函数,求其拟合系数。如

[a,r,J]=nlinfit(X,y,func,a0)

这里,a为拟合系数;r为残差;J为Jacobian 矩阵

6、利用nlparci函数,求得拟合系数的置信区间,即

ci = nlparci(p,r,J)

7、计算拟合值,即 yi=func(a,x)

8、计算原数据与拟合数据的相关性,如R²≈1,则认为拟合是合理的。

阅读全文

与如何利用大量数据来拟合函数相关的资料

热点内容
查绝经的6项指标数据是哪些 浏览:935
长沙科技职业技术学院多少分才能进 浏览:314
如何放大在电脑微信里的小程序 浏览:227
sps数据年龄怎么分 浏览:852
哪些v8车型有闭缸技术 浏览:569
厅级信息中心是什么级别 浏览:439
天津杏花村汾酒怎么代理 浏览:535
如何查询浙江造价信息网里的信息 浏览:540
苹果快捷指令发信息为什么收不到 浏览:436
菜市场鸡档旁边可卖什么不影响 浏览:1263
延安葡萄酒代理有哪些 浏览:402
大润发生鲜区的定义指哪些产品 浏览:968
excel如何制作多项目数据图 浏览:682
宁德师范学院什么时候出录取信息 浏览:1074
如何退出轻快司机程序 浏览:641
产品流光怎么拍 浏览:514
网站上上传的信息如何排序 浏览:566
学生登记表页面设置数据是多少 浏览:1195
企业代理开户的银行卡怎么激活 浏览:1090
长治有什么古玩市场 浏览:989