Matlab练习1010Word文档下载推荐.docx
- 文档编号:4053113
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:35
- 大小:700.77KB
Matlab练习1010Word文档下载推荐.docx
《Matlab练习1010Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Matlab练习1010Word文档下载推荐.docx(35页珍藏版)》请在冰点文库上搜索。
0.8340
8.r=
9.
1.2056
10.
-3.2331
11.
-0.9524
12.
1.3282
13.
0.8895
14.
1.1702
15.
-0.9879
16.
0.2927
17.
0.5734
18.
1.8540
19.
0.1347
20.
-1.5847
21.
-0.3040
22.
-0.0234
23.
-0.4621
24.
0.0992
25.rint=
26.
-1.2407
3.6520
27.
-5.0622
-1.4040
28.
-3.5894
1.6845
29.
-1.2895
3.9459
30.
-1.8519
3.6309
31.
-1.5552
3.8955
32.
-3.7713
1.7955
33.
-2.5473
3.1328
34.
-2.2471
3.3939
35.
-0.7540
4.4621
36.
-2.6814
2.9508
37.
-4.2188
1.0494
38.
-3.0710
2.4630
39.
-2.7661
2.7193
40.
-3.1133
2.1892
41.
-2.4640
2.6624
42.stats=
43.
0.9282
180.9531
0.0000
1.7437
运行结果解读如下
参数回归结果为
,
对应的置信区间分别为[-33.7017,1.5612]和[0.6047,0.834],
r2=0.9282(越接近于1,回归效果越显著),F=180.9531,p=0.0000,由p<
0.05,
可知回归模型y=-16.073+0.7194x成立
(3)残差分析作残差图
1.rcoplot(r,rint)
从残差图可以看出,除第二个数据外,其余数据的残差离零点均较近,
且残差的置信区间均包含零点,这说明回归模型y=-16.073+0.7194x
能较好的符合原始数据,而第二个数据可视为异常点。
(4)预测及作图
1.z=b
(1)+b
(2)*x
2.plot(x,Y,'
k+'
x,z,'
r'
)
二、多项式回归
一元多项式回归
1、一元多项式回归函数
(1)[p,S]=polyfit(x,y,m)
确定多项式系数的MATLAB命令
x=(x1,x2,…,xn),y=(y1,y2,…,yn);
p=(a1,a2,…,am+1)是多项式y=a1xm+a2xm-1+…+amx+am+1的系数;
S是一个矩阵,用来估计预测误差
(2)polytool(x,y,m)
调用多项式回归GUI界面,参数意义同polyfit
2、预测和预测误差估计
(1)Y=polyval(p,x)
求polyfit所得的回归多项式在x处的预测值Y
(2)[Y,DELTA]=polyconf(p,x,S,alpha)
求polyfit所得的回归多项式在x处的预测值Y及预测值的显著性为1-alpha的置信区间Y±
DELTA,alpha缺省时为0.5
3、实例演示说明
观测物体降落的距离s与时间t的关系,得到数据如下表,求s的表达式(即回归方程s=a+bt+ct2)
t(s)1/302/303/304/305/306/307/30
s(cm)11.8615.6720.6026.6933.7141.9351.13
t(s)8/309/3010/3011/3012/3013/3014/30
s(cm)61.4972.9085.4499.08113.77129.54146.48
解法一:
直接作二次多项式回归
t=1/30:
1/30:
14/30;
s=[11.8615.6720.6026.6933.7141.9351.1361.4972.9085.4499.08113.77129.54146.48];
[p,S]=polyfit(t,s,2)
4.p=
5.
489.2946
65.8896
9.1329
6.S=
R:
[3x3double]
8.
df:
11
normr:
0.1157
故回归模型为
解法二:
化为多元线性回归
T=[ones(14,1)t'
(t.^2)'
];
4.>
[b,bint,r,rint,stats]=regress(s'
T)
5.b=
65.8896
489.2946
9.bint=
9.0614
9.2044
65.2316
66.5476
488.0146
490.5747
13.r=
-0.0129
-0.0302
-0.0148
0.0732
0.0040
0.0474
-0.0165
-0.0078
-0.0363
-0.0222
0.0046
25.
-0.0059
-0.0237
0.0411
28.rint=
-0.0697
0.0439
-0.0956
0.0352
-0.0876
0.0580
0.0182
0.1283
-0.0709
0.0789
-0.0192
0.1139
-0.0894
0.0563
-0.0813
0.0658
-0.1062
0.0335
-0.0955
0.0511
-0.0704
0.0796
-0.0793
0.0675
-0.0904
0.0429
42.
-0.0088
0.0910
43.stats=
44.
1.0e+007*
45.
1.0378
0
0.0000
故回归模型为:
预测及作图
1.Y=polyconf(p,t,S);
2.plot(t,s,'
t,Y,'
多元二项式回归
1、多元二项式回归Matlab命令
rstool(x,y,'
model'
alpha)
输入参数说明:
x:
n*m矩阵;
Y:
n维列向量;
alpha:
显著性水平(缺省时为0.05);
mode:
由下列4个模型中选择1个(用字符串输入,缺省时为线性模型)
2、实例演示说明
设某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,
预测平均收入为1000、价格为6时的商品需求量
需求量10075807050659010011060
收入1000600
1200500300400130011001300300
价格5766875439
选择纯二次模型
1.%直接用多元二项式回归如下
2.x1=[10006001200500300400130011001300300];
3.x2=[5766875439];
4.y=[10075807050659010011060]'
5.x=[x1'
x2'
6.rstool(x,y,'
purequadratic'
在x1对应的文本框中输入1000,X2中输入6,敲回车键,此时图形和相关数据会自动更新
此时在GUI左边的“PredictedY1”下方的数据变为88.47981,表示平均收入为1000、价格为6时商品需求量为88.4791
点击左下角的Export按钮,将会导出回归的相关参数beta、rmse和residuals到工作空间(workspace)
在Export按钮下面可以选择回归类型
在Matlab命令窗口中输入
beta,rmse
复制代码
将得到如下结果
1.beta=
2.
110.5313
0.1464
-26.5709
-0.0001
1.8475
rmse=
4.5362
将上面饿模型转换为多元线性回归
X=[ones(10,1)x1'
(x1.^2)'
(x2.^2)'
[b,bint,r,rint,stats]=regress(y,X);
b,stats
4.
6.
110.5313
-26.5709
-0.0001
12.
13.
14.stats=
15.
0.9702
40.6656
0.0005
20.5771
三、非线性回归
1、非线性回归
[beta,r,J]=nlinfit(x,y,'
modelfun'
beta0)
非线性回归系数的命令
nlintool(x,y,'
beta0,alpha)
非线性回归GUI界面
参数说明
beta:
估计出的回归系数;
r:
残差;
J:
Jacobian矩阵;
x,y:
输入数据x、y分别为矩阵和n维列向量,对一元非线性回归,x为n维列向量;
modelfun:
M函数、匿名函数或inline函数,定义的非线性回归函数;
beta0:
回归系数的初值;
[Y,DELTA]=nlpredci('
x,beta,r,J)
获取x处的预测值Y及预测值的显著性为1-alpha的置信区间Y±
DELTA
解:
(1)对将要拟合的非线性模型,建立M函数如下
1.functionyhat=modelfun(beta,x)
2.%beta是需要回归的参数
3.%x是提供的数据
4.yhat=beta
(1)*exp(beta
(2)./x);
(2)输入数据
1.x=2:
16;
2.y=[6.428.209.589.59.7109.939.9910.4910.5910.6010.8010.6010.9010.76];
3.beta0=[82]'
(3)求回归系数
1.[beta,r,J]=nlinfit(x'
y'
@modelfun,beta0);
2.beta
3.
4.beta=
11.6036
-1.0641
7.
即得回归模型为
1.[YY,delta]=nlpredci('
x'
beta,r,J);
2.plot(x,y,'
x,YY,'
四、逐步回归
1、逐步回归的命令
stepwise(x,y,inmodel,alpha)
根据数据进行分步回归
stepwise
直接调出分步回归GUI界面
输入参数说明
自变量数据,阶矩阵;
y:
因变量数据,阶矩阵;
inmodel:
矩阵的列数的指标,给出初始模型中包括的子集(缺省时设定为全部自变量);
显著性水平(缺省时为0.5);
2、实例演示分析
水泥凝固时放出的热量y与水泥中4种化学成分x1、x2、x3、x4有关,今测得一组数据如下,
试用逐步回归法确定一个线性模型
序号
1
2
3
4
5
6
7
8
9
10
11
12
13
x1
21
10
x2
26
29
56
31
52
55
71
54
47
40
66
68
x3
15
17
22
18
23
8
x4
60
20
33
44
34
12
y
78.5
74.3
104.3
87.6
95.9
109.2
102.7
72.5
93.1
115.9
83.8
113.3
109.4
(1)数据输入
1.x1=[7111117113122111110]'
2.x2=[26295631525571315447406668]'
3.x3=[615886917221842398]'
4.x4=[6052204733226442226341212]'
5.y=[78.574.3104.387.695.9109.2102.772.593.1115.983.8113.3109.4]'
6.x=[x1x2x3x4];
(2)逐步回归
①先在初始模型中取全部自变量
1.stepwise(x,y)
插值:
xi=1:
0.2:
5;
yi=1:
3;
zi=interp2(x,y,temps,xi'
yi,'
cubic'
);
mesh(xi,yi,zi)
[X,Y]=meshgrid(-3:
.25:
3);
Z=peaks(X,Y);
[XI,YI]=meshgrid(-3:
.125:
ZZ=interp2(X,Y,Z,XI,YI);
surfl(X,Y,Z);
holdon;
surfl(XI,YI,ZZ+15)
axis([-33-33-520]);
shadingflat
holdoff
[x,y,z,v]=flow(20);
[xx,yy,zz]=meshgrid(.1:
10,-3:
3,-3:
vv=interp3(x,y,z,v,xx,yy,zz);
slice(xx,yy,zz,vv,[69.5],[12],[-2.2]);
shadinginterp;
colormapcool
x=[024581212.817.219.920];
y=exp(x).*sin(x);
xx=0:
20;
yy=spline(x,y,xx);
plot(x,y,'
o'
xx,yy)
x08=[12001600200024002800320036004000];
y08=[1200160020002400280032003600];
z08=[11301250128012301040900500700;
...
13201450142014001300700900850;
139015001500140090011001060950;
15001200110013501450120011501010;
15001200110015501600155013801070;
15001550160015501600160016001550;
1480150015501510143013001200980];
mesh(x08,y08,z08);
holdon
x088=[1200:
200:
4000];
y088=[1200:
3600];
z088=interp2(x08,y08,z08,x088'
y088,'
mesh(x088,y088,z088+1600);
x0888=[1200:
100:
y0888=[1200:
z0888=interp2(x08,y08,z08,x0888'
y0888,'
mesh(x0888,y0888,z0888+3200);
x09=[129140103.588185.5195105157.5107.57781162162117.5];
y09=[7.5141.52314722.5137.585.5-6.5-81356.5-66.584-33.5];
z09=[48686889988949];
x099=[75:
5:
200];
y099=[-50:
150];
[x099,y099,z099]=griddata(x09,y09,z09,x099'
y099,'
mesh(x099,y099,z099-5)
mesh(x099,y099,z099-z099)
PCA的介绍
a=10*randn(1000,1);
b=randn(1000,1);
plot(a,b,’.’)
R=[cosd(75)-sind(75);
sind(75)cosd(75)]
G=R*[a,b]’;
Size(G)
x=G(1,:
y=G(2,:
plot(x,y,’g.’)
[COEFF]=princomp([x;
y]’)
size([x;
)+10;
plot(x,y,’r.’)
PCA步骤:
(1)对原始数据进行标准化处理
(2)计算样本相关系数矩阵
(3)计算相关系数矩阵R的特征值和相应的特征向量
(4)选择重要的主成分,写出主成分表达式
案例问题:
企业综合实力排
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 练习 1010
![提示](https://static.bingdoc.com/images/bang_tan.gif)