数据拟合实验举例及程序Word下载.docx

上传人:b****5 文档编号:18309542 上传时间:2022-12-15 格式:DOCX 页数:12 大小:106.13KB
下载 相关 举报
数据拟合实验举例及程序Word下载.docx_第1页
第1页 / 共12页
数据拟合实验举例及程序Word下载.docx_第2页
第2页 / 共12页
数据拟合实验举例及程序Word下载.docx_第3页
第3页 / 共12页
数据拟合实验举例及程序Word下载.docx_第4页
第4页 / 共12页
数据拟合实验举例及程序Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据拟合实验举例及程序Word下载.docx

《数据拟合实验举例及程序Word下载.docx》由会员分享,可在线阅读,更多相关《数据拟合实验举例及程序Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

数据拟合实验举例及程序Word下载.docx

s=polyval(p,t);

s1=polyval(p1,t);

holdon

plot(t,s,'

k-'

linewidth'

2)

k--'

grid;

 

例题2已知观测数据

1345678910

1054211234

求一代数多项式曲线,使其最好地拟合这组给定数据。

(1)画出数据分布趋势图

>

xi=[1345678910];

yi=[1054211234];

plot(xi,yi,'

o'

(2)建立数学模型y=a2x^2+a1x+a0建立超定方程组系数矩阵

A=[ones(size(xi));

xi;

xi.^2]'

A=

111

139

1416

1525

1636

1749

1864

1981

110100

(3)求超定方程组的最小二乘解

a=A\yi'

a=

13.4597

-3.6053

0.2676

(4)求拟合曲线方程

b=[0.2376-3.605313.4597]

b=

0.2376-3.605313.4597

y=poly2str(b,'

x'

y=

0.2376x^2-3.6053x+13.4597

f2=polyval(flipud(a),xi);

bo'

xi,f2,'

r-'

(5)用方程y=ax^b拟合

x=[ones(size(xi));

log(xi)];

aa=x'

\log(yi)'

aa=

2.1257

-0.6913

yy=exp(2.1257)*xi.^(-0.6913);

xi,yy,'

r--'

b-'

例题3已知观测数据

用polyfit命令作拟合直线并计算偏差。

fprintf('

ix(i)y(i)y=c_1x+c_2偏差\n'

);

fori=1:

6

x=[0.10.40.50.70.70.9];

y=[0.610.920.991.521.472.03];

c=polyfit(x,y,1);

error=y(i)-(c

(1)*x(i)+c

(2));

%2d%2.1f%5.2f%10.4f%10.5f\n'

i,x(i),y(i),c

(1)*x(i)+c

(2),error);

end

ix(i)y(i)y=c_1x+c_2偏差

10.10.610.46260.14738

20.40.920.9920-0.07198

30.50.991.1684-0.17844

40.71.521.5214-0.00135

50.71.471.5214-0.05135

60.92.031.87430.15574

ix(i)y(i)y=c_1x^2+c_2x+c_3偏差\n'

c=polyfit(x,y,2);

error=y(i)-(c

(1)*(x(i))^2+c

(2)*x(i)+c(3));

i,x(i),y(i),c

(1)*(x(i))^2+c

(2)*x(i)+c(3),error);

二、函数线性组合曲线拟合法

例6.8用函数

拟合下面的数据,并作出图形。

1234567891

0.10.20.30.40.50.60.70.80.91

0.00002.12203.02443.25683.13992.85792.51402.16391.8358

编写命令M文件chap5_2如下

在命令窗口调用chap5_2:

data=[0.10000.0000;

0.20002.1220;

0.30003.0244;

0.40003.2568;

0.50003.1399;

0.60002.8579;

0.70002.5140;

0.80002.1639;

0.90001.8358];

x=data(:

1);

y=data(:

2);

A(:

1)=ones(size(x));

A(:

2)=x;

3)=sin(pi*x);

4)=sin(2*pi*x);

C=A\y

xx=0:

g=c

(1)*ones(size(xx))+c

(2)*xx+c(3)*sin(pi*xx)+c(4)*sin(2*pi*xx);

xx,g,'

C=

-1.8576

3.8144

3.2419

1.0941

g=-1.8576*ones(size(xx))+3.8144*xx+3.2419*sin(pi*xx)+1.0941*sin(2*pi*xx);

实验问题

1971年到1990年各年我国人口数的统计数据如下表:

表我国人口的统计数字(单位:

亿)

年份

1971

1972

1973

1974

1975

1976

1977

1978

1979

1980

统计

8.523

8.718

8.921

9.086

9.242

9.372

9.497

9.626

9.754

9.871

1981

1982

1983

1984

1985

1986

1987

1988

1989

1990

10.007

10.165

10.301

10.436

10.585

10.751

10.930

11.103

11.27

11.433

试根据以上数据,建立我国人口增长的近似曲线,并预测2010年我国的人口数量。

实验目的

通过对人口预测问题的分析求解,掌握利用最小二乘法进行数据拟合的基本思想,熟悉寻找最佳方法拟合曲线的方法,掌握人口增长数学模型的思想方法。

clear;

clf

t=1971:

1990;

N=[8.5238.7188.9219.0869.2429.3729.4979.6269.7549.871...

10.00710.16510.30110.43610.58510.75110.93011.10311.27011.433];

plot(t,N,'

20);

axis([19712010620]);

pause(0.5)

n=15;

a=sum(t(1:

n));

b=sum(t(1:

n).*t(1:

c=sum(log(N(1:

n)));

d=sum(t(1:

n).*log(N(1:

A=[na;

ab];

B=[c;

d];

p=inv(A)*B

x=1971:

2010;

y=exp(p

(1)+p

(2)*x);

p=

-26.9361

0.0148

N=exp(-26.9361+0.0148t)

任务:

由化学实验得到某物质浓度与时间的关系如下:

时间t

1

2

3

4

5

7

8

浓度y

4.00

6.40

8.00

8.80

9.22

9.50

9.70

9.86

9

10

11

12

13

14

15

16

10.00

10.20

10.32

10.42

10.50

10.55

10.58

10.60

求浓度与时间的二次拟合曲线。

运行及结果显示:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1