全国大学生数学建模竞赛题葡萄酒的评价答案(5)

2018-11-24 18:16

六.参考文献

【1】 刘超,MATLAB基础与实践教程,机械工业出版社,2011年。 【2】 戴朝寿,数理统计简明教程,高等教育出版社,2009年。

【3】 阳明盛,熊西文,林建华,MATLAB基础与数学软件,大连理工大学出版社,2003年。

【4】 韩中庚,数学建模方法及其应用,高等教育出版社,2005年。 【5】 费业泰,误差理论与数据处理,机械工业出版社,2005年。

附录

MATLAB程序 问题一:

A1=[62.7,80.3,80.4,68.6,73.3,73.2,71.5,72.3,81.5,74.2,70.1,53.9,74.6,73,58.7,74.9,79.3,59.9,78.6,78.6,77.1,77.2,85.6,78,69.2,73.8,73]; [H,P,JBSTAT,CV]=jbtest(A1,0.04) H =0

P =0.1589

JBSTAT =3.6795 CV =6.4378

A2=[68.1,74,74.6,71.2,72.1,66.3 ,65.3,66,78.2,68.8,61.6,68.3,68.8,

72.6,65.7,69.9,74.5,65.4,72.6,75.8,72.2,71.6,77.1,71.5,68.2,72, 71.5]; [H,P,JBSTAT,CV]=jbtest(A2,0.04) H =0

P =0.7696

JBSTAT =0.5239 CV =6.4378

B1=[82,74.2,85.3,79.4,71,68.4,77.5,71.4,72.9,74.3,72.3,63.3,65.9,72, 72.4,74,78.8,73.1,72.2,77.8,76.4,71,75.9,73.3,77.1,81.3,64.8,81.3]; [H,P,JBSTAT,CV]=jbtest(B1,0.04)

21

H =0

P =0.9124

JBSTAT =0.1834 CV =6.4378

B2=[77.9,75.8,75.6,76.9,81.5,75.5,74.2,72.3,80.4,79.8,71.4,72.4,73.9,77.178.4,67.3,80.3,76.7,76.4,76.6,79.2,79.4,77.4,76.1,79.5,74.3,77,79.6];

[H,P,JBSTAT,CV]=jbtest(B2,0.04) H =0

P =0.1684

JBSTAT =3.5625 CV =6.4378

X=[A1,A2]; subplot 121; normplot(X);

legend('A1 check','A2 check'); Y=[B1,B2]; subplot 122; normplot(Y);

legend('B1 check','B2 check'); alpha=0.05

[P,H]=ranksum(A1,B1,0.05) P =0.9396 H =0

[P,H]=ranksum(A2,B2,0.05) P =1.4077e-006 H =1

sigma=sqrt(51.91728); ex=73.05556; p=1-0.05/2;

u=norminv(p,0,1) u =1.9600

mu=[ex-u*sigma/sqrt(n1),ex+u*sigma/sqrt(n1)] mu =

70.3377 75.7734

sigma=sqrt(15.2383); ex=70.51481; p=1-0.05/2;

u=norminv(p,0,1)

22

u =1.9600

mu=[ex-u*sigma/sqrt(n2),ex+u*sigma/sqrt(n2)] mu =

69.689 71.9607

sigma=sqrt( 26.08667);ex=74.26071;p=1-0.05/2; u=norminv(p,0,1) u =1.9600

mu=[ex-u*sigma/sqrt(n1),ex+u*sigma/sqrt(n1)] mu =

72.3342 76.1872

sigma=sqrt(9.695753 ); ex=76.53214; p=1-0.05/2;

u=norminv(p,0,1) u =1.9600

mu=[ex-u*sigma/sqrt(n2),ex+u*sigma/sqrt(n2)] mu =

75.3788 77.6855

问题二: %cwfac.m

function result=cwfac(vector); fprintf(' 相关系数矩阵:\\n')

std=CORRCOEF(vector) %计算相关系数矩阵 fprintf('特征向量(vec)及特征值(val):\\n')

[vec,val]=eig(std) %求特征值(val)及特征向量(vec) newval=diag(val) ;

[y,i]=sort(newval) ; %对特征根进行排序,y为排序结果,i为索引 fprintf('特征根排序:\\n') for z=1:length(y)

newy(z)=y(length(y)+1-z); end

fprintf('%g\\n',newy) rate=y/sum(y);

fprintf('\\n贡献率:\\n') newrate=newy/sum(newy) sumrate=0; newi=[];

for k=length(y):-1:1

sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k); if sumrate>0.85 break;

23

end

end %记下累积贡献率大85%的特征值的序号放入newi中 fprintf('主成分数:%g\\n\\n',length(newi)); fprintf('主成分载荷:\\n') for p=1:length(newi) for q=1:length(y)

result(q,p)=sqrt(newval(newi(p)))*vec(q,newi(p)); end

end %计算载荷 disp(result)

%cwprint.m

function print=cwprint(filename,a,b);

%filename为文本文件文件名,a为矩阵行数(样本数),b为矩阵列数(变量指标数) fid=fopen(filename,'r')

vector=fscanf(fid,'%g',[a b]); fprintf('标准化结果如下:\\n') v1=cwstd(vector) result=cwfac(v1); cwscore(v1,result);

%cwscore.m,计算得分

function score=cwscore(vector1,vector2); sco=vector1*vector2; csum=sum(sco,2);

[newcsum,i]=sort(-1*csum); [newi,j]=sort(i);

fprintf('计算得分:\\n')

score=[sco,csum,j]

%得分矩阵:sco为各主成分得分;csum为综合得分;j为排序结果

%cwstd.m,

function std=cwstd(vector)

cwsum=sum(vector,1); % [a,b]=size(vector); % for i=1:a for j=1:b

std(i,j)= vector(i,j)/cwsum(j); end end

问题三:

利用多项式曲线拟合 来对葡萄酒及葡萄进行拟合

24

wine=[8,7.286,6.271,4.914,3.6304,0.224];

putao=[273.1,237.303,35.4449,24.478,6.724,1.101];

n=[1:3];

p1=polyfit(wine,putao,n(1)) p2= polyfit(wine,putao,n(2)) p3=polyfit(wine,putao,n(3)) putao1=polyval(p1,wine); putao2=polyval(p2,wine); putao3=polyval(p3,wine);

plot(wine,putao,'ko',wine,putao1,'-k*',wine,putao2,'--kx',wine,putao3,':kd');

xlabel('wine');ylabel('putao');

legend('原始数据','1次曲线','2次曲线','3次曲线'); p1 =

33.5390 -73.1553 p2 =

10.0945 -49.2906 19.4525 p3 =

Columns 1 through 3

2.3094 -18.9459 41.5641 Column 4

-6.7461

各次拟合曲线与原数据的比较结果如图所示,。由p3可得3次拟合曲线多项式函数为: F=p3(1)x^3+p3(2)x^2+p3(3)x+p3(4)=2.3094x^3-18.9459x^2+41.5641x-6.7461 接着求的y的3次拟合的曲线机器预测误差范围+-deltay 代码如下:

[p,s]=polyfit(wine,putao,3);

[putao3,deltay]=polyval(p,wine,s);

putaolo=putao3-deltay;putaoup=putao3+deltay;

plot(wine,putao,'ko',wine,putao2,'-k*',wine,putaolo,'-.bs',wine,putaoup,'-.bd');

xlabel('wine');ylabel('putao');

legend('原始数据','3次曲线','误差下限','误差上限')

对于白葡萄酒与白葡萄的关系如下:

25

wine=[1.853,1.461,1.557,0.3664,0.0545,101.796 ]; 对于白葡萄的理化指标的选择,我们依据第二问中所分析出来的重要指标中选择6个重要指标:

putao=[0.2245,1.616,3.315,3.810,5.450,115.256]; wine=[0.0545,0.3664,1.461,1.557,1.853]; putao=[0.2245,1.616,3.315,3.810,5.450]; n=[1:3];

p1=polyfit(wine,putao,n(1)) p2= polyfit(wine,putao,n(2)) p3=polyfit(wine,putao,n(3)) putao1=polyval(p1,wine); putao2=polyval(p2,wine); putao3=polyval(p3,wine);

plot(wine,putao,'ko',wine,putao1,'-k*',wine,putao2,'--kx',wine,putao3,':kd');

xlabel('wine');ylabel('putao');

legend('原始数据','1次曲线','2次曲线','3次曲线'); p1 =

2.4603 0.2792 p2 =

0.8415 0.8960 0.5665 p3 =

Columns 1 through 3

2.4933 -6.6924 6.8559

Column 4

-0.1265

各次拟合曲线与原数据的比较结果如图所示,。由p3可得3次拟合曲线多项式函数为: F=p3(1)x^3+p3(2)x^2+p3(3)x+p3(4)=2.4933x^3-6.6924x^2+6.8559x-0.1265 接着求的y的3次拟合的曲线机器预测误差范围+-deltay 代码如下:

[p,s]=polyfit(wine,putao,3);

[putao3,deltay]=polyval(p,wine,s);

putaolo=putao3-deltay;putaoup=putao3+deltay;

plot(wine,putao,'ko',wine,putao2,'-k*',wine,putaolo,'-.bs',wine,putaoup,'-.bd');

xlabel('wine');ylabel('putao');

legend('原始数据','3次曲线','误差下限','误差上限')

26


全国大学生数学建模竞赛题葡萄酒的评价答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:厦门大学网络教育会计学专业2013年《管理会计》作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: