用matlab拟合一组数据,函数的表达式是什么?

 我来答
zengyan0104
2018-01-10 · TA获得超过1.1万个赞
知道小有建树答主
回答量:21
采纳率:0%
帮助的人:4849
展开全部

用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次多项式举例来拟合你的数据:

1.用多项式拟合

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'));

2.如果是正态分布

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');

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式