&bold(){シートバッティングを極める部屋} *&bold(){投手も打者も『ガチ』でシートバッティングしたらどうなるか検証。} *&bold(){乱数要素100%なので、その辺がわかってない人は今すぐページバックしてね。} #region(※独自検証注意※) ***前提条件 1) 打者の勝利条件:ホームラン・ヒット・四球 2) 投手の勝利条件:三振 3) 投手のストライク率(どの程度ストライクを投げるか)は一定 4) 打者のスイング率(どの程度スイングするか)は一定 ***プログラム(見たい人だけ) #region(VBA) Sub Macro1() ' ' Macro1 Macro Dim mat As Integer '試合数 Dim win As Integer '投手勝利回数 Dim res As Double '投手勝率 Dim S As Integer 'ストライク Dim B As Integer 'ボール Dim PITCH As Double 'ストライク率 Dim BATER As Double 'スイング率 Dim x As Double Dim y As Double For i = 0 To 10 PITCH = ActiveSheet.Cells(23 + i, 7) BATER = ActiveSheet.Cells(23 + i, 9) mat = 0 win = 0 For mat = 1 To 10000 '10000回繰返し '①試合前処理 S = 0 B = 0 '②試合中処理 Do While S < 3 And B < 4 ActiveSheet.Cells(1, 1) = 1 '乱数更新用 '変数読み P_S = ActiveSheet.Cells(20, 7) '乱数(0.00~1.00) B_S = ActiveSheet.Cells(20, 9) '乱数(0.00~1.00) P_C = ActiveSheet.Cells(21, 7) '乱数(0.00~1.00) B_C = ActiveSheet.Cells(21, 9) '乱数(0.00~1.00) If (PITCH >= P_S) Then '投手・ストライク選択 If (BATER >= B_S) Then '打者・スイング選択 If (B_C >= 0.75) Then B = 100 Else S = S + 1 End If Else '打者・見送り選択 S = S + 1 End If Else '投手・ボール選択 If (BATER >= B_S) Then '打者・スイング選択 S = S + 1 If (S >= 3 And B_C >= 0.75) Then S = 2 'ファウル続行 Else '打者・見送り選択 B = B + 1 End If End If Loop '③試合後処理 If S >= 3 Then win = win + 1 Next mat = mat - 1 res = win / mat ActiveSheet.Cells(23 + i, 11) = res Next End Sub #endregion(VBA) ***試行結果(カウント別) #region(表のみかた) 各カウントについて、 投手のストライク率・打者のスイング率を元に10000回のフリーバッティングを行う。 その結果を、打者の勝利条件(打者の出塁率)基準で数値化する。最小0.000~最大1.000 例えば、0ストライク・0ボールで 投手のストライク率=50%・打者のスイング率=50%とすると、 打者の勝率は0.269(26.9%)。逆に投手の勝率は0.731(73.1%)となる。 投手がどれだけストライクを選択するか 打者がどれだけスイングするのか(経験則で)わかっていれば、 各カウント毎に投手or打者の勝率を求めることができる。 #endregion(表のみかた) #region(表1) ・0ストライク #region(0ボール・0ストライク) #image(https://i.imgur.com/oC43Bgq.png,width=700,height=350) #endregion(0ボール・0ストライク) #region(1ボール・0ストライク) #image(https://i.imgur.com/9KnyOVh.png,width=700,height=350) #endregion(1ボール・0ストライク) #region(2ボール・0ストライク) #image(https://i.imgur.com/vSyjA4Q.png,width=700,height=350) #endregion(2ボール・0ストライク) #region(3ボール・0ストライク) #image(https://i.imgur.com/W2oYXyx.png,width=700,height=350) #endregion(3ボール・0ストライク) ・1ストライク #region(0ボール・1ストライク) #image(https://i.imgur.com/Zwuh3fa.png,width=700,height=350) #endregion(0ボール・1ストライク) #region(1ボール・1ストライク) #image(https://i.imgur.com/4muHLY2.png,width=700,height=350) #endregion(1ボール・1ストライク) #region(2ボール・1ストライク) #image(https://i.imgur.com/MCY9Zbs.png,width=700,height=350) #endregion(2ボール・1ストライク) #region(3ボール・1ストライク) #image(https://i.imgur.com/3j0EE1U.png,width=700,height=350) #endregion(3ボール・1ストライク) ・2ストライク #region(0ボール・2ストライク) #image(https://i.imgur.com/b8LyiV7.png,width=700,height=350) #endregion(0ボール・2ストライク) #region(1ボール・2ストライク) #image(https://i.imgur.com/5g7oT7A.png,width=700,height=350) #endregion(1ボール・2ストライク) #region(2ボール・2ストライク) #image(https://i.imgur.com/O8JOcix.png,width=700,height=350) #endregion(2ボール・2ストライク) #region(3ボール・2ストライク) #image(https://i.imgur.com/LwSo1Oe.png,width=700,height=350) #endregion(3ボール・2ストライク) #endregion(表1) ***試行結果(まとめ) #region(グラフのみかた) 各カウントが推移するとともに、打者or投手の勝率がどの程度変化するか示す。 表1と同じく、打者の勝利条件(打者の出塁率)基準で数値化する。最小0.000~最大1.000 #endregion(グラフのみかた) #region(グラフ1) #image(https://i.imgur.com/edvlcHl.png,width=700,height=450) #endregion(グラフ1) ***考察 あとで #endregion(※独自検証注意※) ***ご意見・ご感想どうぞ - あ~こ↓れ↑かぁ。ええやん -- 名無しさん (2018-02-19 08:30:34) - 打者にとって五分五分以上の状況が3-0か3-1だけってほんまに投手有利やな -- 名無しさん (2018-02-19 13:11:21) #comment()