关于用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上的具体操作
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/21 19:01:25
![关于用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上的具体操作](/uploads/image/z/2476970-26-0.jpg?t=%E5%85%B3%E4%BA%8E%E7%94%A8MATLAB%E6%8B%9F%E5%90%88%E4%B8%80%E7%BB%84%E6%95%B0%E6%8D%AE%2C%E5%BE%97%E5%88%B0%E5%87%BD%E6%95%B0%E7%9A%84%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%88%91%E7%9A%84%E6%95%B0%E6%8D%AE%E6%98%AFx%3D%5B9%2C11%2C13%2C15%2C17%2C19%2C21%2C23%2C25%2C27%2C29%2C31%2C33%2C35%2C37%2C39%5D%2Cy%3D%5B9%2C12%2C18%2C21%2C12%2C26%2C29%2C36%2C50%2C101%2C192%2C245%2C233%2C117%2C28%2C9%5D%E8%AF%B7%E9%97%AE%E5%85%B7%E4%BD%93%E6%80%8E%E4%B9%88%E5%BE%97%E5%88%B0x%E4%B8%8Ey%E7%9A%84%E5%87%BD%E6%95%B0%E5%85%B3%E7%B3%BB%2C%E5%9C%A8MATLAB%E4%B8%8A%E7%9A%84%E5%85%B7%E4%BD%93%E6%93%8D%E4%BD%9C)
关于用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也可以,只要能得到他们的关系,
关于用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上的具体操作
这个太难了,或者说是有太多的不确定性
因为连一个大概的函数形式都没有给出来
也就是说可能性太多,这组数据可以拟合出无数多种函数结果
如果什么函数形式都不给出的话,或者用多项式拟合吧
下面是尝试用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)是标准差