用matlab拟合一组数据,要求得出函数表达式

数据如下x=1.0962.1933.2894.3855.4816.5777.6738.7699.86510.96112.05713.15314.24915.34516.4... 数据如下
x= 1.096

2.193

3.289

4.385

5.481

6.577

7.673

8.769

9.865

10.961

12.057

13.153

14.249

15.345

16.441

17.537

18.633

19.729

20.825

21.921

23.017

24.113

25.209

26.305

27.401

28.497

29.593

30.689

31.785

32.881

33.977

35.073

36.169

37.265

38.361

39.457
y=
2.15

2.27

2.49

2.73

3.02

3.3

3.57

3.88

4.22

4.57

4.88

5.2

5.48

5.75

5.97

6.17

6.27

6.32

6.27

6.17

6

5.77

5.5

5.23

4.9

4.58

4.27

3.95

3.62

3.32

2.98

2.7

2.48

2.3

2.17

2.13
展开
 我来答
PeriShare
推荐于2017-12-16 · 分享PD理论最新研究成果和进展
PeriShare
采纳数:2408 获赞数:36827

向TA提问 私信TA
展开全部

你好!以下是拟合代码和拟合结果:

clc;clear all
x=[1.096 2.193 3.289 4.385 5.481 6.577 7.673 8.769...
    9.865 10.961 12.057 13.153 14.249 15.345 16.441...
    17.537 18.633 19.729 20.825 21.921 23.017 24.113...
    25.209 26.305 27.401 28.497 29.593 30.689 31.785...
    32.881 33.977 35.073 36.169 37.265 38.361...
    39.457];
y=[2.15 2.27 2.49 2.73 3.02 3.3 3.57 3.88 4.22 4.57...
    4.88 5.2 5.48 5.75 5.97 6.17 6.27 6.32 6.27...
    6.17 6 5.77 5.5 5.23 4.9 4.58 4.27 3.95 3.62...    
    3.32 2.98 2.7 2.48 2.3 2.17 2.13];
p=polyfit(x,y,4);%四次拟合
plot(x,y,'r--')
hold on
y1=polyval(p,x);%得出拟合结果
plot(x,y1,'b-')
xlabel('x')
ylabel('y')
legend('拟合前','拟合后')

追问
大神请收下我的膝盖
zengyan0104
2018-04-13 · TA获得超过1.1万个赞
知道小有建树答主
回答量:21
采纳率:0%
帮助的人:5550
展开全部

用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可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
木生子识时务
2016-05-02 · 知道合伙人软件行家
木生子识时务
知道合伙人软件行家
采纳数:455 获赞数:1968
现在浙江大学学习,对电脑网络,软件应用有过全面系统的学习。

向TA提问 私信TA
展开全部
至少给一个拟合的类型吧,是多项式拟合还是其他什么拟合?
追问
多项式拟合
追答

那你看楼下的吧,基本就是他那个代码。主要命令就是 ployfit 和 polyval。如果你要更深入了解这两个命令,使用下面的命令看用法即可。

doc polyfit;
doc polyval;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式