C3 C4 C5 1 2 1 2 1 2 1 2 1 2 1 2 附录:
MATLAB程序:
A=[1,4,3,1/2;1/4,1,1/2,1/5;1/3,2,1,1/3;2,5,3,1]; [u,v]=eig(A);
u1=-u(:,1)/norm(u(:,1)) v1=v(1)
CI=(v1-4)/(4-1); RI=0.89; CR=CI/RI VB程序一(: '转换数据
Private Sub CommandButton1_Click()
total = Sheets(\比赛安排\Cells(1, 8) = \第k天\Cells(1, 9) = \客队号\Cells(1, 10) = \主队号\'第一段程序
'该段程序从周几计算出第几天 For i = 2 To total '将星期转化为数字
If InStr(Cells(i, 1), \周一\ k = 1
ElseIf InStr(Cells(i, 1), \周二\ k = 2
ElseIf InStr(Cells(i, 1), \周三\ k = 3
11
ElseIf InStr(Cells(i, 1), \周四\ k = 4
ElseIf InStr(Cells(i, 1), \周五\ k = 5
ElseIf InStr(Cells(i, 1), \周六\ k = 6
ElseIf InStr(Cells(i, 1), \周日\ k = 7 End If
If i = 2 Then '第一天 k0 = k '存储初始天的星期号 Tdate = 1
Cells(i, 8) = Tdate Else '其余天
L = k - k0 '当天比赛日与前次比赛日间隔天数 If L < 0 Then
L = L + 7 '为负的加7 End If
Tdate = Tdate + L '计算当前天的序号 Cells(i, 8) = Tdate k0 = k '存储当前天的星期号 End If Next i '第二段程序
'统计队数并进行编码 Dim Info(100) As String pos = 5
Cells(pos, 6) = \队号\ Cells(pos, 7) = \名称\Info(1) = Cells(2, 2) '第一个队
12
ALL = 1 '总共队数 '计算总共队数 For i = 3 To total
flag = 0 '初始假定该队没有统计 For k = 1 To ALL
If Cells(i, 2) = Info(k) Then flag = 1 '该队已有 GoTo cont End If Next k
cont: If flag = 0 Then ALL = ALL + 1 '队数增加1
Info(ALL) = Cells(i, 2) '存储该新队名称 End If Next i
For i = 1 To ALL Cells(pos + i, 6) = i Cells(pos + i, 7) = Info(i) Next i '第三段程序
'将各队采用编码表示 '(2,9),(4,10)对应 For i = 2 To total For k = 1 To ALL
If Cells(i, 2) = Info(k) Then code1 = k GoTo out1 End If Next k
out1: Cells(i, 9) = code1 '输出客队号
13
For k = 1 To ALL
If Cells(i, 4) = Info(k) Then code2 = k GoTo out2 End If Next k
out2: Cells(i, 10) = code2 '输出主队号 Next i End Sub '提取指标
'1:背靠背次数,2:连续客场数 3:连续与强队比赛次数 Private Sub CommandButton2_Click()
Dim A(30, 200) As Integer 'a(i,j)=1表示第i支球队第j天主场参赛 Dim B(30, 200) As Integer 'b(i,j)=1表示第i支球队第j天客场参赛
Dim C(30, 200) As Integer 'c(i,j)=1表示第i支球队第jc(i,j)=a(i,j)+b(i,j)
Dim D(30, 200) As Integer 'd(i,j)=1表示第i支球队第j天与强队比赛 Dim temp(200), g(200) As Integer Dim Q(15) As Integer '强队号 Dim Info(30) As String '队号
'DATA 22, 29, 13, 21, 14, 16, 8, 30, 19, 25, 12, 18, 1, 24, 3 Dim x(30, 4) As Double '存储30支球队的4个指标值 提取A和B矩阵
total = Sheets(\比赛安排\For k = 2 To total
i = Cells(k, 10) '主场参赛队号 j = Cells(k, 8) '第j天 A(i, j) = 1
i = Cells(k, 9) '客场参赛队号 B(i, j) = 1
14
天参赛 Next k '计算C矩阵 For i = 1 To 30 For j = 1 To 200
C(i, j) = A(i, j) + B(i, j) '获得各队连续参赛信息 Next j Next i
For k = 1 To 15
Q(k) = Sheets(\排名\获得强队号 Next k
For k = 1 To 30
Info(k) = Cells(5 + k, 7) '获得30个队的队名 Next k '提取D矩阵
For k = 2 To total i1 = Cells(k, 9) '客队号 i2 = Cells(k, 10) '主队号 t = Cells(k, 8) '第t天 For P = 1 To 15 If Q(P) = i2 Then
D(i1, t) = 1 'i1队在第t天客场遇强队 GoTo next1 End If Next P
next1: For P = 1 To 15 If Q(P) = i1 Then
D(i2, t) = 1 'i2队在第t天主场遇强队 GoTo finish End If Next P
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库数学建模08D题(3)在线全文阅读。
相关推荐: