{"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":2,"title":"Make the vector [1 2 3 4 5 6 7 8 9 10]","description":"In MATLAB, you create a vector by enclosing the elements in square brackets like so:\r\n\r\n x = [1 2 3 4]\r\n\r\nCommas are optional, so you can also type\r\n\r\n x = [1, 2, 3, 4]\r\n\r\nCreate the vector\r\n\r\n x = [1 2 3 4 5 6 7 8 9 10]\r\n\r\nThere's a faster way to do it using MATLAB's \u003chttp://www.mathworks.com/help/techdoc/ref/colon.html colon notation\u003e.","description_html":"\u003cp\u003eIn MATLAB, you create a vector by enclosing the elements in square brackets like so:\u003c/p\u003e\u003cpre\u003e x = [1 2 3 4]\u003c/pre\u003e\u003cp\u003eCommas are optional, so you can also type\u003c/p\u003e\u003cpre\u003e x = [1, 2, 3, 4]\u003c/pre\u003e\u003cp\u003eCreate the vector\u003c/p\u003e\u003cpre\u003e x = [1 2 3 4 5 6 7 8 9 10]\u003c/pre\u003e\u003cp\u003eThere's a faster way to do it using MATLAB's \u003ca href = \"http://www.mathworks.com/help/techdoc/ref/colon.html\"\u003ecolon notation\u003c/a\u003e.\u003c/p\u003e","function_template":"function x = oneToTen\r\n  x = 0;\r\nend","test_suite":"%%\r\nx_correct = [1 2 3 4 5 6 7 8 9 10];\r\nassert(isequal(oneToTen,x_correct))","published":true,"deleted":false,"likes_count":224,"comments_count":56,"created_by":1,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":52937,"test_suite_updated_at":"2012-01-18T01:00:17.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:17.000Z","updated_at":"2026-04-08T21:36:01.000Z","published_at":"2012-01-18T01:00:17.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\u003eIn MATLAB, you create a vector by enclosing the elements in square brackets like so:\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 = [1 2 3 4]]]\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\u003eCommas are optional, so you can also type\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 = [1, 2, 3, 4]]]\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\u003eCreate the vector\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 = [1 2 3 4 5 6 7 8 9 10]]]\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\u003eThere's a faster way to do it using MATLAB's\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/help/techdoc/ref/colon.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ecolon notation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\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\"}]}"},{"id":52005,"title":"Vector creation using colon operator","description":"Create a vector y containing n uniformly spaced values between a and b, with a \u003c b. Use the colon (:) operator.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 21px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 10.5px; transform-origin: 407px 10.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 91px 8px; transform-origin: 91px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCreate a vector y containing \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4.5px 8px; transform-origin: 4.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003en\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 108.5px 8px; transform-origin: 108.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e uniformly spaced values between \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ea\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 16px 8px; transform-origin: 16px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4.5px 8px; transform-origin: 4.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eb\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 120.5px 8px; transform-origin: 120.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, with a \u0026lt; b. Use the colon (:) operator.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = your_fcn_name(a,b,n) %% Do not change this line\r\n  y = 1;\r\nend %% Do not change this line","test_suite":"%%\r\na = 2; b = 12; n = 6;\r\ny_correct = [2 4 6 8 10 12];\r\nassert(isequal(your_fcn_name(a,b,n),y_correct))\r\n%%\r\na = 10; b = 100; n = 11;\r\ny_correct = [ 10    19    28    37    46    55    64    73    82    91   100];\r\nassert(isequal(your_fcn_name(a,b,n),y_correct))\r\n%%\r\nfiletext = fileread('your_fcn_name.m');\r\nassert(isempty(strfind(filetext, 'linspace')),'linspace forbidden')\r\n%%\r\nfiletext = fileread('your_fcn_name.m');\r\nassert(isempty(strfind(filetext, ':'))==0,'use colon (:) operator')","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":428668,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":41,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-06-06T02:04:54.000Z","updated_at":"2026-03-05T16:12:30.000Z","published_at":"2021-06-06T02:04:54.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCreate a vector y containing \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e uniformly spaced values between \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ea\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, with a \u0026lt; b. Use the colon (:) operator.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1118,"title":"Colon operator of two vectors","description":"You are given two vectors of equal length: VecStart,  VecEnd \r\n\r\nEach vector contain a set of integers, where VecEnd(j)\u003e=VecStart(j)\r\n\r\nYou have to return a set (vector) of integers of the following form:\r\n\r\nOutput =...\r\n [ VecStart(1):VecEnd(1),  VecStart(2):VecEnd(2),..,VecStart(end):VecEnd(end)]\r\n\r\nFor example:\r\n\r\nVecStart = [1 10 4]\r\n\r\nVecEnd = [3 10 7]\r\n\r\n--\u003e  Output = [1 2 3 10 4 5 6 7]\r\n\r\n\r\n","description_html":"\u003cp\u003eYou are given two vectors of equal length: VecStart,  VecEnd\u003c/p\u003e\u003cp\u003eEach vector contain a set of integers, where VecEnd(j)\u003e=VecStart(j)\u003c/p\u003e\u003cp\u003eYou have to return a set (vector) of integers of the following form:\u003c/p\u003e\u003cp\u003eOutput =...\r\n [ VecStart(1):VecEnd(1),  VecStart(2):VecEnd(2),..,VecStart(end):VecEnd(end)]\u003c/p\u003e\u003cp\u003eFor example:\u003c/p\u003e\u003cp\u003eVecStart = [1 10 4]\u003c/p\u003e\u003cp\u003eVecEnd = [3 10 7]\u003c/p\u003e\u003cp\u003e--\u003e  Output = [1 2 3 10 4 5 6 7]\u003c/p\u003e","function_template":"function y = vec_colon(VecStart, VecEnd)\r\n  y = [];\r\nend","test_suite":"%% case 1\r\nVecStart= [10 20 30 40 50 ];\r\nVecEnd = [11 22 33 44 50];\r\ny_correct = [10 11 20 21 22 30 31 32 33 40 41 42 43 44 50];\r\nassert(isequal(vec_colon(VecStart,VecEnd ),y_correct))\r\n\r\n%% case 2\r\nVecStart= [2 10 5 15 10 5 2 100 ];\r\nVecEnd = [3 10 6 17 12 7 3 102];\r\ny_correct = [2 3 10 5 6 15 16 17 10 11 12 5 6 7 2 3 100 101 102];\r\nassert(isequal(vec_colon(VecStart,VecEnd ),y_correct))\r\n\r\n%% case 3\r\nVecStart = [1:10:500];\r\nVecEnd = [10:10:500];\r\ny_correct = [1:500];\r\nassert(isequal(vec_colon(VecStart,VecEnd ),y_correct))\r\n\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":165,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":224,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-12-12T07:19:36.000Z","updated_at":"2026-04-02T12:34:45.000Z","published_at":"2012-12-12T08:35:33.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\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"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\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\u003eYou are given two vectors of equal length: VecStart, VecEnd\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEach vector contain a set of integers, where VecEnd(j)\u003e=VecStart(j)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou have to return a set (vector) of integers of the following form:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput =... [ VecStart(1):VecEnd(1), VecStart(2):VecEnd(2),..,VecStart(end):VecEnd(end)]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eVecStart = [1 10 4]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eVecEnd = [3 10 7]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e--\u003e Output = [1 2 3 10 4 5 6 7]\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\"}]}"},{"id":1986,"title":"Another colon problem","description":"This is simple problem based on problems 555, 801, 1118, etc.\r\n\r\nCreate an index vector from two input vectors.\r\n\r\nExample:\r\n\r\n  input: [1 8 12] [4 5 9]\r\n output: [1 2 3 4 8 7 6 5 12 11 10 9]","description_html":"\u003cp\u003eThis is simple problem based on problems 555, 801, 1118, etc.\u003c/p\u003e\u003cp\u003eCreate an index vector from two input vectors.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003einput: [1 8 12] [4 5 9]\r\noutput: [1 2 3 4 8 7 6 5 12 11 10 9]\r\n\u003c/pre\u003e","function_template":"function out = another(in1,in2)\r\n  out=in1:in2;\r\nend","test_suite":"%%\r\nassert(isequal(another([1 8 12],[4 5 9]),[1 2 3 4 8 7 6 5 12 11 10 9]))\r\n%%\r\nassert(isequal(another([5 5 5],[9 5 1]),[5 6 7 8 9 5 5 4 3 2 1]))\r\n%%\r\nassert(isequal(another([100 102],[-1 105]),[100:-1:-1 102 103 104 105]))\r\n%%\r\ny=[randi(20) randi([30 40],1,2) randi(3)];\r\nassert(isequal(another(y(1:2:3),y(2:2:4)),[y(1):y(2) y(3):-1:y(4)]))\r\n%%\r\nassert(isequal(another([1 2 1 2 2 2 1 1 1],[1 2 1 1 2 1 2 2 1]),[1 2 1 2 1 2 2 1 1 2 1 2 1]))","published":true,"deleted":false,"likes_count":3,"comments_count":1,"created_by":14358,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":166,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":21,"created_at":"2013-11-13T12:47:02.000Z","updated_at":"2026-02-16T09:53:03.000Z","published_at":"2013-11-13T12:50:06.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\u003eThis is simple problem based on problems 555, 801, 1118, etc.\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\u003eCreate an index vector from two input vectors.\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\u003eExample:\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[input: [1 8 12] [4 5 9]\\noutput: [1 2 3 4 8 7 6 5 12 11 10 9]]]\u003e\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\"}]}"},{"id":1066,"title":"Multiples of a Number in a Given Range","description":"Given an integer factor _f_ and a range defined by _xlow_ and _xhigh_ inclusive, return a vector of the multiples of _f_ that fall in the specified range.\r\n\r\nExample:\r\n\r\n    f = 10;\r\n    xlow = 35;\r\n    xhigh = 112;\r\n    multiples = bounded_multiples(f, xlow, xhigh);\r\n\r\nOutputs\r\n\r\n    multiples = [ 40 50 60 70 80 90 100 110 ];","description_html":"\u003cp\u003eGiven an integer factor \u003ci\u003ef\u003c/i\u003e and a range defined by \u003ci\u003exlow\u003c/i\u003e and \u003ci\u003exhigh\u003c/i\u003e inclusive, return a vector of the multiples of \u003ci\u003ef\u003c/i\u003e that fall in the specified range.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e    f = 10;\r\n    xlow = 35;\r\n    xhigh = 112;\r\n    multiples = bounded_multiples(f, xlow, xhigh);\u003c/pre\u003e\u003cp\u003eOutputs\u003c/p\u003e\u003cpre\u003e    multiples = [ 40 50 60 70 80 90 100 110 ];\u003c/pre\u003e","function_template":"function multiples = bounded_multiples(f, xlow, xhigh)\r\n  multiples = f*2;\r\nend","test_suite":"%%\r\nassert(isequal(bounded_multiples(66,119,163),132))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(50,341,960),[350 400 450 500 550 600 650 700 750 800 850 900 950]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(59,224,752),[236 295 354 413 472 531 590 649 708]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(26,506,700),[520 546 572 598 624 650 676]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(90,548,960),[630 720 810 900]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(14,150,258),[154 168 182 196 210 224 238 252]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(85,255,815),[255 340 425 510 595 680 765]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(25,350,930),[350 375 400 425 450 475 500 525 550 575 600 625 650 675 700 725 750 775 800 825 850 875 900 925]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(20,252,617),[260 280 300 320 340 360 380 400 420 440 460 480 500 520 540 560 580 600]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(48,352,831),[384 432 480 528 576 624 672 720 768 816]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(59,550,918),[590 649 708 767 826 885]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(29,754,758),754))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(39,76,568),[78 117 156 195 234 273 312 351 390 429 468 507 546]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(6,531,780),[534 540 546 552 558 564 570 576 582 588 594 600 606 612 618 624 630 636 642 648 654 660 666 672 678 684 690 696 702 708 714 720 726 732 738 744 750 756 762 768 774 780]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(94,130,569),[188 282 376 470 564]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(47,12,338),[47 94 141 188 235 282 329]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(17,312,795),[323 340 357 374 391 408 425 442 459 476 493 510 527 544 561 578 595 612 629 646 663 680 697 714 731 748 765 782]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(53,166,602),[212 265 318 371 424 477 530 583]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(27,655,690),675))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(75,84,451),[150 225 300 375 450]))\r\n","published":true,"deleted":false,"likes_count":5,"comments_count":1,"created_by":134,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":939,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-11-27T06:14:53.000Z","updated_at":"2026-01-12T18:29:19.000Z","published_at":"2012-12-04T19:54:23.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\u003eGiven an integer factor\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and a range defined by\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003exlow\u003c/w:t\u003e\u003c/w:r\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:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003exhigh\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e inclusive, return a vector of the multiples of\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e that fall in the specified range.\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\u003eExample:\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[    f = 10;\\n    xlow = 35;\\n    xhigh = 112;\\n    multiples = bounded_multiples(f, xlow, xhigh);]]\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\u003eOutputs\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[    multiples = [ 40 50 60 70 80 90 100 110 ];]]\u003e\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\"}]}"},{"id":2159,"title":"A SUBSREF variant that accepts the 'end'-operator.","description":"Unfortunately, Matlab's |subsref| function does not support the |end| -operator. The |end| -operator is a powerfull method to refer to the rear-end of an array, \r\n\r\n a = 1:10;\r\n a(end-1) % is 9\r\n a(end-2:end) % is [8 9 10]\r\n\r\nIt works similar for cell arrays and struct-arrays.\r\n\r\nAlhough |subsref| is quite powerful, and accepts for example the |:| colon oparator, it fails to process more complex stings, including |end| -operators.\r\n\r\nThis assignment is to create a function that accepts those more complex element definitions.\r\n\r\nFor example\r\n\r\n s.a.b(3).c{2}.d = 'a':'z';\r\n subsref(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{1:3})) \r\n\r\nreturns \r\n\r\n ans = \r\n\r\n abc  \r\n\r\nAnd \r\n\r\n  subsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'[1 end]'})) \r\n\r\nshould return\r\n\r\n ans = \r\n\r\n az  \r\n\r\nand \r\n\r\n  subsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'end-2:end'})) \r\n\r\nshould return\r\n\r\n ans =\r\n  \r\n xyz\r\n\r\nThe function |subsrefbetter| should accept both structures like created with |substruct|, and list of arguments like accepted by |substruct|.\r\n\r\nThat's all.","description_html":"\u003cp\u003eUnfortunately, Matlab's \u003ctt\u003esubsref\u003c/tt\u003e function does not support the \u003ctt\u003eend\u003c/tt\u003e -operator. The \u003ctt\u003eend\u003c/tt\u003e -operator is a powerfull method to refer to the rear-end of an array,\u003c/p\u003e\u003cpre\u003e a = 1:10;\r\n a(end-1) % is 9\r\n a(end-2:end) % is [8 9 10]\u003c/pre\u003e\u003cp\u003eIt works similar for cell arrays and struct-arrays.\u003c/p\u003e\u003cp\u003eAlhough \u003ctt\u003esubsref\u003c/tt\u003e is quite powerful, and accepts for example the \u003ctt\u003e:\u003c/tt\u003e colon oparator, it fails to process more complex stings, including \u003ctt\u003eend\u003c/tt\u003e -operators.\u003c/p\u003e\u003cp\u003eThis assignment is to create a function that accepts those more complex element definitions.\u003c/p\u003e\u003cp\u003eFor example\u003c/p\u003e\u003cpre\u003e s.a.b(3).c{2}.d = 'a':'z';\r\n subsref(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{1:3})) \u003c/pre\u003e\u003cp\u003ereturns\u003c/p\u003e\u003cpre\u003e ans = \u003c/pre\u003e\u003cpre\u003e abc  \u003c/pre\u003e\u003cp\u003eAnd\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003esubsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'[1 end]'})) \r\n\u003c/pre\u003e\u003cp\u003eshould return\u003c/p\u003e\u003cpre\u003e ans = \u003c/pre\u003e\u003cpre\u003e az  \u003c/pre\u003e\u003cp\u003eand\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003esubsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'end-2:end'})) \r\n\u003c/pre\u003e\u003cp\u003eshould return\u003c/p\u003e\u003cpre\u003e ans =\u003c/pre\u003e\u003cpre\u003e xyz\u003c/pre\u003e\u003cp\u003eThe function \u003ctt\u003esubsrefbetter\u003c/tt\u003e should accept both structures like created with \u003ctt\u003esubstruct\u003c/tt\u003e, and list of arguments like accepted by \u003ctt\u003esubstruct\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eThat's all.\u003c/p\u003e","function_template":"function y = subsrefbetter(s,varargin)\r\n  if isstruct(varargin{1})\r\n    def = varargin{1};\r\n  else\r\n    def = substruct(varargin{:});\r\n  end\r\n  y = subsref(s,def);\r\nend","test_suite":"%%\r\nnocheat = isempty(regexp(evalc('type subsrefbetter'),'(eval|regexprep|inline|str2func)'));\r\ns.a.b(3).c{2}.d = 'a':'z';\r\ndef = substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{1:3});\r\ny = subsrefbetter(s,def);\r\nassert(isequal(y,'abc') \u0026\u0026 nocheat)\r\n\r\n%%\r\nnocheat = isempty(regexp(evalc('type subsrefbetter'),'(eval|regexprep|inline|str2func)'));\r\ns.a.B(1).c{2}.d = 'a':'z';\r\ndef = substruct('.','a','.','B','()',{1},'.','c','{}',{2},'.','d','()',{'end'});\r\ny = subsrefbetter(s,def);\r\nassert(isequal(y,'z') \u0026\u0026 nocheat)\r\n\r\n%%\r\nnocheat = isempty(regexp(evalc('type subsrefbetter'),'(eval|regexprep|inline|str2func)'));\r\ns.oz = magic(7);\r\ndef = substruct('.','oz','()',{'end-1' 'end-2:7'});\r\ny = subsrefbetter(s,def);\r\nassert(isequal(y,[43 3 12]) \u0026\u0026 nocheat)\r\n\r\n%%\r\nnocheat = isempty(regexp(evalc('type subsrefbetter'),'(eval|regexprep|inline|str2func)'));\r\n[s(1:3).TiTa] = deal(magic(3));\r\ndef = substruct('()',{2},'.','TiTa','()',{':' ':'});\r\ny = subsrefbetter(s,def);\r\nassert(isequal(y,magic(3)) \u0026\u0026 nocheat)\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":6556,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2014-02-06T14:15:01.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-02-06T13:44:43.000Z","updated_at":"2025-05-03T05:28:58.000Z","published_at":"2014-02-06T14:15: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\":[],\"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\u003eUnfortunately, Matlab's\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubsref\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e function does not support 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e -operator. 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e -operator is a powerfull method to refer to the rear-end of an array,\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[ a = 1:10;\\n a(end-1) % is 9\\n a(end-2:end) % is [8 9 10]]]\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\u003eIt works similar for cell arrays and struct-arrays.\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\u003eAlhough\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubsref\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is quite powerful, and accepts for example 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e colon oparator, it fails to process more complex stings, including\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e -operators.\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\u003eThis assignment is to create a function that accepts those more complex element definitions.\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\u003eFor example\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[ s.a.b(3).c{2}.d = 'a':'z';\\n subsref(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{1:3}))]]\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\u003ereturns\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[ ans = \\n\\n abc]]\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\u003eAnd\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[subsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'[1 end]'}))]]\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\u003eshould return\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[ ans = \\n\\n az]]\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\u003eand\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[subsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'end-2:end'}))]]\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\u003eshould return\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[ ans =\\n\\n xyz]]\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\u003eThe function\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubsrefbetter\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e should accept both structures like created with\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubstruct\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, and list of arguments like accepted by\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubstruct\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\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\u003eThat's all.\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":2,"title":"Make the vector [1 2 3 4 5 6 7 8 9 10]","description":"In MATLAB, you create a vector by enclosing the elements in square brackets like so:\r\n\r\n x = [1 2 3 4]\r\n\r\nCommas are optional, so you can also type\r\n\r\n x = [1, 2, 3, 4]\r\n\r\nCreate the vector\r\n\r\n x = [1 2 3 4 5 6 7 8 9 10]\r\n\r\nThere's a faster way to do it using MATLAB's \u003chttp://www.mathworks.com/help/techdoc/ref/colon.html colon notation\u003e.","description_html":"\u003cp\u003eIn MATLAB, you create a vector by enclosing the elements in square brackets like so:\u003c/p\u003e\u003cpre\u003e x = [1 2 3 4]\u003c/pre\u003e\u003cp\u003eCommas are optional, so you can also type\u003c/p\u003e\u003cpre\u003e x = [1, 2, 3, 4]\u003c/pre\u003e\u003cp\u003eCreate the vector\u003c/p\u003e\u003cpre\u003e x = [1 2 3 4 5 6 7 8 9 10]\u003c/pre\u003e\u003cp\u003eThere's a faster way to do it using MATLAB's \u003ca href = \"http://www.mathworks.com/help/techdoc/ref/colon.html\"\u003ecolon notation\u003c/a\u003e.\u003c/p\u003e","function_template":"function x = oneToTen\r\n  x = 0;\r\nend","test_suite":"%%\r\nx_correct = [1 2 3 4 5 6 7 8 9 10];\r\nassert(isequal(oneToTen,x_correct))","published":true,"deleted":false,"likes_count":224,"comments_count":56,"created_by":1,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":52937,"test_suite_updated_at":"2012-01-18T01:00:17.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:17.000Z","updated_at":"2026-04-08T21:36:01.000Z","published_at":"2012-01-18T01:00:17.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\u003eIn MATLAB, you create a vector by enclosing the elements in square brackets like so:\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 = [1 2 3 4]]]\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\u003eCommas are optional, so you can also type\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 = [1, 2, 3, 4]]]\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\u003eCreate the vector\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 = [1 2 3 4 5 6 7 8 9 10]]]\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\u003eThere's a faster way to do it using MATLAB's\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/help/techdoc/ref/colon.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ecolon notation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\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\"}]}"},{"id":52005,"title":"Vector creation using colon operator","description":"Create a vector y containing n uniformly spaced values between a and b, with a \u003c b. Use the colon (:) operator.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 21px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 10.5px; transform-origin: 407px 10.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 91px 8px; transform-origin: 91px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCreate a vector y containing \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4.5px 8px; transform-origin: 4.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003en\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 108.5px 8px; transform-origin: 108.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e uniformly spaced values between \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ea\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 16px 8px; transform-origin: 16px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4.5px 8px; transform-origin: 4.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eb\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 120.5px 8px; transform-origin: 120.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, with a \u0026lt; b. Use the colon (:) operator.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = your_fcn_name(a,b,n) %% Do not change this line\r\n  y = 1;\r\nend %% Do not change this line","test_suite":"%%\r\na = 2; b = 12; n = 6;\r\ny_correct = [2 4 6 8 10 12];\r\nassert(isequal(your_fcn_name(a,b,n),y_correct))\r\n%%\r\na = 10; b = 100; n = 11;\r\ny_correct = [ 10    19    28    37    46    55    64    73    82    91   100];\r\nassert(isequal(your_fcn_name(a,b,n),y_correct))\r\n%%\r\nfiletext = fileread('your_fcn_name.m');\r\nassert(isempty(strfind(filetext, 'linspace')),'linspace forbidden')\r\n%%\r\nfiletext = fileread('your_fcn_name.m');\r\nassert(isempty(strfind(filetext, ':'))==0,'use colon (:) operator')","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":428668,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":41,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-06-06T02:04:54.000Z","updated_at":"2026-03-05T16:12:30.000Z","published_at":"2021-06-06T02:04:54.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCreate a vector y containing \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e uniformly spaced values between \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ea\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, with a \u0026lt; b. Use the colon (:) operator.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1118,"title":"Colon operator of two vectors","description":"You are given two vectors of equal length: VecStart,  VecEnd \r\n\r\nEach vector contain a set of integers, where VecEnd(j)\u003e=VecStart(j)\r\n\r\nYou have to return a set (vector) of integers of the following form:\r\n\r\nOutput =...\r\n [ VecStart(1):VecEnd(1),  VecStart(2):VecEnd(2),..,VecStart(end):VecEnd(end)]\r\n\r\nFor example:\r\n\r\nVecStart = [1 10 4]\r\n\r\nVecEnd = [3 10 7]\r\n\r\n--\u003e  Output = [1 2 3 10 4 5 6 7]\r\n\r\n\r\n","description_html":"\u003cp\u003eYou are given two vectors of equal length: VecStart,  VecEnd\u003c/p\u003e\u003cp\u003eEach vector contain a set of integers, where VecEnd(j)\u003e=VecStart(j)\u003c/p\u003e\u003cp\u003eYou have to return a set (vector) of integers of the following form:\u003c/p\u003e\u003cp\u003eOutput =...\r\n [ VecStart(1):VecEnd(1),  VecStart(2):VecEnd(2),..,VecStart(end):VecEnd(end)]\u003c/p\u003e\u003cp\u003eFor example:\u003c/p\u003e\u003cp\u003eVecStart = [1 10 4]\u003c/p\u003e\u003cp\u003eVecEnd = [3 10 7]\u003c/p\u003e\u003cp\u003e--\u003e  Output = [1 2 3 10 4 5 6 7]\u003c/p\u003e","function_template":"function y = vec_colon(VecStart, VecEnd)\r\n  y = [];\r\nend","test_suite":"%% case 1\r\nVecStart= [10 20 30 40 50 ];\r\nVecEnd = [11 22 33 44 50];\r\ny_correct = [10 11 20 21 22 30 31 32 33 40 41 42 43 44 50];\r\nassert(isequal(vec_colon(VecStart,VecEnd ),y_correct))\r\n\r\n%% case 2\r\nVecStart= [2 10 5 15 10 5 2 100 ];\r\nVecEnd = [3 10 6 17 12 7 3 102];\r\ny_correct = [2 3 10 5 6 15 16 17 10 11 12 5 6 7 2 3 100 101 102];\r\nassert(isequal(vec_colon(VecStart,VecEnd ),y_correct))\r\n\r\n%% case 3\r\nVecStart = [1:10:500];\r\nVecEnd = [10:10:500];\r\ny_correct = [1:500];\r\nassert(isequal(vec_colon(VecStart,VecEnd ),y_correct))\r\n\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":165,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":224,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-12-12T07:19:36.000Z","updated_at":"2026-04-02T12:34:45.000Z","published_at":"2012-12-12T08:35:33.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\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"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\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\u003eYou are given two vectors of equal length: VecStart, VecEnd\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEach vector contain a set of integers, where VecEnd(j)\u003e=VecStart(j)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou have to return a set (vector) of integers of the following form:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput =... [ VecStart(1):VecEnd(1), VecStart(2):VecEnd(2),..,VecStart(end):VecEnd(end)]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eVecStart = [1 10 4]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eVecEnd = [3 10 7]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e--\u003e Output = [1 2 3 10 4 5 6 7]\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\"}]}"},{"id":1986,"title":"Another colon problem","description":"This is simple problem based on problems 555, 801, 1118, etc.\r\n\r\nCreate an index vector from two input vectors.\r\n\r\nExample:\r\n\r\n  input: [1 8 12] [4 5 9]\r\n output: [1 2 3 4 8 7 6 5 12 11 10 9]","description_html":"\u003cp\u003eThis is simple problem based on problems 555, 801, 1118, etc.\u003c/p\u003e\u003cp\u003eCreate an index vector from two input vectors.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003einput: [1 8 12] [4 5 9]\r\noutput: [1 2 3 4 8 7 6 5 12 11 10 9]\r\n\u003c/pre\u003e","function_template":"function out = another(in1,in2)\r\n  out=in1:in2;\r\nend","test_suite":"%%\r\nassert(isequal(another([1 8 12],[4 5 9]),[1 2 3 4 8 7 6 5 12 11 10 9]))\r\n%%\r\nassert(isequal(another([5 5 5],[9 5 1]),[5 6 7 8 9 5 5 4 3 2 1]))\r\n%%\r\nassert(isequal(another([100 102],[-1 105]),[100:-1:-1 102 103 104 105]))\r\n%%\r\ny=[randi(20) randi([30 40],1,2) randi(3)];\r\nassert(isequal(another(y(1:2:3),y(2:2:4)),[y(1):y(2) y(3):-1:y(4)]))\r\n%%\r\nassert(isequal(another([1 2 1 2 2 2 1 1 1],[1 2 1 1 2 1 2 2 1]),[1 2 1 2 1 2 2 1 1 2 1 2 1]))","published":true,"deleted":false,"likes_count":3,"comments_count":1,"created_by":14358,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":166,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":21,"created_at":"2013-11-13T12:47:02.000Z","updated_at":"2026-02-16T09:53:03.000Z","published_at":"2013-11-13T12:50:06.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\u003eThis is simple problem based on problems 555, 801, 1118, etc.\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\u003eCreate an index vector from two input vectors.\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\u003eExample:\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[input: [1 8 12] [4 5 9]\\noutput: [1 2 3 4 8 7 6 5 12 11 10 9]]]\u003e\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\"}]}"},{"id":1066,"title":"Multiples of a Number in a Given Range","description":"Given an integer factor _f_ and a range defined by _xlow_ and _xhigh_ inclusive, return a vector of the multiples of _f_ that fall in the specified range.\r\n\r\nExample:\r\n\r\n    f = 10;\r\n    xlow = 35;\r\n    xhigh = 112;\r\n    multiples = bounded_multiples(f, xlow, xhigh);\r\n\r\nOutputs\r\n\r\n    multiples = [ 40 50 60 70 80 90 100 110 ];","description_html":"\u003cp\u003eGiven an integer factor \u003ci\u003ef\u003c/i\u003e and a range defined by \u003ci\u003exlow\u003c/i\u003e and \u003ci\u003exhigh\u003c/i\u003e inclusive, return a vector of the multiples of \u003ci\u003ef\u003c/i\u003e that fall in the specified range.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e    f = 10;\r\n    xlow = 35;\r\n    xhigh = 112;\r\n    multiples = bounded_multiples(f, xlow, xhigh);\u003c/pre\u003e\u003cp\u003eOutputs\u003c/p\u003e\u003cpre\u003e    multiples = [ 40 50 60 70 80 90 100 110 ];\u003c/pre\u003e","function_template":"function multiples = bounded_multiples(f, xlow, xhigh)\r\n  multiples = f*2;\r\nend","test_suite":"%%\r\nassert(isequal(bounded_multiples(66,119,163),132))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(50,341,960),[350 400 450 500 550 600 650 700 750 800 850 900 950]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(59,224,752),[236 295 354 413 472 531 590 649 708]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(26,506,700),[520 546 572 598 624 650 676]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(90,548,960),[630 720 810 900]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(14,150,258),[154 168 182 196 210 224 238 252]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(85,255,815),[255 340 425 510 595 680 765]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(25,350,930),[350 375 400 425 450 475 500 525 550 575 600 625 650 675 700 725 750 775 800 825 850 875 900 925]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(20,252,617),[260 280 300 320 340 360 380 400 420 440 460 480 500 520 540 560 580 600]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(48,352,831),[384 432 480 528 576 624 672 720 768 816]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(59,550,918),[590 649 708 767 826 885]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(29,754,758),754))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(39,76,568),[78 117 156 195 234 273 312 351 390 429 468 507 546]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(6,531,780),[534 540 546 552 558 564 570 576 582 588 594 600 606 612 618 624 630 636 642 648 654 660 666 672 678 684 690 696 702 708 714 720 726 732 738 744 750 756 762 768 774 780]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(94,130,569),[188 282 376 470 564]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(47,12,338),[47 94 141 188 235 282 329]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(17,312,795),[323 340 357 374 391 408 425 442 459 476 493 510 527 544 561 578 595 612 629 646 663 680 697 714 731 748 765 782]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(53,166,602),[212 265 318 371 424 477 530 583]))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(27,655,690),675))\r\n\r\n%%\r\nassert(isequal(bounded_multiples(75,84,451),[150 225 300 375 450]))\r\n","published":true,"deleted":false,"likes_count":5,"comments_count":1,"created_by":134,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":939,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-11-27T06:14:53.000Z","updated_at":"2026-01-12T18:29:19.000Z","published_at":"2012-12-04T19:54:23.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\u003eGiven an integer factor\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and a range defined by\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003exlow\u003c/w:t\u003e\u003c/w:r\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:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003exhigh\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e inclusive, return a vector of the multiples of\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e that fall in the specified range.\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\u003eExample:\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[    f = 10;\\n    xlow = 35;\\n    xhigh = 112;\\n    multiples = bounded_multiples(f, xlow, xhigh);]]\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\u003eOutputs\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[    multiples = [ 40 50 60 70 80 90 100 110 ];]]\u003e\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\"}]}"},{"id":2159,"title":"A SUBSREF variant that accepts the 'end'-operator.","description":"Unfortunately, Matlab's |subsref| function does not support the |end| -operator. The |end| -operator is a powerfull method to refer to the rear-end of an array, \r\n\r\n a = 1:10;\r\n a(end-1) % is 9\r\n a(end-2:end) % is [8 9 10]\r\n\r\nIt works similar for cell arrays and struct-arrays.\r\n\r\nAlhough |subsref| is quite powerful, and accepts for example the |:| colon oparator, it fails to process more complex stings, including |end| -operators.\r\n\r\nThis assignment is to create a function that accepts those more complex element definitions.\r\n\r\nFor example\r\n\r\n s.a.b(3).c{2}.d = 'a':'z';\r\n subsref(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{1:3})) \r\n\r\nreturns \r\n\r\n ans = \r\n\r\n abc  \r\n\r\nAnd \r\n\r\n  subsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'[1 end]'})) \r\n\r\nshould return\r\n\r\n ans = \r\n\r\n az  \r\n\r\nand \r\n\r\n  subsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'end-2:end'})) \r\n\r\nshould return\r\n\r\n ans =\r\n  \r\n xyz\r\n\r\nThe function |subsrefbetter| should accept both structures like created with |substruct|, and list of arguments like accepted by |substruct|.\r\n\r\nThat's all.","description_html":"\u003cp\u003eUnfortunately, Matlab's \u003ctt\u003esubsref\u003c/tt\u003e function does not support the \u003ctt\u003eend\u003c/tt\u003e -operator. The \u003ctt\u003eend\u003c/tt\u003e -operator is a powerfull method to refer to the rear-end of an array,\u003c/p\u003e\u003cpre\u003e a = 1:10;\r\n a(end-1) % is 9\r\n a(end-2:end) % is [8 9 10]\u003c/pre\u003e\u003cp\u003eIt works similar for cell arrays and struct-arrays.\u003c/p\u003e\u003cp\u003eAlhough \u003ctt\u003esubsref\u003c/tt\u003e is quite powerful, and accepts for example the \u003ctt\u003e:\u003c/tt\u003e colon oparator, it fails to process more complex stings, including \u003ctt\u003eend\u003c/tt\u003e -operators.\u003c/p\u003e\u003cp\u003eThis assignment is to create a function that accepts those more complex element definitions.\u003c/p\u003e\u003cp\u003eFor example\u003c/p\u003e\u003cpre\u003e s.a.b(3).c{2}.d = 'a':'z';\r\n subsref(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{1:3})) \u003c/pre\u003e\u003cp\u003ereturns\u003c/p\u003e\u003cpre\u003e ans = \u003c/pre\u003e\u003cpre\u003e abc  \u003c/pre\u003e\u003cp\u003eAnd\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003esubsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'[1 end]'})) \r\n\u003c/pre\u003e\u003cp\u003eshould return\u003c/p\u003e\u003cpre\u003e ans = \u003c/pre\u003e\u003cpre\u003e az  \u003c/pre\u003e\u003cp\u003eand\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003esubsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'end-2:end'})) \r\n\u003c/pre\u003e\u003cp\u003eshould return\u003c/p\u003e\u003cpre\u003e ans =\u003c/pre\u003e\u003cpre\u003e xyz\u003c/pre\u003e\u003cp\u003eThe function \u003ctt\u003esubsrefbetter\u003c/tt\u003e should accept both structures like created with \u003ctt\u003esubstruct\u003c/tt\u003e, and list of arguments like accepted by \u003ctt\u003esubstruct\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eThat's all.\u003c/p\u003e","function_template":"function y = subsrefbetter(s,varargin)\r\n  if isstruct(varargin{1})\r\n    def = varargin{1};\r\n  else\r\n    def = substruct(varargin{:});\r\n  end\r\n  y = subsref(s,def);\r\nend","test_suite":"%%\r\nnocheat = isempty(regexp(evalc('type subsrefbetter'),'(eval|regexprep|inline|str2func)'));\r\ns.a.b(3).c{2}.d = 'a':'z';\r\ndef = substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{1:3});\r\ny = subsrefbetter(s,def);\r\nassert(isequal(y,'abc') \u0026\u0026 nocheat)\r\n\r\n%%\r\nnocheat = isempty(regexp(evalc('type subsrefbetter'),'(eval|regexprep|inline|str2func)'));\r\ns.a.B(1).c{2}.d = 'a':'z';\r\ndef = substruct('.','a','.','B','()',{1},'.','c','{}',{2},'.','d','()',{'end'});\r\ny = subsrefbetter(s,def);\r\nassert(isequal(y,'z') \u0026\u0026 nocheat)\r\n\r\n%%\r\nnocheat = isempty(regexp(evalc('type subsrefbetter'),'(eval|regexprep|inline|str2func)'));\r\ns.oz = magic(7);\r\ndef = substruct('.','oz','()',{'end-1' 'end-2:7'});\r\ny = subsrefbetter(s,def);\r\nassert(isequal(y,[43 3 12]) \u0026\u0026 nocheat)\r\n\r\n%%\r\nnocheat = isempty(regexp(evalc('type subsrefbetter'),'(eval|regexprep|inline|str2func)'));\r\n[s(1:3).TiTa] = deal(magic(3));\r\ndef = substruct('()',{2},'.','TiTa','()',{':' ':'});\r\ny = subsrefbetter(s,def);\r\nassert(isequal(y,magic(3)) \u0026\u0026 nocheat)\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":6556,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2014-02-06T14:15:01.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-02-06T13:44:43.000Z","updated_at":"2025-05-03T05:28:58.000Z","published_at":"2014-02-06T14:15: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\":[],\"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\u003eUnfortunately, Matlab's\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubsref\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e function does not support 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e -operator. 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e -operator is a powerfull method to refer to the rear-end of an array,\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[ a = 1:10;\\n a(end-1) % is 9\\n a(end-2:end) % is [8 9 10]]]\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\u003eIt works similar for cell arrays and struct-arrays.\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\u003eAlhough\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubsref\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is quite powerful, and accepts for example 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e colon oparator, it fails to process more complex stings, including\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e -operators.\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\u003eThis assignment is to create a function that accepts those more complex element definitions.\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\u003eFor example\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[ s.a.b(3).c{2}.d = 'a':'z';\\n subsref(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{1:3}))]]\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\u003ereturns\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[ ans = \\n\\n abc]]\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\u003eAnd\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[subsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'[1 end]'}))]]\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\u003eshould return\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[ ans = \\n\\n az]]\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\u003eand\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[subsrefbetter(s,substruct('.','a','.','b','()',{3},'.','c','{}',{2},'.','d','()',{'end-2:end'}))]]\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\u003eshould return\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[ ans =\\n\\n xyz]]\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\u003eThe function\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubsrefbetter\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e should accept both structures like created with\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubstruct\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, and list of arguments like accepted by\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esubstruct\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\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\u003eThat's all.\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:\"colon\"","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:\"colon\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"colon\"","","\"","colon","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f17e02fc3b8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f17e02fc318\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f17e02fb738\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f17e02fc6d8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f17e02fc598\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f17e02fc4f8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f17e02fc458\u003e":"tag:\"colon\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f17e02fc458\u003e":"tag:\"colon\""},"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:\"colon\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"colon\"","","\"","colon","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f17e02fc3b8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f17e02fc318\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f17e02fb738\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f17e02fc6d8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f17e02fc598\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f17e02fc4f8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f17e02fc458\u003e":"tag:\"colon\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f17e02fc458\u003e":"tag:\"colon\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":2,"difficulty_rating":"easy"},{"id":52005,"difficulty_rating":"easy"},{"id":1118,"difficulty_rating":"easy"},{"id":1986,"difficulty_rating":"easy-medium"},{"id":1066,"difficulty_rating":"easy-medium"},{"id":2159,"difficulty_rating":"hard"}]}}