早教吧作业答案频道 -->其他-->
关于用MATLAB拟合一组数据,得到函数的表达式我的数据是x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39],y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9]请问具体怎么得到x与y的函数关系,在MATLAB上的具体操作
题目详情
关于用MATLAB拟合一组数据,得到函数的表达式
我的数据是x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39],
y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9]
请问具体怎么得到x与y的函数关系,在MATLAB上的具体操作步骤.或者不用MATLAB也可以,只要能得到他们的关系,
我的数据是x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39],
y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9]
请问具体怎么得到x与y的函数关系,在MATLAB上的具体操作步骤.或者不用MATLAB也可以,只要能得到他们的关系,
▼优质解答
答案和解析
这个太难了,或者说是有太多的不确定性
因为连一个大概的函数形式都没有给出来
也就是说可能性太多,这组数据可以拟合出无数多种函数结果
如果什么函数形式都不给出的话,或者用多项式拟合吧
下面是尝试用11次多项式拟合你的数据
x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39];
y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9];
p=polyfit(x,y,11);
xx=linspace(9,39,100);
yy=polyval(p,xx);
plot(x,y,'o');hold on
plot(xx,yy,'r');hold off
legend('数据','拟合','location','northwest');
title(poly2str(p,'x'));
![](https://www.zaojiaoba.cn/2016-08/13/1471086381.jpg)
如果是正态分布
x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39];
y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9];
fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);
p=nlinfit(x,y,fun,[250 32 10]);
xx=linspace(9,39,100);
yy=fun(p,xx);
plot(x,y,'o');hold on
plot(xx,yy,'r');hold off
legend('数据','拟合','location','northwest');
![](https://www.zaojiaoba.cn/2016-08/13/1471086382.jpg)
其中得到的p是有3个数的向量
函数形式是
p(1)*exp(-(x-p(2)).^2./2/p(3)^2)
p(1)是幅度,p(2)是中心横坐标,p(3)是标准差
因为连一个大概的函数形式都没有给出来
也就是说可能性太多,这组数据可以拟合出无数多种函数结果
如果什么函数形式都不给出的话,或者用多项式拟合吧
下面是尝试用11次多项式拟合你的数据
x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39];
y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9];
p=polyfit(x,y,11);
xx=linspace(9,39,100);
yy=polyval(p,xx);
plot(x,y,'o');hold on
plot(xx,yy,'r');hold off
legend('数据','拟合','location','northwest');
title(poly2str(p,'x'));
![](https://www.zaojiaoba.cn/2016-08/13/1471086381.jpg)
如果是正态分布
x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39];
y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9];
fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);
p=nlinfit(x,y,fun,[250 32 10]);
xx=linspace(9,39,100);
yy=fun(p,xx);
plot(x,y,'o');hold on
plot(xx,yy,'r');hold off
legend('数据','拟合','location','northwest');
![](https://www.zaojiaoba.cn/2016-08/13/1471086382.jpg)
其中得到的p是有3个数的向量
函数形式是
p(1)*exp(-(x-p(2)).^2./2/p(3)^2)
p(1)是幅度,p(2)是中心横坐标,p(3)是标准差
看了 关于用MATLAB拟合一组数...的网友还看了以下:
(Δt+t)扩起来的2次方等于多少?我知道(a+b)的平方等于a方+b方+2ab那么(Δt+t)扩 2020-06-17 …
老师,我的线代基础比较差,是关于您对一个题目给出的解答的.题:设A是n阶矩阵,A=E+xy^T,x 2020-06-19 …
如图,已知点A,B是椭圆x^2/a^2+y^2/b^2=1(a>b>0)的两个顶点,若点C(t,t 2020-06-21 …
设A={a1,a2,a3}是由三个不同元素组成的集合,且T是A的子集组成的集合,满足性质:空集和A 2020-06-22 …
如果下面的DNA双螺旋从左向右进行转录,指出那条链是编码链.并写出转录产物的顺序?5’-A-T-C 2020-06-26 …
设A是n阶矩阵,A=E+xy^T,x与y都是n*1矩阵,且x^T*y=2,求A的特征值、特征向量易 2020-06-30 …
|E-A|=|AA^T-A|=|A(A^T-E^T)|,其中A是转置矩阵,为什么这里E也要跟着转置 2020-07-09 …
针对程序段:IF(A||B||C)THENW=W/X,对于(A,B,C)的取值,(57)测试用例能 2020-07-10 …
变限积分[a,b]上的积分∫[f(x+h)-f(x)]dx令x+h=t,那原式=∫[a+h,b+h 2020-07-11 …
关于矩阵?设A为n阶可逆矩阵,下列()恒正确?A.(2A)^T=2A^TB.(2A)^-1=2A^ 2020-07-11 …