matlab实验11.docx

上传人:b****6 文档编号:6038223 上传时间:2023-01-03 格式:DOCX 页数:23 大小:163.03KB
下载 相关 举报
matlab实验11.docx_第1页
第1页 / 共23页
matlab实验11.docx_第2页
第2页 / 共23页
matlab实验11.docx_第3页
第3页 / 共23页
matlab实验11.docx_第4页
第4页 / 共23页
matlab实验11.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

matlab实验11.docx

《matlab实验11.docx》由会员分享,可在线阅读,更多相关《matlab实验11.docx(23页珍藏版)》请在冰豆网上搜索。

matlab实验11.docx

matlab实验11

成绩

辽宁工程技术大学上机实验报告

 

实验名称

实验十一回归分析

院系

理学院

专业

信科

班级

姓名

学号

日期

20131121

实验

目的

简述本次实验目的:

1、了解回归分析基本内容

2、掌握用matlab软件求解回归分析问题。

实验

准备

你为本次实验做了哪些准备:

经过看书和看ppt完成了此次实验。

实验

进度

本次共有6个练习,完成6个。

实验

总结

本次实验的收获、体会、经验、问题和教训:

通过本次实验学会了有关回归分析的有关知识,怎么求线性与非线性回归模型,知道了怎么找β系数和置信区间,知道了有关回归分析有关的matlab命令,在实验的过程中遇到了很多的难题,比如怎么观察模型是不是线性的,比如怎么找到最合适的模型,这时通过看书和认真思考学会了怎么做。

本次实验收获了很多,知道了自己的不足,以后还需要勤加训练!

教师

评语

1、考察温度x对产量y的影响,测得下列10组数据:

温度(℃)

20

25

30

35

40

45

50

55

60

65

产量(kg)

13.2

15.1

16.4

17.1

17.9

18.7

19.6

21.2

22.5

24.3

求y关于x的线性回归方程,检验回归效果是否显著,并预测x=42℃时产量的估值及预测区间(置信度95%).

>>x=[20253035404550556065]';

>>X=[ones(10,1)x];

>>y=[13.215.116.417.117.918.719.621.222.524.3]’;

r=

-0.3818

0.4030

0.5879

0.1727

-0.1424

-0.4576

-0.6727

-0.1879

-0.0030

0.6818

rint=

-1.28580.5221

-0.56751.3736

-0.36391.5397

-0.92931.2748

-1.26320.9783

-1.51230.5972

-1.61790.2725

-1.25630.8806

-1.03521.0291

-0.07631.4399

>>corrcoef(x,y)

ans=

1.00000.9910

0.99101.0000

>>[b,bint,r,rint,stats]=regress(y,X)

b=

9.1212

0.2230

bint=

8.021110.2214

0.19850.2476

stats=

0.9821439.83110.00000.2333

置信区间[8.0211,10.2214]

置信区间[0.1985,0.2476]

r2=0.9821F=439.8311p=0.0000p<0.05回归模型:

y=9.1212+0.2230x成立

r2=0.9821接近1回归方程显著

X=42时y=18.4872

2、某零件上有一段曲线,为了在程序控制机床上加工这一零件,需要求这段曲线的解析表达式,在曲线横坐标xi处测得纵坐标yi共11对数据如下:

xi

0

2

4

6

8

10

12

14

16

18

20

yi

0.6

2.0

4.4

7.5

11.8

17.1

23.3

31.2

39.6

49.7

61.7

求这段曲线的纵坐标y关于横坐标x的二次多项式回归方程.(并画出图形)

>>x=[02468101214161820];

>>y=[0.62.04.47.511.817.123.331.239.649.761.7];

X=

100

124

1416

1636

1864

110100

112144

114196

116256

118324

120400

>>[p,S]=polyfit(x,y,2)

p=

0.14030.19711.0105

S=

R:

[3x3double]

df:

8

normr:

1.1097

>>Y=polyconf(x,y,S)

回归模型:

y=0.1403x2+0.1971x+1.0105

>>X=[ones(11,1)x'(x.^2)']

[b,bint,r,rint,stats]=regress(y',X);

>>Y=polyconf(p,x,S)

>>plot(x,y,'k+',x,Y,'r')

Y=

1.01051.96604.04417.244911.568317.014223.582831.274040.087850.024261.0832

3、在研究化学动力学反应过程中,建立了一个反应速度和反应物含量的数学模型,形式为

其中

是未知参数,

是三种反应物(氢,n戊烷,异构戊烷)的含量,y是反应速度.今测得一组数据如下表,试由此确定参数

,并给出置信区间.

的参考值为(1,0.05,0.02,0.1,2).

序号

反应速度y

氢x1

n戊烷x2

异构戊烷x3

1

8.55

470

300

10

2

3.79

285

80

10

3

4.82

470

300

120

4

0.02

470

80

120

5

2.75

470

80

10

6

14.39

100

190

10

7

2.54

100

80

65

8

4.35

470

190

65

9

13.00

100

300

54

10

8.50

100

300

120

11

0.05

100

80

120

12

11.32

285

300

10

13

3.13

285

190

120

解:

>>x1=[470285470470470100100470100100100285285]';

>>x2=[3008030080801908019030030080300190]';

>>x3=[1010120120101065655412012010120]';

>>x=[x1x2x3];

>>y=[8.553.794.820.022.7514.392.544.3513.008.500.0511.323.13]';

>>f=@(beta,x)(beta

(1).*x(:

2)-(1/beta(5)).*x(:

3)).*((1+beta

(2).*x(:

1)+beta(3).*x(:

2)+beta(4).*x(:

3))).^(-1);

bint=

0.1254

-0.1508

-0.0823

0.0399

0.1202

0.0702

0.0008

0.3200

-0.0282

0.1270

0.0891

-0.1619

-0.2862

>>beta0=[10.050.020.12]';

>>opt=optimset('TolFun',1e-3,'TolX',1e-3);

>>[beta,bint]=nlinfit(x,y,f,beta0,opt)

beta=

1.1292

0.0566

0.0357

0.1018

1.3160

得到beta的拟合值及95%的置信区间

 

4、混凝土的抗压强度随养护时间的延长而增加,现将一批混凝土作成12个试块,记录了养护日期x(日)及抗压强度y(kg/cm2)的数据:

养护时间x

2

3

4

5

7

9

12

14

17

21

28

56

抗压强度y

35

42

47

53

59

65

68

73

76

82

86

99

试求

型回归方程.

对将要拟合的非线性模型

,建立M文件volum.m如下

>>x=[234579121417212856];

>>y=[354247535965687376828699];

>>beta0=[51]';

>>[beta,r,J]=nlinfit(x',y','volum',beta0);

beta=

21.0053

19.5287

functionyhat=volum(beta,x)

yhat=beta

(1)+beta

(2)*log(x);

 

即得回规模型为

5、下表给出了某工厂产品的生产批量与单位成本(元)的数据,从散点图,可以明显的发现,生产批量在500以内时,单位成本对生产批量服从一种线性关系,生产批量超过500时服从另一种线性关系,此时单位成本明显下降。

希望你构造一个合适的回归模型全面地描述生产批量与单位成本的关系。

生产批量

650

340

400

800

300

600

720

480

440

540

750

单位成本

2.48

4.45

4.52

1.38

4.65

2.96

2.18

4.04

4.20

3.10

1.50

记生产批量x1<500时,单位成本为y1,生产批量x2>500时,单位成本为y2。

为了大致地分析y与x的关系,首先利用表中表中数据分别作出y1对x1和y2对x2的散点图。

由图像可知两段程线性关系,所以做以下程序:

两段直线,x小于500时:

r=

-0.0831

0.1728

-0.0070

-0.0594

-0.0233

rint=

-0.40610.2399

0.05530.2902

-0.29510.2811

-0.32850.2097

-0.39810.3514

>>x1=[340,400,300,480,440]';

>>y1=[4.45,4.52,4.65,4.04,4.20]';

>>X=[ones(size(x1))x1];

>>[b,bint,r,rint,stats]=regress(y1,X)

b=

5.5863

-0.0031

bint=

4.57436.5983

-0.0056-0.0006

stats=

0.833214.98680.03050.0136

>>stepwise(X,y1,[1,2])

回归模型:

y=5.5863-0.0031x

>>rcoplot(r,rint)

从结果可以看出,应将第二个点去掉后再进行拟合;

两段直线,x大于500时:

r=

0.0222

-0.0028

0.1439

0.2239

-0.1460

-0.2411

rint=

-0.53980.5843

-0.44940.4437

-0.32720.6151

-0.19910.6469

-0.48740.1953

-0.60150.1192

>>x2=[650,800,600,720,540,750]';

>>y2=[2.48,1.38,2.96,2.18,3.10,1.50]';

>>X=[ones(size(x2))x2];

>>[b,bint,r,rint,stats]=regress(y2,X)

b=

7.1158

-0.0072

bint=

5.43168.8000

-0.0096-0.0047

stats=

0.942065.01530.00130.0377

回归模型:

y=7.1158-0.0072x

>>stepwise(X,y2,[1,2])

>>rcoplot(r,rint)

由图可知,数据无异常点。

若直接考虑全组数据,对整个11组数据直接拟合。

整组数据:

>>x1=[650,340,400,800,300,600,720,480,440,540,750]';

>>y1=[2.48,4.45,4.52,1.38,4.65,2.96,2.18,4.04,4.20,3.10,1.50]';

r=

-0.0202

-0.2334

0.2592

-0.0638

-0.3151

0.1077

0.1728

0.3426

0.2209

-0.1749

-0.2959

rint=

-0.57460.5343

-0.71650.2498

-0.24200.7603

-0.55390.4264

-0.74250.1123

-0.44880.6642

-0.34210.6877

-0.14720.8324

-0.30380.7456

-0.72340.3737

-0.75910.1673

>>X=[ones(size(x1))x1];

>>[b,bint,r,rint,stats]=regress(y1,X)

b=

7.0779

-0.0070

bint=

6.48457.6713

-0.0081-0.0060

stats=

0.9631234.89360.00000.0612

回归模型:

y=7.10779-0.0070x

>>stepwise(X,y1,[1,2])

>>rcoplot(r,rint)

我们已经可以发现整组数据本身就服从置信度较高的线性关系。

但是题目却仍然告诉我们:

生产批量在500以内时,单位成本对生产批量服从一种线性关系,生产批量超过500时服从另一种线性关系。

于是我们开始考虑再引入一个虚拟变量A。

并加入一项

再次进行拟合。

>>y=[2.48004.45004.52001.38004.65002.96002.18004.04004.20003.10001.5000]';

>>x=[11111111111

650340400800300600720480440540750

1500030001002200040250]';

r=

-0.0632

-0.1036

0.2502

0.0904

-0.0929

-0.0010

0.2218

0.1487

0.1194

-0.3624

-0.2074

rint=

-0.54190.4156

-0.52030.3130

-0.17020.6706

-0.29250.4733

-0.43030.2446

-0.47620.4742

-0.19790.6416

-0.26630.5637

-0.33770.5766

-0.6734-0.0515

-0.61120.1964

>>[b,bint,r,rint,stats]=regress(y,x)

b=

6.1621

-0.0047

-0.0036

bint=

5.03687.2874

-0.0074-0.0020

-0.00760.0003

stats=

0.9763164.71430.00000.0443

>>stepwise(x,y,[1,2,3])

能高达97.63%。

是所有模型中准确度最高的。

6、一矿脉有13个相邻样本点,人为设定一个原点,现测得各样本点对原点的距离x,与该样本点某种金属含量y的一组数据如下,画出散点图观察二者的关系,试建立合适的回归模型,如二次曲线,双曲线,对数曲线等.

x

2

3

4

5

7

8

10

y

106.42

109.20

109.58

109.50

110.00

109.93

110.49

x

11

14

15

15

18

19

y

110.59

110.60

110.90

110.76

111.00

111.20

>>x=[23457810111415151819];

>>y=[106.42109.20109.58109.50110.00109.93110.49110.59110.60110.90110.76111.00111.20];

rint=

-2.5001-1.8727

-1.14571.9846

-0.94012.1906

-1.26042.0026

-1.12832.1739

-1.41311.9704

-1.18822.1688

-1.27002.1023

-1.77171.5790

-1.62591.6849

-1.76421.5433

-1.92891.1429

-1.86191.1276

>>plot(x,y)

排除第一个点,很明显成线性关系,采用一元线性回归分析:

>>x=[23457810111415151819];

>>y=[106.42109.2109.58109.5110109.93110.49110.59110.6110.9110.76111111.2];

>>X=[ones(size(x')),x'];

r=

-2.1864

0.4194

0.6253

0.3711

0.5228

0.2786

0.4903

0.4162

-0.0963

0.0295

-0.1105

-0.3930

-0.3671

>>[c,cint,r,rint,stats]=regress(y',X,0.05);

c=

108.2581

0.1742

cint=

107.2794109.2367

0.08910.2593

stats=

0.648420.28660.00090.5965

回归模型:

y=108.2581+0.1742x

>>rcoplot(r,rint)

若将第一个点去掉,重复上述操作,输出结果;

>>x=[3457810111415151819];

>>y=[109.2109.58109.5110109.93110.49110.59110.6110.9110.76111111.2];

>>X=[ones(size(x')),x'];

rint=

-0.50230.0735

-0.28710.3864

-0.47570.1833

-0.22540.4695

-0.42380.2962

-0.04610.5749

-0.06950.5666

-0.44420.2660

-0.25450.4445

-0.40000.3100

-0.46690.1616

-0.38800.2510

r=

-0.2144

0.0497

-0.1462

0.1220

-0.0638

0.2644

0.2485

-0.0891

0.0950

-0.0450

-0.1526

-0.0685

>>[c,cint,r,rint,stats]=regress(y',X,0.05);

c=

109.0668

0.1159

cint=

108.8264109.3072

0.09580.1360

stats=

0.9428164.80600.00000.0267

回归模型:

y=109.0668+0.1159x

>>rcoplot(r,rint)

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

当前位置:首页 > 自然科学

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

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