matlab求cusum,累積和を使用した平均値のわずかな変化の検出

ゴルフでは、ボールがホールインするまでに必要な予想ストローク数を示す "パー" がホールごとに関連付けられています。技術の高いプレーヤーは、通常、パーに非常に近いストローク数で各ホールを終了します。勝者が明らかになるまでには、数ホールをプレーし、スコアを累積する必要があります。

ベン、ジェンおよびケンは、18 ホールで構成されるフル ラウンドをプレーします。コースは、パー 3、パー 4 およびパー 5 のホールの組み合わせから成っています。ゲームの終了時に、プレーヤーは各自のスコアを集計します。

hole = 1:18;

par = [4 3 5 3 4 5 3 4 4 4 5 3 5 4 4 4 3 4];

nms = {'Ben';'Jen';'Ken'};

Ben = [4 3 4 2 3 5 2 3 3 4 3 2 3 3 3 3 2 3];

Jen = [4 3 4 3 4 4 3 4 4 4 5 3 4 4 5 5 3 3];

Ken = [4 3 4 3 5 5 4 4 4 4 5 3 5 4 5 4 3 5];

T = table(hole',par',Ben',Jen',Ken', ...

'VariableNames',['hole';'par';nms])

T=18×5 table

hole par Ben Jen Ken

____ ___ ___ ___ ___

1 4 4 4 4

2 3 3 3 3

3 5 4 4 4

4 3 2 3 3

5 4 3 4 5

6 5 5 4 5

7 3 2 3 4

8 4 3 4 4

9 4 3 4 4

10 4 4 4 4

11 5 3 5 5

12 3 2 3 3

13 5 3 4 5

14 4 3 4 4

15 4 3 5 5

16 4 3 5 4

ラウンドの勝者は、終了時に下側累積和がパーを最も下回っているプレーヤーです。3 人のプレーヤーについて合計を計算し、優勝者を決定します。しきい値を低く設定し、平均の変化がすべて検出できるようにします。

[~,b,~,Bensum] = cusum(Ben-par,1,1e-4,0);

[~,j,~,Jensum] = cusum(Jen-par,1,1e-4,0);

[~,k,~,Kensum] = cusum(Ken-par,1,1e-4,0);

plot([Bensum;Jensum;Kensum]')

legend(nms,'Location','best')

fdee1980a3fce257002c1c85f55fb7e1.png

ベンがラウンドを優勝しました。ホールごとのストローク数を無作為に増減して、次のゲームをシミュレートします。

Ben = Ben+randi(3,1,18)-2;

Jen = Jen+randi(3,1,18)-2;

Ken = Ken+randi(3,1,18)-2;

[~,b,~,Bensum] = cusum(Ben-par,1,1e-4,0);

[~,j,~,Jensum] = cusum(Jen-par,1,1e-4,0);

[~,k,~,Kensum] = cusum(Ken-par,1,1e-4,0);

plot([Bensum;Jensum;Kensum]')

legend(nms,'Location','best')

c270d85b65101adfffd58782c97a100f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值