{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.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":"2025-12-14T00: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":42397,"title":"Megan's walk","description":"Can you make \u003chttp://www.mathworks.com/matlabcentral/fileexchange/51139-megan-simulator--xkcd- Megan\u003e (a stick-figure model of the popular XKCD character) walk straight?\r\n\r\nhttp://www.alfnie.com/software/ms_walk.jpg\r\n\r\nMegan's pose is defined by a 20-element \"pose\" vector. In this problem you are tasked with defining two pose vectors x1 and x2 such that the cyclic trajectory defined as:\r\n\r\n x(t) = sin(2*pi*t)*x1 + cos(2*pi*t)*x2\r\n\r\nresults in Megan walking as straight and as far as possible. \r\n\r\nThe vectors x1 and x2 must contain real numbers with absolute values not higher than 2. Your code will be scored as a function of how far (and straight) Megan reaches when the cyclic trajectory above is repeated between t=0 and t=4 (four full cycles). Megan needs to walk forward a minimum of 100 units (approximately 1m) to pass this problem (see testsuite for details)\r\n\r\nI will update the links below with some of the best solutions:\r\n\r\n* \u003chttp://www.alfnie.com/software/ms_walk.mp4 Here\u003e a video of this problem's reference solution walking example (distance 4.59m)\r\n* \u003chttp://www.alfnie.com/software/ms_walk_689805.mp4 Here\u003e a video of LY Cao leapfrogging strategy (solution \u003chttp://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/689805 689805\u003e;  distance 14.43m)\r\n* \u003chttp://www.alfnie.com/software/ms_walk_689912.mp4 Here\u003e a video of James \"walking with an attitude\" solution (solution \u003chttp://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/689912 689912\u003e; distance 4.95m)\r\n* \u003chttp://www.alfnie.com/software/ms_walk_690182.mp4 Here\u003e a video of LY Cao \"bitten by a radioactive spider\" solution (solution \u003chttp://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/690182 690182\u003e; distance 39.95m!)\r\n\r\nGood luck and have fun!\r\n","description_html":"\u003cp\u003eCan you make \u003ca href = \"http://www.mathworks.com/matlabcentral/fileexchange/51139-megan-simulator--xkcd-\"\u003eMegan\u003c/a\u003e (a stick-figure model of the popular XKCD character) walk straight?\u003c/p\u003e\u003cp\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk.jpg\"\u003ehttp://www.alfnie.com/software/ms_walk.jpg\u003c/a\u003e\u003c/p\u003e\u003cp\u003eMegan's pose is defined by a 20-element \"pose\" vector. In this problem you are tasked with defining two pose vectors x1 and x2 such that the cyclic trajectory defined as:\u003c/p\u003e\u003cpre\u003e x(t) = sin(2*pi*t)*x1 + cos(2*pi*t)*x2\u003c/pre\u003e\u003cp\u003eresults in Megan walking as straight and as far as possible.\u003c/p\u003e\u003cp\u003eThe vectors x1 and x2 must contain real numbers with absolute values not higher than 2. Your code will be scored as a function of how far (and straight) Megan reaches when the cyclic trajectory above is repeated between t=0 and t=4 (four full cycles). Megan needs to walk forward a minimum of 100 units (approximately 1m) to pass this problem (see testsuite for details)\u003c/p\u003e\u003cp\u003eI will update the links below with some of the best solutions:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk.mp4\"\u003eHere\u003c/a\u003e a video of this problem's reference solution walking example (distance 4.59m)\u003c/li\u003e\u003cli\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk_689805.mp4\"\u003eHere\u003c/a\u003e a video of LY Cao leapfrogging strategy (solution \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/689805\"\u003e689805\u003c/a\u003e;  distance 14.43m)\u003c/li\u003e\u003cli\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk_689912.mp4\"\u003eHere\u003c/a\u003e a video of James \"walking with an attitude\" solution (solution \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/689912\"\u003e689912\u003c/a\u003e; distance 4.95m)\u003c/li\u003e\u003cli\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk_690182.mp4\"\u003eHere\u003c/a\u003e a video of LY Cao \"bitten by a radioactive spider\" solution (solution \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/690182\"\u003e690182\u003c/a\u003e; distance 39.95m!)\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eGood luck and have fun!\u003c/p\u003e","function_template":"function [x1,x2] = MeganWalk(~)\r\nx1=randn(20,1);\r\nx2=randn(20,1);\r\nx1=x1/max(1,max(abs(x1))/2);\r\nx2=x2/max(1,max(abs(x2))/2);\r\n","test_suite":"%%\r\n\r\n% prepares SetSolutionScore\r\nurlwrite('https://sites.google.com/a/alfnie.com/alfnie/software/SetSolutionScore.p?attredirects=0\u0026amp;d=1','SetSolutionScore.p');\r\nrehash path; \r\nSetSolutionScore(5000);\r\n\r\n% download Megan model\r\nunzip('http://www.mathworks.com/matlabcentral/fileexchange/51139-megan-simulator--xkcd-zip-file?download=true');\r\n!/bin/mv Megan/* .; /bin/rmdir Megan\r\n\r\n% gets x1 x2 vectors\r\n[x1, x2]=MeganWalk();\r\nassert(isequal(size(x1),[20 1])\u0026isequal(size(x2),[20 1]),'incorrect output sizes');\r\nassert(max(max(abs(x1)),max(abs(x2)))\u003c=2,'vector values beyond 2');\r\n\r\n% tests trajectory\r\nt = 0:1/20:4-1/20;\r\nx = x1*sin(2*pi*t) + x2*cos(2*pi*t);\r\nmg=drawMegan(x,[],...\r\n   'scene','none',...\r\n   'defs_physicsspin',0,...\r\n   'plot',0);\r\nclose all;\r\n\r\n% distance walked\r\npos=mg.state.laststep(1:2);\r\ndistance=round(-pos(1,2)-abs(pos(1,1)));\r\nstr=sprintf('Distance walked %d',distance);\r\ndisp(str);\r\n\r\n% sets solution score\r\nSetSolutionScore(5000-distance);\r\nassert(distance\u003e100,str);\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":2,"created_by":43,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2015-06-23T16:38:01.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-06-22T02:52:19.000Z","updated_at":"2025-12-16T04:46:07.000Z","published_at":"2015-06-22T02:57:09.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\":[],\"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\u003eCan you make\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/fileexchange/51139-megan-simulator--xkcd-\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eMegan\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e (a stick-figure model of the popular XKCD character) walk straight?\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:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk.jpg\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ehttp://www.alfnie.com/software/ms_walk.jpg\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\u003eMegan's pose is defined by a 20-element \\\"pose\\\" vector. In this problem you are tasked with defining two pose vectors x1 and x2 such that the cyclic trajectory defined as:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ x(t) = sin(2*pi*t)*x1 + cos(2*pi*t)*x2]]\u003e\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\u003eresults in Megan walking as straight and as far as possible.\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 vectors x1 and x2 must contain real numbers with absolute values not higher than 2. Your code will be scored as a function of how far (and straight) Megan reaches when the cyclic trajectory above is repeated between t=0 and t=4 (four full cycles). Megan needs to walk forward a minimum of 100 units (approximately 1m) to pass this problem (see testsuite for details)\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 will update the links below with some of the best solutions:\u003c/w:t\u003e\u003c/w:r\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\u003cw:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk.mp4\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e a video of this problem's reference solution walking example (distance 4.59m)\u003c/w:t\u003e\u003c/w:r\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\u003cw:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk_689805.mp4\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e a video of LY Cao leapfrogging strategy (solution\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/42397-megan-s-walk/solutions/689805\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e689805\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e; distance 14.43m)\u003c/w:t\u003e\u003c/w:r\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\u003cw:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk_689912.mp4\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e a video of James \\\"walking with an attitude\\\" solution (solution\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/42397-megan-s-walk/solutions/689912\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e689912\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e; distance 4.95m)\u003c/w:t\u003e\u003c/w:r\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\u003cw:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk_690182.mp4\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e a video of LY Cao \\\"bitten by a radioactive spider\\\" solution (solution\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/42397-megan-s-walk/solutions/690182\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e690182\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e; distance 39.95m!)\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\u003eGood luck and have fun!\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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":42397,"title":"Megan's walk","description":"Can you make \u003chttp://www.mathworks.com/matlabcentral/fileexchange/51139-megan-simulator--xkcd- Megan\u003e (a stick-figure model of the popular XKCD character) walk straight?\r\n\r\nhttp://www.alfnie.com/software/ms_walk.jpg\r\n\r\nMegan's pose is defined by a 20-element \"pose\" vector. In this problem you are tasked with defining two pose vectors x1 and x2 such that the cyclic trajectory defined as:\r\n\r\n x(t) = sin(2*pi*t)*x1 + cos(2*pi*t)*x2\r\n\r\nresults in Megan walking as straight and as far as possible. \r\n\r\nThe vectors x1 and x2 must contain real numbers with absolute values not higher than 2. Your code will be scored as a function of how far (and straight) Megan reaches when the cyclic trajectory above is repeated between t=0 and t=4 (four full cycles). Megan needs to walk forward a minimum of 100 units (approximately 1m) to pass this problem (see testsuite for details)\r\n\r\nI will update the links below with some of the best solutions:\r\n\r\n* \u003chttp://www.alfnie.com/software/ms_walk.mp4 Here\u003e a video of this problem's reference solution walking example (distance 4.59m)\r\n* \u003chttp://www.alfnie.com/software/ms_walk_689805.mp4 Here\u003e a video of LY Cao leapfrogging strategy (solution \u003chttp://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/689805 689805\u003e;  distance 14.43m)\r\n* \u003chttp://www.alfnie.com/software/ms_walk_689912.mp4 Here\u003e a video of James \"walking with an attitude\" solution (solution \u003chttp://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/689912 689912\u003e; distance 4.95m)\r\n* \u003chttp://www.alfnie.com/software/ms_walk_690182.mp4 Here\u003e a video of LY Cao \"bitten by a radioactive spider\" solution (solution \u003chttp://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/690182 690182\u003e; distance 39.95m!)\r\n\r\nGood luck and have fun!\r\n","description_html":"\u003cp\u003eCan you make \u003ca href = \"http://www.mathworks.com/matlabcentral/fileexchange/51139-megan-simulator--xkcd-\"\u003eMegan\u003c/a\u003e (a stick-figure model of the popular XKCD character) walk straight?\u003c/p\u003e\u003cp\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk.jpg\"\u003ehttp://www.alfnie.com/software/ms_walk.jpg\u003c/a\u003e\u003c/p\u003e\u003cp\u003eMegan's pose is defined by a 20-element \"pose\" vector. In this problem you are tasked with defining two pose vectors x1 and x2 such that the cyclic trajectory defined as:\u003c/p\u003e\u003cpre\u003e x(t) = sin(2*pi*t)*x1 + cos(2*pi*t)*x2\u003c/pre\u003e\u003cp\u003eresults in Megan walking as straight and as far as possible.\u003c/p\u003e\u003cp\u003eThe vectors x1 and x2 must contain real numbers with absolute values not higher than 2. Your code will be scored as a function of how far (and straight) Megan reaches when the cyclic trajectory above is repeated between t=0 and t=4 (four full cycles). Megan needs to walk forward a minimum of 100 units (approximately 1m) to pass this problem (see testsuite for details)\u003c/p\u003e\u003cp\u003eI will update the links below with some of the best solutions:\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk.mp4\"\u003eHere\u003c/a\u003e a video of this problem's reference solution walking example (distance 4.59m)\u003c/li\u003e\u003cli\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk_689805.mp4\"\u003eHere\u003c/a\u003e a video of LY Cao leapfrogging strategy (solution \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/689805\"\u003e689805\u003c/a\u003e;  distance 14.43m)\u003c/li\u003e\u003cli\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk_689912.mp4\"\u003eHere\u003c/a\u003e a video of James \"walking with an attitude\" solution (solution \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/689912\"\u003e689912\u003c/a\u003e; distance 4.95m)\u003c/li\u003e\u003cli\u003e\u003ca href = \"http://www.alfnie.com/software/ms_walk_690182.mp4\"\u003eHere\u003c/a\u003e a video of LY Cao \"bitten by a radioactive spider\" solution (solution \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/42397-megan-s-walk/solutions/690182\"\u003e690182\u003c/a\u003e; distance 39.95m!)\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eGood luck and have fun!\u003c/p\u003e","function_template":"function [x1,x2] = MeganWalk(~)\r\nx1=randn(20,1);\r\nx2=randn(20,1);\r\nx1=x1/max(1,max(abs(x1))/2);\r\nx2=x2/max(1,max(abs(x2))/2);\r\n","test_suite":"%%\r\n\r\n% prepares SetSolutionScore\r\nurlwrite('https://sites.google.com/a/alfnie.com/alfnie/software/SetSolutionScore.p?attredirects=0\u0026amp;d=1','SetSolutionScore.p');\r\nrehash path; \r\nSetSolutionScore(5000);\r\n\r\n% download Megan model\r\nunzip('http://www.mathworks.com/matlabcentral/fileexchange/51139-megan-simulator--xkcd-zip-file?download=true');\r\n!/bin/mv Megan/* .; /bin/rmdir Megan\r\n\r\n% gets x1 x2 vectors\r\n[x1, x2]=MeganWalk();\r\nassert(isequal(size(x1),[20 1])\u0026isequal(size(x2),[20 1]),'incorrect output sizes');\r\nassert(max(max(abs(x1)),max(abs(x2)))\u003c=2,'vector values beyond 2');\r\n\r\n% tests trajectory\r\nt = 0:1/20:4-1/20;\r\nx = x1*sin(2*pi*t) + x2*cos(2*pi*t);\r\nmg=drawMegan(x,[],...\r\n   'scene','none',...\r\n   'defs_physicsspin',0,...\r\n   'plot',0);\r\nclose all;\r\n\r\n% distance walked\r\npos=mg.state.laststep(1:2);\r\ndistance=round(-pos(1,2)-abs(pos(1,1)));\r\nstr=sprintf('Distance walked %d',distance);\r\ndisp(str);\r\n\r\n% sets solution score\r\nSetSolutionScore(5000-distance);\r\nassert(distance\u003e100,str);\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":2,"created_by":43,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2015-06-23T16:38:01.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-06-22T02:52:19.000Z","updated_at":"2025-12-16T04:46:07.000Z","published_at":"2015-06-22T02:57:09.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\":[],\"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\u003eCan you make\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/fileexchange/51139-megan-simulator--xkcd-\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eMegan\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e (a stick-figure model of the popular XKCD character) walk straight?\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:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk.jpg\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ehttp://www.alfnie.com/software/ms_walk.jpg\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\u003eMegan's pose is defined by a 20-element \\\"pose\\\" vector. In this problem you are tasked with defining two pose vectors x1 and x2 such that the cyclic trajectory defined as:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ x(t) = sin(2*pi*t)*x1 + cos(2*pi*t)*x2]]\u003e\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\u003eresults in Megan walking as straight and as far as possible.\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 vectors x1 and x2 must contain real numbers with absolute values not higher than 2. Your code will be scored as a function of how far (and straight) Megan reaches when the cyclic trajectory above is repeated between t=0 and t=4 (four full cycles). Megan needs to walk forward a minimum of 100 units (approximately 1m) to pass this problem (see testsuite for details)\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 will update the links below with some of the best solutions:\u003c/w:t\u003e\u003c/w:r\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\u003cw:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk.mp4\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e a video of this problem's reference solution walking example (distance 4.59m)\u003c/w:t\u003e\u003c/w:r\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\u003cw:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk_689805.mp4\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e a video of LY Cao leapfrogging strategy (solution\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/42397-megan-s-walk/solutions/689805\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e689805\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e; distance 14.43m)\u003c/w:t\u003e\u003c/w:r\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\u003cw:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk_689912.mp4\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e a video of James \\\"walking with an attitude\\\" solution (solution\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/42397-megan-s-walk/solutions/689912\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e689912\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e; distance 4.95m)\u003c/w:t\u003e\u003c/w:r\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\u003cw:hyperlink w:docLocation=\\\"http://www.alfnie.com/software/ms_walk_690182.mp4\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eHere\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e a video of LY Cao \\\"bitten by a radioactive spider\\\" solution (solution\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/42397-megan-s-walk/solutions/690182\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e690182\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e; distance 39.95m!)\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\u003eGood luck and have fun!\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\"}]}"}],"term":"tag:\"inverse control\"","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:\"inverse control\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"inverse control\"","","\"","inverse control","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f46045ca160\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f46045ca0c0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f46045c9800\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f46045ca3e0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f46045ca340\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f46045ca2a0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f46045ca200\u003e":"tag:\"inverse control\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f46045ca200\u003e":"tag:\"inverse control\""},"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":"search","password":"J3bGPZzQ7asjJcCk","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:\"inverse control\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"inverse control\"","","\"","inverse control","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f46045ca160\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f46045ca0c0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f46045c9800\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f46045ca3e0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f46045ca340\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f46045ca2a0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f46045ca200\u003e":"tag:\"inverse control\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f46045ca200\u003e":"tag:\"inverse control\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":42397,"difficulty_rating":"hard"}]}}