数学建模之灰色关联实例含代码

参考书籍《数学建模算法与应用》

一,预备

(1)无量纲化处理技术

数学建模之灰色关联实例含代码_第1张图片

数学建模之灰色关联实例含代码_第2张图片

 

二,灰色关联的步骤

通过对某健将级女子铅球运动员的跟踪调查,获得其 1982 年至 1986 年每年好成绩及16 项专项素质和身体素质的时间序列资料,见表 2,试对此铅球运动员的 专项成绩进行因素分析。 

数学建模之灰色关联实例含代码_第3张图片

(1)选取参考,比较数列并无量纲化处理

  第一行铅球专项成绩数列为参考列,其余为比较数列

无量纲化处理:

原始数列的初始化数列 

  对于前 15 个数列, 随着时间的增加,数值的增加意味着运动水平的进步,而对后 2个数列来讲,随着时间 的增加,数值(秒数)的减少却意味着运动水平的进步。因此,在对数列 x15 及 x16 进行初始化处理时,采取以下公式 

(2)计算关联系数

数学建模之灰色关联实例含代码_第4张图片

(3)计算关联度

 数学建模之灰色关联实例含代码_第5张图片

数学建模之灰色关联实例含代码_第6张图片

(4)结果分析

 由表 3 易看出,影响铅球专项成绩的前八项主要因素依次为全蹲、3kg 滑步、高翻、 4kg 原地、挺举、立定跳远、30 米起跑、100 米成绩。因此,在训练中应着重考虑安排 这八项指标的练习。这样可减少训练的盲目性,提高训练效果。 

二,代码

clc,clear
load x.txt   %把原始数据存放在纯文本文件 x.txt 中
for i=1:15     
    x(i,:)=x(i,:)/x(i,1);   %标准化数据 
end
for i=16:17     
    x(i,:)=x(i,1)./x(i,:);  %标准化数据 
end
data=x; 
n=size(data,2); %求矩阵的列数,即观测时刻的个数 
ck=data(1,:);  %提出参考数列 
bj=data(2:end,:); %提出比较数列 
m2=size(bj,1); %求比较数列的个数 
for j=1:m2       
    t(j,:)=bj(j,:)-ck; 
end
mn=min(min(abs(t')));  %求小差
mx=max(max(abs(t')));  %求大差
rho=0.5;  %分辨系数设置 
ksi=(mn+rho*mx)./(abs(t)+rho*mx);  %求关联系数 
r=sum(ksi')/n  %求关联度 
[rs,rind]=sort(r,'descend')   %对关联度进行排序

x.txt内容如下:
13.6 14.01 14.54 15.64 15.69
11.50 13.00 15.15 15.30 15.02 
13.76 16.36 16.90 16.56 17.30
12.41 12.70 13.96 14.04 13.46
2.48 2.49 2.56 2.64 2.59
85 85 90 100 105
55 65 75 80 80
65 70 75 85 90
12.80 15.30 16.24 16.40 17.05 
15.30 18.40 18.75 17.95 19.30 
12.71 14.50 14.66 15.88 15.70 
14.78 15.54 16.03 16.87 17.82 
7.64 7.56 7.76 7.54 7.70 
120 125 130 140 140 
80 85 90 90  95
4.2 4.25 4.1 4.06 3.99
13.1 13.42 12.85 12.72 12.56

三,结果

数学建模之灰色关联实例含代码_第7张图片

 

你可能感兴趣的:(数学建模之灰色关联实例含代码)