{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":3057,"title":"Chess performance","description":"After Problems \u003chttp://www.mathworks.com/matlabcentral/cody/problems/3054-chess-elo-rating-system/ 3054\u003e and \u003chttp://www.mathworks.com/matlabcentral/cody/problems/3056-chess-probability/ 3056\u003e\r\n\r\n\r\nIn \u003chttp://en.wikipedia.org/wiki/Elo_rating_system Chess\u003e, performance isn't measured absolutely; it is inferred from wins (1), losses (0), and draws (0.5) against other players. A player's rating depends on the ratings of their opponents, and the results scored against them. The difference in rating between two players determines an estimate for the expected score between them.\r\n\r\nSupposing Player A was expected to score Ea points (but actually scored Sa).\r\n\r\nThe formula for updating his rating is :\r\n\r\n\u003c\u003chttp://upload.wikimedia.org/math/2/3/f/23fbcb658ac1e2565003c2190f28a21e.png\u003e\u003e\r\n\r\n* \r\n* \r\n\r\n\r\nThis update can be performed after each game or each tournament, or after any suitable rating period. \r\n\r\nSuppose Player A has a rating *Ra* of 1613, and plays in a five-round tournament. He (or she) loses to a player rated 1609, draws with a player rated 1477, defeats a player rated 1388, defeats a player rated 1586, and loses to a player rated 1720. The player's actual score *Sa* is (0 + 0.5 + 1 + 1 + 0) = 2.5. The expected score *Ea* , calculated according to the formula see in Problem 3056, was (0.506 + 0.686 + 0.785 + 0.539 + 0.351) = 2.867. Therefore the player's new rating *R'a* is (1613 + 32×(2.5 − 2.867)) = 1601. We assume that the *K* factor is always 32.\r\n\r\nI give you rating of Player A, ratings of their opponents and results. \r\n\r\nCompute the new rating (K = 32).\r\n\r\n\r\n","description_html":"\u003cp\u003eAfter Problems \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/3054-chess-elo-rating-system/\"\u003e3054\u003c/a\u003e and \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/3056-chess-probability/\"\u003e3056\u003c/a\u003e\u003c/p\u003e\u003cp\u003eIn \u003ca href = \"http://en.wikipedia.org/wiki/Elo_rating_system\"\u003eChess\u003c/a\u003e, performance isn't measured absolutely; it is inferred from wins (1), losses (0), and draws (0.5) against other players. A player's rating depends on the ratings of their opponents, and the results scored against them. The difference in rating between two players determines an estimate for the expected score between them.\u003c/p\u003e\u003cp\u003eSupposing Player A was expected to score Ea points (but actually scored Sa).\u003c/p\u003e\u003cp\u003eThe formula for updating his rating is :\u003c/p\u003e\u003cimg src = \"http://upload.wikimedia.org/math/2/3/f/23fbcb658ac1e2565003c2190f28a21e.png\"\u003e\u003cul\u003e\u003cli\u003e\u003c/li\u003e\u003cli\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eThis update can be performed after each game or each tournament, or after any suitable rating period.\u003c/p\u003e\u003cp\u003eSuppose Player A has a rating \u003cb\u003eRa\u003c/b\u003e of 1613, and plays in a five-round tournament. He (or she) loses to a player rated 1609, draws with a player rated 1477, defeats a player rated 1388, defeats a player rated 1586, and loses to a player rated 1720. The player's actual score \u003cb\u003eSa\u003c/b\u003e is (0 + 0.5 + 1 + 1 + 0) = 2.5. The expected score \u003cb\u003eEa\u003c/b\u003e , calculated according to the formula see in Problem 3056, was (0.506 + 0.686 + 0.785 + 0.539 + 0.351) = 2.867. Therefore the player's new rating \u003cb\u003eR'a\u003c/b\u003e is (1613 + 32×(2.5 − 2.867)) = 1601. We assume that the \u003cb\u003eK\u003c/b\u003e factor is always 32.\u003c/p\u003e\u003cp\u003eI give you rating of Player A, ratings of their opponents and results.\u003c/p\u003e\u003cp\u003eCompute the new rating (K = 32).\u003c/p\u003e","function_template":"function y = new_elo(opponents_elo,res,elo_playerA)\r\n  y = x;\r\nend","test_suite":"%%\r\nplayera=1613;\r\nelos=[1609 1477 1388 1586 1720];\r\nres=[0 0.5 1 1 0];\r\nassert(isequal(new_elo(elos,res,playera),1601))\r\n%%\r\nplayera=1613;\r\nelos=[1609 1477 1586 1720];\r\nres=[0 1 1 1];\r\nassert(isequal(new_elo(elos,res,playera),1642))\r\n%%\r\nplayera=1613;\r\nelos=[1613 1613 1613 1613 1613];\r\nres=[0.5 0.5 0.5 0.5 0.5];\r\nassert(isequal(new_elo(elos,res,playera),1613))\r\n%%\r\nassert(isequal(new_elo([1800 1900 2000 2100 2200],[1 0 1 0 1],1900),1935))\r\n%% My new ELO\r\nplayera=1800;\r\nelos=[1399 1280 2166 1534 1768 1791 1540];\r\nres=[1 1 0 1 1 0 1];\r\nassert(isequal(new_elo(elos,res,playera),1811))\r\n%% The last game was critical (-32 points if I lost)\r\nplayera=1800;\r\nelos=[1399 1280 2166 1534 1768 1791 1540];\r\nres=[1 1 0 1 1 0 0];\r\nassert(isequal(new_elo(elos,res,playera),1779))\r\n%% Perfect tournament ?\r\nplayera=1800;\r\nelos=[1399 1280 2166 1534 1768 1791 1540];\r\nres=[1 1 1 1 1 1 1];\r\nassert(isequal(new_elo(elos,res,playera),1875))\r\n%% Caruana in 2014 Sinquefield Cup (notice that K=16 for these guys)\r\ncaruana=2801;\r\nelos = [2772 2768 2877 2805 2787  2772 2768 2877 2787 2805];\r\nres = [1 1 1 1 1 1 1 0.5 0.5 0.5];\r\nassert(isequal(new_elo(elos,res,caruana),2913))","published":true,"deleted":false,"likes_count":3,"comments_count":5,"created_by":5390,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":65,"test_suite_updated_at":"2015-03-02T20:49:24.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-02-28T23:49:25.000Z","updated_at":"2026-02-15T07:24:43.000Z","published_at":"2015-02-28T23:53:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAfter Problems\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/3054-chess-elo-rating-system/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e3054\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/3056-chess-probability/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e3056\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://en.wikipedia.org/wiki/Elo_rating_system\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eChess\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, performance isn't measured absolutely; it is inferred from wins (1), losses (0), and draws (0.5) against other players. A player's rating depends on the ratings of their opponents, and the results scored against them. The difference in rating between two players determines an estimate for the expected score between them.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSupposing Player A was expected to score Ea points (but actually scored Sa).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe formula for updating his rating is :\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis update can be performed after each game or each tournament, or after any suitable rating period.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSuppose Player A has a rating\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRa\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of 1613, and plays in a five-round tournament. He (or she) loses to a player rated 1609, draws with a player rated 1477, defeats a player rated 1388, defeats a player rated 1586, and loses to a player rated 1720. The player's actual score\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eSa\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is (0 + 0.5 + 1 + 1 + 0) = 2.5. The expected score\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEa\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e , calculated according to the formula see in Problem 3056, was (0.506 + 0.686 + 0.785 + 0.539 + 0.351) = 2.867. Therefore the player's new rating\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eR'a\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is (1613 + 32×(2.5 − 2.867)) = 1601. We assume that the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eK\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e factor is always 32.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI give you rating of Player A, ratings of their opponents and results.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCompute the new rating (K = 32).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAAWBAMAAABOJX+pAAAAMFBMVEX///8wMDDMzMwEBASKiooWFhZiYmKenp62trbm5uZQUFBAQEAMDAwiIiJ0dHQAAAB7s/cyAAAAAXRSTlMAQObYZgAAAzpJREFUeNq9VllIVFEY/mZxFmfcSAxCdJSoJKkRCiQhhyAKhZrESerJjBRc6ELQAmJTQRAFjpAPLdaET5EPPmRRJA4aSQulBrYQNiHai+aQozkq2n/uMs7cOSMW1A/33P/cf/nO+ZdzLiCTyYZ/TVqFWXDjv1Hz3+2rak1ayeJG9MBkSo92oiLLz1EZnAhkPxJ4grJiz/mmS279CM0SvUlfa2OVGpp7sDEtlbE/byiZ+gU88/RzNyvA8pIrcABtFIkcloYhGJ5zdExBkvkkPkfO11II6CsL8Vz6PVjcyRU4YeqjSNAyoTuAeZ7SUgI9AVlfkLCMlYBQz01XNUlnI+YD4fgIKPbSu5AeN2Gu5xgbK2jolHiDV8KapZCOPOViHaOVfeEJsmH4xPJGy0QNPXZeiTtRCTmGIb+ElW9D2+gctyF6YX7Hc2MKmd8z62UPDe0foLiMIveAuRNKxdVIdehbHmv8HtawlIjO2tloNYzXdYGbirNZ7D3nIJAzQsFBXnP6O4YveJVJv4S1bdTcvSusMfNgRXt6yH6bV2FYeD01L2Kyip5vvbiXh1XdsvV0eHLtsPginJP8FtR5YRALKUFVG7pe9LDwpcjzQ2xwsiGXUZ74sQgG8VgSjevEfGm7ZbVYyh+QUWqZ4y6X64TLJcLlZ0EQm9QjRgaMN9xn7qYYTYrJfgIdTIqxdG5YtZI+IXaq8uW7B42DzXxpNJbSvuwQQ+wrwDDzEKQh9zPgugs0LrOgToUXak2g7mu4ohi3sm8aSu+M2AMx7ZxJUWJbNlod0TFcR8sLMn+Up2+A+QjxgiqzGrtkIBmnSzGkjOw3++WFqboIQfcd4NyMqvuoCBc1rJCov3YIuL6Z9u4pUzUMuWzzKMYPYX6rt5Rf9QiFeTT/8UYF1bX7xT795URox+vbYwQtiR+3IInWfauodOk4wTvqtkfqWMrrA0erphVj6t+IM9yEjDg3ghHJTtUZJZN5pYcFjK1irPdGfdxUPRgHqxJG+fBIVYseK4wBOLWKcZIt8l5Gyc10PlROFTa8ktiAWjauJCfDpu3wxjduirod4y5sVWJ3xFooKiDaTJs22/vnYHvW9g8gtvNvC0XkMLGLXXkAAAAASUVORK5CYII=\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":3057,"title":"Chess performance","description":"After Problems \u003chttp://www.mathworks.com/matlabcentral/cody/problems/3054-chess-elo-rating-system/ 3054\u003e and \u003chttp://www.mathworks.com/matlabcentral/cody/problems/3056-chess-probability/ 3056\u003e\r\n\r\n\r\nIn \u003chttp://en.wikipedia.org/wiki/Elo_rating_system Chess\u003e, performance isn't measured absolutely; it is inferred from wins (1), losses (0), and draws (0.5) against other players. A player's rating depends on the ratings of their opponents, and the results scored against them. The difference in rating between two players determines an estimate for the expected score between them.\r\n\r\nSupposing Player A was expected to score Ea points (but actually scored Sa).\r\n\r\nThe formula for updating his rating is :\r\n\r\n\u003c\u003chttp://upload.wikimedia.org/math/2/3/f/23fbcb658ac1e2565003c2190f28a21e.png\u003e\u003e\r\n\r\n* \r\n* \r\n\r\n\r\nThis update can be performed after each game or each tournament, or after any suitable rating period. \r\n\r\nSuppose Player A has a rating *Ra* of 1613, and plays in a five-round tournament. He (or she) loses to a player rated 1609, draws with a player rated 1477, defeats a player rated 1388, defeats a player rated 1586, and loses to a player rated 1720. The player's actual score *Sa* is (0 + 0.5 + 1 + 1 + 0) = 2.5. The expected score *Ea* , calculated according to the formula see in Problem 3056, was (0.506 + 0.686 + 0.785 + 0.539 + 0.351) = 2.867. Therefore the player's new rating *R'a* is (1613 + 32×(2.5 − 2.867)) = 1601. We assume that the *K* factor is always 32.\r\n\r\nI give you rating of Player A, ratings of their opponents and results. \r\n\r\nCompute the new rating (K = 32).\r\n\r\n\r\n","description_html":"\u003cp\u003eAfter Problems \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/3054-chess-elo-rating-system/\"\u003e3054\u003c/a\u003e and \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/3056-chess-probability/\"\u003e3056\u003c/a\u003e\u003c/p\u003e\u003cp\u003eIn \u003ca href = \"http://en.wikipedia.org/wiki/Elo_rating_system\"\u003eChess\u003c/a\u003e, performance isn't measured absolutely; it is inferred from wins (1), losses (0), and draws (0.5) against other players. A player's rating depends on the ratings of their opponents, and the results scored against them. The difference in rating between two players determines an estimate for the expected score between them.\u003c/p\u003e\u003cp\u003eSupposing Player A was expected to score Ea points (but actually scored Sa).\u003c/p\u003e\u003cp\u003eThe formula for updating his rating is :\u003c/p\u003e\u003cimg src = \"http://upload.wikimedia.org/math/2/3/f/23fbcb658ac1e2565003c2190f28a21e.png\"\u003e\u003cul\u003e\u003cli\u003e\u003c/li\u003e\u003cli\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eThis update can be performed after each game or each tournament, or after any suitable rating period.\u003c/p\u003e\u003cp\u003eSuppose Player A has a rating \u003cb\u003eRa\u003c/b\u003e of 1613, and plays in a five-round tournament. He (or she) loses to a player rated 1609, draws with a player rated 1477, defeats a player rated 1388, defeats a player rated 1586, and loses to a player rated 1720. The player's actual score \u003cb\u003eSa\u003c/b\u003e is (0 + 0.5 + 1 + 1 + 0) = 2.5. The expected score \u003cb\u003eEa\u003c/b\u003e , calculated according to the formula see in Problem 3056, was (0.506 + 0.686 + 0.785 + 0.539 + 0.351) = 2.867. Therefore the player's new rating \u003cb\u003eR'a\u003c/b\u003e is (1613 + 32×(2.5 − 2.867)) = 1601. We assume that the \u003cb\u003eK\u003c/b\u003e factor is always 32.\u003c/p\u003e\u003cp\u003eI give you rating of Player A, ratings of their opponents and results.\u003c/p\u003e\u003cp\u003eCompute the new rating (K = 32).\u003c/p\u003e","function_template":"function y = new_elo(opponents_elo,res,elo_playerA)\r\n  y = x;\r\nend","test_suite":"%%\r\nplayera=1613;\r\nelos=[1609 1477 1388 1586 1720];\r\nres=[0 0.5 1 1 0];\r\nassert(isequal(new_elo(elos,res,playera),1601))\r\n%%\r\nplayera=1613;\r\nelos=[1609 1477 1586 1720];\r\nres=[0 1 1 1];\r\nassert(isequal(new_elo(elos,res,playera),1642))\r\n%%\r\nplayera=1613;\r\nelos=[1613 1613 1613 1613 1613];\r\nres=[0.5 0.5 0.5 0.5 0.5];\r\nassert(isequal(new_elo(elos,res,playera),1613))\r\n%%\r\nassert(isequal(new_elo([1800 1900 2000 2100 2200],[1 0 1 0 1],1900),1935))\r\n%% My new ELO\r\nplayera=1800;\r\nelos=[1399 1280 2166 1534 1768 1791 1540];\r\nres=[1 1 0 1 1 0 1];\r\nassert(isequal(new_elo(elos,res,playera),1811))\r\n%% The last game was critical (-32 points if I lost)\r\nplayera=1800;\r\nelos=[1399 1280 2166 1534 1768 1791 1540];\r\nres=[1 1 0 1 1 0 0];\r\nassert(isequal(new_elo(elos,res,playera),1779))\r\n%% Perfect tournament ?\r\nplayera=1800;\r\nelos=[1399 1280 2166 1534 1768 1791 1540];\r\nres=[1 1 1 1 1 1 1];\r\nassert(isequal(new_elo(elos,res,playera),1875))\r\n%% Caruana in 2014 Sinquefield Cup (notice that K=16 for these guys)\r\ncaruana=2801;\r\nelos = [2772 2768 2877 2805 2787  2772 2768 2877 2787 2805];\r\nres = [1 1 1 1 1 1 1 0.5 0.5 0.5];\r\nassert(isequal(new_elo(elos,res,caruana),2913))","published":true,"deleted":false,"likes_count":3,"comments_count":5,"created_by":5390,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":65,"test_suite_updated_at":"2015-03-02T20:49:24.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-02-28T23:49:25.000Z","updated_at":"2026-02-15T07:24:43.000Z","published_at":"2015-02-28T23:53:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"}],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAfter Problems\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/3054-chess-elo-rating-system/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e3054\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/3056-chess-probability/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e3056\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://en.wikipedia.org/wiki/Elo_rating_system\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eChess\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, performance isn't measured absolutely; it is inferred from wins (1), losses (0), and draws (0.5) against other players. A player's rating depends on the ratings of their opponents, and the results scored against them. The difference in rating between two players determines an estimate for the expected score between them.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSupposing Player A was expected to score Ea points (but actually scored Sa).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe formula for updating his rating is :\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis update can be performed after each game or each tournament, or after any suitable rating period.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSuppose Player A has a rating\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRa\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of 1613, and plays in a five-round tournament. He (or she) loses to a player rated 1609, draws with a player rated 1477, defeats a player rated 1388, defeats a player rated 1586, and loses to a player rated 1720. The player's actual score\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eSa\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is (0 + 0.5 + 1 + 1 + 0) = 2.5. The expected score\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eEa\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e , calculated according to the formula see in Problem 3056, was (0.506 + 0.686 + 0.785 + 0.539 + 0.351) = 2.867. Therefore the player's new rating\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eR'a\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is (1613 + 32×(2.5 − 2.867)) = 1601. We assume that the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eK\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e factor is always 32.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI give you rating of Player A, ratings of their opponents and results.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCompute the new rating (K = 32).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAAWBAMAAABOJX+pAAAAMFBMVEX///8wMDDMzMwEBASKiooWFhZiYmKenp62trbm5uZQUFBAQEAMDAwiIiJ0dHQAAAB7s/cyAAAAAXRSTlMAQObYZgAAAzpJREFUeNq9VllIVFEY/mZxFmfcSAxCdJSoJKkRCiQhhyAKhZrESerJjBRc6ELQAmJTQRAFjpAPLdaET5EPPmRRJA4aSQulBrYQNiHai+aQozkq2n/uMs7cOSMW1A/33P/cf/nO+ZdzLiCTyYZ/TVqFWXDjv1Hz3+2rak1ayeJG9MBkSo92oiLLz1EZnAhkPxJ4grJiz/mmS279CM0SvUlfa2OVGpp7sDEtlbE/byiZ+gU88/RzNyvA8pIrcABtFIkcloYhGJ5zdExBkvkkPkfO11II6CsL8Vz6PVjcyRU4YeqjSNAyoTuAeZ7SUgI9AVlfkLCMlYBQz01XNUlnI+YD4fgIKPbSu5AeN2Gu5xgbK2jolHiDV8KapZCOPOViHaOVfeEJsmH4xPJGy0QNPXZeiTtRCTmGIb+ElW9D2+gctyF6YX7Hc2MKmd8z62UPDe0foLiMIveAuRNKxdVIdehbHmv8HtawlIjO2tloNYzXdYGbirNZ7D3nIJAzQsFBXnP6O4YveJVJv4S1bdTcvSusMfNgRXt6yH6bV2FYeD01L2Kyip5vvbiXh1XdsvV0eHLtsPginJP8FtR5YRALKUFVG7pe9LDwpcjzQ2xwsiGXUZ74sQgG8VgSjevEfGm7ZbVYyh+QUWqZ4y6X64TLJcLlZ0EQm9QjRgaMN9xn7qYYTYrJfgIdTIqxdG5YtZI+IXaq8uW7B42DzXxpNJbSvuwQQ+wrwDDzEKQh9zPgugs0LrOgToUXak2g7mu4ohi3sm8aSu+M2AMx7ZxJUWJbNlod0TFcR8sLMn+Up2+A+QjxgiqzGrtkIBmnSzGkjOw3++WFqboIQfcd4NyMqvuoCBc1rJCov3YIuL6Z9u4pUzUMuWzzKMYPYX6rt5Rf9QiFeTT/8UYF1bX7xT795URox+vbYwQtiR+3IInWfauodOk4wTvqtkfqWMrrA0erphVj6t+IM9yEjDg3ghHJTtUZJZN5pYcFjK1irPdGfdxUPRgHqxJG+fBIVYseK4wBOLWKcZIt8l5Gyc10PlROFTa8ktiAWjauJCfDpu3wxjduirod4y5sVWJ3xFooKiDaTJs22/vnYHvW9g8gtvNvC0XkMLGLXXkAAAAASUVORK5CYII=\"}]}"}],"term":"tag:\"rating\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"rating\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"rating\"","","\"","rating","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fbf31bfe3a0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fbf31bfe300\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fbf31bfda40\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fbf31bfe620\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fbf31bfe580\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fbf31bfe4e0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fbf31bfe440\u003e":"tag:\"rating\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fbf31bfe440\u003e":"tag:\"rating\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"rating\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"rating\"","","\"","rating","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fbf31bfe3a0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fbf31bfe300\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fbf31bfda40\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fbf31bfe620\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fbf31bfe580\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fbf31bfe4e0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fbf31bfe440\u003e":"tag:\"rating\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fbf31bfe440\u003e":"tag:\"rating\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":3057,"difficulty_rating":"easy-medium"}]}}