早教吧作业答案频道 -->其他-->
关于用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'));

如果是正态分布
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');

其中得到的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'));

如果是正态分布
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');

其中得到的p是有3个数的向量
函数形式是
p(1)*exp(-(x-p(2)).^2./2/p(3)^2)
p(1)是幅度,p(2)是中心横坐标,p(3)是标准差
看了 关于用MATLAB拟合一组数...的网友还看了以下:
下面这些哪一个是正确的在数轴上,零的对应点就是数轴的原点.在数轴上,与原点左右相邻的点表示的数就是 2020-05-21 …
18是9的倍数,27也是9的倍数.18和27的和是9的倍数吗?你发现了什么?只要回答你发现了什么就 2020-06-08 …
18是9的倍数,9是3的倍数,18是3的倍数.24是12的倍数,12是4的倍数,24是4的倍数.你 2020-06-09 …
log以18为底的对数18+log以18为底2的对数怎么变化成2-log以18为底9的对数详细过程 2020-06-10 …
25的因数?18的因数?24的因数?42的因数、16的因数、10的因数、35的因数、17的因数、3 2020-06-13 …
有理数是稠密的,在数轴上表示是一条直线,而实数对应数轴也是直线,那么无理数是怎么插进去的? 2020-06-27 …
求函数y=(x-1)(x-2).(x-100)(x>100)的导数18分钟前提问者:匿名|浏览次数 2020-07-16 …
matlab中由一维数组X,Y绘制的图像,如何确定图中某一点对应元素在数组中的位置如图所示,如何知 2020-08-03 …
甲、乙两支同样的温度计如图所示放置,如果向左移动甲温度计,使其度数5正对着乙温度计的度数-18,那么 2020-11-17 …
在数轴上下列说法中不正确的是。两个有理数,绝对值大的离原点远。两个有理数,大的在数轴的右边。 2020-11-19 …