{"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":2237,"title":"Mmm! Multi-dimensional Matrix Multiplication ","description":"You have got a couple of multi-dimensional matrices, A and B. And want to multiply them. For the first 2 dimensions, an ordinary matrix multiplication applies. And in the other dimensions? Well, they just act as parallel worlds. All 2D matrices are multiplied, for every element in the other dimensions.\r\nYou may assume that the size in the 1st two dimensions allows simple matrix multiplication: A(:,:,1)*B(:,:,1), so size(A(:,:,1),2) == size(B(:,:,1),1), or either A(:,:,1) is a scalar or B(:,:,1) is a scalar.\r\nIn the other dimensions, the sizes of A and B should be eqaal, size(A,n) == size(B,n), for n\u003e2, or either ndims(A)\u003cn or ndims(B)\u003cn, or either size(A,n)==1 or size(B,n)==1, so one of them is a scalar.\r\n\r\nWrite a function |mtimesm| that does this, and ask Mathworks to include it in the |elmat| toolbox of the Next Release.","description_html":"\u003cp\u003eYou have got a couple of multi-dimensional matrices, A and B. And want to multiply them. For the first 2 dimensions, an ordinary matrix multiplication applies. And in the other dimensions? Well, they just act as parallel worlds. All 2D matrices are multiplied, for every element in the other dimensions.\r\nYou may assume that the size in the 1st two dimensions allows simple matrix multiplication: A(:,:,1)*B(:,:,1), so size(A(:,:,1),2) == size(B(:,:,1),1), or either A(:,:,1) is a scalar or B(:,:,1) is a scalar.\r\nIn the other dimensions, the sizes of A and B should be eqaal, size(A,n) == size(B,n), for n\u0026gt;2, or either ndims(A)\u0026lt;n or ndims(B)\u0026lt;n, or either size(A,n)==1 or size(B,n)==1, so one of them is a scalar.\u003c/p\u003e\u003cp\u003eWrite a function \u003ctt\u003emtimesm\u003c/tt\u003e that does this, and ask Mathworks to include it in the \u003ctt\u003eelmat\u003c/tt\u003e toolbox of the Next Release.\u003c/p\u003e","function_template":"function C = mtimesm(A,B)\r\n  C = A*B;\r\nend","test_suite":"%% case 1\r\nA = 1;\r\nB = 2;\r\nC = mtimesm(A,B);\r\nC_correct = 2;\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 2\r\nA = rand(2,3);\r\nB = rand(3,4);\r\nC = mtimesm(A,B);\r\nC_correct = A*B;\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 3\r\nA = rand(2,3);\r\nB = 2;\r\nC = mtimesm(A,B);\r\nC_correct = 2*A;\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 4\r\nA = rand(2,3,2);\r\nB = rand(3,4,2);\r\nC = mtimesm(A,B);\r\nC_correct = cat(3,A(:,:,1)*B(:,:,1),A(:,:,2)*B(:,:,2));\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 5\r\nA = rand(2,3,3);\r\nB = rand(3,4);\r\nC = mtimesm(A,B);\r\nC_correct = cat(3,A(:,:,1)*B,A(:,:,2)*B,A(:,:,3)*B); \r\nassert(isequal(C,C_correct))\r\n\r\n%% case 6\r\nA = rand(4,3,1,2);\r\nB = rand(3,2,2);\r\nC = mtimesm(A,B);\r\nC_correct(:,:,1,1) = A(:,:,1,1)*B(:,:,1);\r\nC_correct(:,:,1,2) = A(:,:,1,2)*B(:,:,1);\r\nC_correct(:,:,2,1) = A(:,:,1,1)*B(:,:,2);\r\nC_correct(:,:,2,2) = A(:,:,1,2)*B(:,:,2);\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 7\r\nA = rand(4,3,1,2);\r\nB = rand(3,2,1,1,2);\r\nC = mtimesm(A,B);\r\nC_correct(:,:,1,1,1) = A(:,:,1,1)*B(:,:,1,1,1);\r\nC_correct(:,:,1,1,2) = A(:,:,1,1)*B(:,:,1,1,2);\r\nC_correct(:,:,1,2,1) = A(:,:,1,2)*B(:,:,1,1,1);\r\nC_correct(:,:,1,2,2) = A(:,:,1,2)*B(:,:,1,1,2);\r\nassert(isequal(C,C_correct))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":5,"created_by":6556,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":38,"test_suite_updated_at":"2014-03-07T06:22:58.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-03-06T11:17:42.000Z","updated_at":"2026-04-03T03:22:22.000Z","published_at":"2014-03-06T11:17:42.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\u003eYou have got a couple of multi-dimensional matrices, A and B. And want to multiply them. For the first 2 dimensions, an ordinary matrix multiplication applies. And in the other dimensions? Well, they just act as parallel worlds. All 2D matrices are multiplied, for every element in the other dimensions. You may assume that the size in the 1st two dimensions allows simple matrix multiplication: A(:,:,1)*B(:,:,1), so size(A(:,:,1),2) == size(B(:,:,1),1), or either A(:,:,1) is a scalar or B(:,:,1) is a scalar. In the other dimensions, the sizes of A and B should be eqaal, size(A,n) == size(B,n), for n\u0026gt;2, or either ndims(A)\u0026lt;n or ndims(B)\u0026lt;n, or either size(A,n)==1 or size(B,n)==1, so one of them is a scalar.\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\u003eWrite a 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\u003emtimesm\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e that does this, and ask Mathworks to include it in 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\u003eelmat\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e toolbox of the Next Release.\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":44491,"title":"Shuffle","description":"Shuffle a vector by breaking it up to segments of |n| elements, and rearranging them in a reversed order.\r\n\r\nFor example, the vector:\r\n\r\n vector = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\r\n\r\nshould be shffuled by segments of |n=3| like so:\r\n\r\n cetvor = [8,9,10,   5,6,7,   2,3,4,   1]\r\n\r\nThe shuffled vector should have the same dimensions as the original one.\r\n\r\n*You must call the functions \u003chttps://www.mathworks.com/matlabcentral/cody/problems/44486 push()\u003e and \u003chttps://www.mathworks.com/matlabcentral/cody/problems/44490 pop()\u003e.*","description_html":"\u003cp\u003eShuffle a vector by breaking it up to segments of \u003ctt\u003en\u003c/tt\u003e elements, and rearranging them in a reversed order.\u003c/p\u003e\u003cp\u003eFor example, the vector:\u003c/p\u003e\u003cpre\u003e vector = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\u003c/pre\u003e\u003cp\u003eshould be shffuled by segments of \u003ctt\u003en=3\u003c/tt\u003e like so:\u003c/p\u003e\u003cpre\u003e cetvor = [8,9,10,   5,6,7,   2,3,4,   1]\u003c/pre\u003e\u003cp\u003eThe shuffled vector should have the same dimensions as the original one.\u003c/p\u003e\u003cp\u003e\u003cb\u003eYou must call the functions \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/44486\"\u003epush()\u003c/a\u003e and \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/44490\"\u003epop()\u003c/a\u003e.\u003c/b\u003e\u003c/p\u003e","function_template":"function cetvor = shuffle(vector, n)\r\n    cetvor = vector;\r\nend\r\n\r\n% You must call the following functions from the shuffle() function\r\n% (copy-paste your solutions)\r\nfunction [v, n] = push(v, x)\r\n    n = [];\r\nend\r\n\r\nfunction [v, w] = pop(v, n)\r\n    w = [];\r\nend","test_suite":"%%\r\nfiletext = fileread('shuffle.m');\r\nassert(isempty(strfind(filetext, 'regexp')),'regexp hacks are forbidden')\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 1;\r\nw_correct = 8 : -1 : 1;\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1; 2; 3; 4; 5; 6; 7; 8];\r\nn = 2;\r\nw_correct = [7;8;  5;6;  3;4;  1;2];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 3;\r\nw_correct = [6,7,8,  3,4,5,  1,2];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1; 2; 3; 4; 5; 6; 7; 8];\r\nn = 4;\r\nw_correct = [5;6;7;8;  1;2;3;4];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 5;\r\nw_correct = [4,5,6,7,8,  1,2,3];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1; 2; 3; 4; 5; 6; 7; 8];\r\nn = 6;\r\nw_correct = [3;4;5;6;7;8;  1;2];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 7;\r\nw_correct = [2,3,4,5,6,7,8,  1];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1; 2; 3; 4; 5; 6; 7; 8];\r\nn = 8;\r\nw_correct = [1;2;3;4;5;6;7;8];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 9;\r\nw_correct = [1,2,3,4,5,6,7,8];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":140356,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":333,"test_suite_updated_at":"2018-01-07T22:04:15.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2018-01-07T21:23:35.000Z","updated_at":"2026-04-03T03:05:46.000Z","published_at":"2018-01-07T22:04:15.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\u003eShuffle a vector by breaking it up to segments 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e elements, and rearranging them in a reversed order.\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, 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[ vector = [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\u003eshould be shffuled by segments 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en=3\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e 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[ cetvor = [8,9,10,   5,6,7,   2,3,4,   1]]]\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 shuffled vector should have the same dimensions as the original one.\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eYou must call the functions\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/44486\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epush()\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\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\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/44490\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epop()\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\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":2415,"title":"Temperature Conversion Utility (Strings)","description":"This is a follow-on problem to \u003chttp://www.mathworks.com/matlabcentral/cody/problems/2413-temperature-conversion-utility Problem 2413: Temperature Conversion Utility\u003e.\r\n\r\nYou are provided a cell array of strings that contains the source temperature and units (in various formats) and a separate cell array of strings that contains the target temperature units (in various formats). Produce a numerical vector of converted temperature values. \r\n\r\nExample:\r\n\r\n T_in  = {'100 Celsius', '50degF', '90K', strcat('111',char(176),'R')};  \r\n T_to  = {'R','C','degF','kelvin'}; \r\n T_out = [671.67 10 -297.67 61.6666667];\r\n\r\nFor reference, temperature conversion formulas are available on \u003chttp://en.wikipedia.org/wiki/Temperature_conversion Wikipedia\u003e.","description_html":"\u003cp\u003eThis is a follow-on problem to \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/2413-temperature-conversion-utility\"\u003eProblem 2413: Temperature Conversion Utility\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eYou are provided a cell array of strings that contains the source temperature and units (in various formats) and a separate cell array of strings that contains the target temperature units (in various formats). Produce a numerical vector of converted temperature values.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e T_in  = {'100 Celsius', '50degF', '90K', strcat('111',char(176),'R')};  \r\n T_to  = {'R','C','degF','kelvin'}; \r\n T_out = [671.67 10 -297.67 61.6666667];\u003c/pre\u003e\u003cp\u003eFor reference, temperature conversion formulas are available on \u003ca href = \"http://en.wikipedia.org/wiki/Temperature_conversion\"\u003eWikipedia\u003c/a\u003e.\u003c/p\u003e","function_template":"function [T_out] = T_convertor_str(T_in,T_to)\r\n T_out = 1;\r\nend","test_suite":"%%\r\nT_in = {'100 Celsius', '50degF', '90K', strcat('111',char(176),'R')};\r\nT_to = {'R','C','degF','kelvin'};\r\nT_out = [671.67 10 -297.67 61.6666667];\r\neps = 1e-3;\r\nassert(sum(abs(T_convertor_str(T_in,T_to)-T_out)) \u003c eps)\r\n\r\n%%\r\nT_in = {'10C','20degC','30 Celsius','40 Centigrade',strcat('50',char(176),'C'),'60K','70 kelvin','80 FAHRENHEIT'};\r\nT_to = {'R','R','Rankine','deg R','R','R',strcat(char(176),'R'),'degR'};\r\nT_out = [509.67 527.67 545.67 563.67 581.67 108 126 539.67];\r\neps = 1e-3;\r\nassert(sum(abs(T_convertor_str(T_in,T_to)-T_out)) \u003c eps)\r\n\r\n%%\r\nT_in = {'100 DEGREES RANKINE','100degC','100K','100F','1000R','1000 centigrade','1000 deg F','1000 kelvin'};\r\nT_to = {'C','degC',strcat(char(176),'C'),'Celsius','centigrade','deg C','degrees Celsius','CENTIGRADE'};\r\nT_out = [-217.5944444 100 -173.15 37.7777778 282.4055556 1000 537.7777778 726.85];\r\neps = 1e-3;\r\nassert(sum(abs(T_convertor_str(T_in,T_to)-T_out)) \u003c eps)\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":26769,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":29,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-07-11T18:21:42.000Z","updated_at":"2026-04-03T03:10:48.000Z","published_at":"2014-07-11T18:21:42.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 a follow-on problem to\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/2413-temperature-conversion-utility\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 2413: Temperature Conversion Utility\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\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are provided a cell array of strings that contains the source temperature and units (in various formats) and a separate cell array of strings that contains the target temperature units (in various formats). Produce a numerical vector of converted temperature values.\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[ T_in  = {'100 Celsius', '50degF', '90K', strcat('111',char(176),'R')};  \\n T_to  = {'R','C','degF','kelvin'}; \\n T_out = [671.67 10 -297.67 61.6666667];]]\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\u003eFor reference, temperature conversion formulas are available on\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://en.wikipedia.org/wiki/Temperature_conversion\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eWikipedia\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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":2237,"title":"Mmm! Multi-dimensional Matrix Multiplication ","description":"You have got a couple of multi-dimensional matrices, A and B. And want to multiply them. For the first 2 dimensions, an ordinary matrix multiplication applies. And in the other dimensions? Well, they just act as parallel worlds. All 2D matrices are multiplied, for every element in the other dimensions.\r\nYou may assume that the size in the 1st two dimensions allows simple matrix multiplication: A(:,:,1)*B(:,:,1), so size(A(:,:,1),2) == size(B(:,:,1),1), or either A(:,:,1) is a scalar or B(:,:,1) is a scalar.\r\nIn the other dimensions, the sizes of A and B should be eqaal, size(A,n) == size(B,n), for n\u003e2, or either ndims(A)\u003cn or ndims(B)\u003cn, or either size(A,n)==1 or size(B,n)==1, so one of them is a scalar.\r\n\r\nWrite a function |mtimesm| that does this, and ask Mathworks to include it in the |elmat| toolbox of the Next Release.","description_html":"\u003cp\u003eYou have got a couple of multi-dimensional matrices, A and B. And want to multiply them. For the first 2 dimensions, an ordinary matrix multiplication applies. And in the other dimensions? Well, they just act as parallel worlds. All 2D matrices are multiplied, for every element in the other dimensions.\r\nYou may assume that the size in the 1st two dimensions allows simple matrix multiplication: A(:,:,1)*B(:,:,1), so size(A(:,:,1),2) == size(B(:,:,1),1), or either A(:,:,1) is a scalar or B(:,:,1) is a scalar.\r\nIn the other dimensions, the sizes of A and B should be eqaal, size(A,n) == size(B,n), for n\u0026gt;2, or either ndims(A)\u0026lt;n or ndims(B)\u0026lt;n, or either size(A,n)==1 or size(B,n)==1, so one of them is a scalar.\u003c/p\u003e\u003cp\u003eWrite a function \u003ctt\u003emtimesm\u003c/tt\u003e that does this, and ask Mathworks to include it in the \u003ctt\u003eelmat\u003c/tt\u003e toolbox of the Next Release.\u003c/p\u003e","function_template":"function C = mtimesm(A,B)\r\n  C = A*B;\r\nend","test_suite":"%% case 1\r\nA = 1;\r\nB = 2;\r\nC = mtimesm(A,B);\r\nC_correct = 2;\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 2\r\nA = rand(2,3);\r\nB = rand(3,4);\r\nC = mtimesm(A,B);\r\nC_correct = A*B;\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 3\r\nA = rand(2,3);\r\nB = 2;\r\nC = mtimesm(A,B);\r\nC_correct = 2*A;\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 4\r\nA = rand(2,3,2);\r\nB = rand(3,4,2);\r\nC = mtimesm(A,B);\r\nC_correct = cat(3,A(:,:,1)*B(:,:,1),A(:,:,2)*B(:,:,2));\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 5\r\nA = rand(2,3,3);\r\nB = rand(3,4);\r\nC = mtimesm(A,B);\r\nC_correct = cat(3,A(:,:,1)*B,A(:,:,2)*B,A(:,:,3)*B); \r\nassert(isequal(C,C_correct))\r\n\r\n%% case 6\r\nA = rand(4,3,1,2);\r\nB = rand(3,2,2);\r\nC = mtimesm(A,B);\r\nC_correct(:,:,1,1) = A(:,:,1,1)*B(:,:,1);\r\nC_correct(:,:,1,2) = A(:,:,1,2)*B(:,:,1);\r\nC_correct(:,:,2,1) = A(:,:,1,1)*B(:,:,2);\r\nC_correct(:,:,2,2) = A(:,:,1,2)*B(:,:,2);\r\nassert(isequal(C,C_correct))\r\n\r\n%% case 7\r\nA = rand(4,3,1,2);\r\nB = rand(3,2,1,1,2);\r\nC = mtimesm(A,B);\r\nC_correct(:,:,1,1,1) = A(:,:,1,1)*B(:,:,1,1,1);\r\nC_correct(:,:,1,1,2) = A(:,:,1,1)*B(:,:,1,1,2);\r\nC_correct(:,:,1,2,1) = A(:,:,1,2)*B(:,:,1,1,1);\r\nC_correct(:,:,1,2,2) = A(:,:,1,2)*B(:,:,1,1,2);\r\nassert(isequal(C,C_correct))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":5,"created_by":6556,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":38,"test_suite_updated_at":"2014-03-07T06:22:58.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-03-06T11:17:42.000Z","updated_at":"2026-04-03T03:22:22.000Z","published_at":"2014-03-06T11:17:42.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\u003eYou have got a couple of multi-dimensional matrices, A and B. And want to multiply them. For the first 2 dimensions, an ordinary matrix multiplication applies. And in the other dimensions? Well, they just act as parallel worlds. All 2D matrices are multiplied, for every element in the other dimensions. You may assume that the size in the 1st two dimensions allows simple matrix multiplication: A(:,:,1)*B(:,:,1), so size(A(:,:,1),2) == size(B(:,:,1),1), or either A(:,:,1) is a scalar or B(:,:,1) is a scalar. In the other dimensions, the sizes of A and B should be eqaal, size(A,n) == size(B,n), for n\u0026gt;2, or either ndims(A)\u0026lt;n or ndims(B)\u0026lt;n, or either size(A,n)==1 or size(B,n)==1, so one of them is a scalar.\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\u003eWrite a 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\u003emtimesm\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e that does this, and ask Mathworks to include it in 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\u003eelmat\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e toolbox of the Next Release.\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":44491,"title":"Shuffle","description":"Shuffle a vector by breaking it up to segments of |n| elements, and rearranging them in a reversed order.\r\n\r\nFor example, the vector:\r\n\r\n vector = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\r\n\r\nshould be shffuled by segments of |n=3| like so:\r\n\r\n cetvor = [8,9,10,   5,6,7,   2,3,4,   1]\r\n\r\nThe shuffled vector should have the same dimensions as the original one.\r\n\r\n*You must call the functions \u003chttps://www.mathworks.com/matlabcentral/cody/problems/44486 push()\u003e and \u003chttps://www.mathworks.com/matlabcentral/cody/problems/44490 pop()\u003e.*","description_html":"\u003cp\u003eShuffle a vector by breaking it up to segments of \u003ctt\u003en\u003c/tt\u003e elements, and rearranging them in a reversed order.\u003c/p\u003e\u003cp\u003eFor example, the vector:\u003c/p\u003e\u003cpre\u003e vector = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\u003c/pre\u003e\u003cp\u003eshould be shffuled by segments of \u003ctt\u003en=3\u003c/tt\u003e like so:\u003c/p\u003e\u003cpre\u003e cetvor = [8,9,10,   5,6,7,   2,3,4,   1]\u003c/pre\u003e\u003cp\u003eThe shuffled vector should have the same dimensions as the original one.\u003c/p\u003e\u003cp\u003e\u003cb\u003eYou must call the functions \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/44486\"\u003epush()\u003c/a\u003e and \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/44490\"\u003epop()\u003c/a\u003e.\u003c/b\u003e\u003c/p\u003e","function_template":"function cetvor = shuffle(vector, n)\r\n    cetvor = vector;\r\nend\r\n\r\n% You must call the following functions from the shuffle() function\r\n% (copy-paste your solutions)\r\nfunction [v, n] = push(v, x)\r\n    n = [];\r\nend\r\n\r\nfunction [v, w] = pop(v, n)\r\n    w = [];\r\nend","test_suite":"%%\r\nfiletext = fileread('shuffle.m');\r\nassert(isempty(strfind(filetext, 'regexp')),'regexp hacks are forbidden')\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 1;\r\nw_correct = 8 : -1 : 1;\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1; 2; 3; 4; 5; 6; 7; 8];\r\nn = 2;\r\nw_correct = [7;8;  5;6;  3;4;  1;2];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 3;\r\nw_correct = [6,7,8,  3,4,5,  1,2];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1; 2; 3; 4; 5; 6; 7; 8];\r\nn = 4;\r\nw_correct = [5;6;7;8;  1;2;3;4];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 5;\r\nw_correct = [4,5,6,7,8,  1,2,3];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1; 2; 3; 4; 5; 6; 7; 8];\r\nn = 6;\r\nw_correct = [3;4;5;6;7;8;  1;2];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 7;\r\nw_correct = [2,3,4,5,6,7,8,  1];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1; 2; 3; 4; 5; 6; 7; 8];\r\nn = 8;\r\nw_correct = [1;2;3;4;5;6;7;8];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n\r\n%%\r\nv = [1, 2, 3, 4, 5, 6, 7, 8];\r\nn = 9;\r\nw_correct = [1,2,3,4,5,6,7,8];\r\nassert(isequal(shuffle(v, n), w_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":140356,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":333,"test_suite_updated_at":"2018-01-07T22:04:15.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2018-01-07T21:23:35.000Z","updated_at":"2026-04-03T03:05:46.000Z","published_at":"2018-01-07T22:04:15.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\u003eShuffle a vector by breaking it up to segments 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e elements, and rearranging them in a reversed order.\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, 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[ vector = [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\u003eshould be shffuled by segments 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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en=3\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e 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[ cetvor = [8,9,10,   5,6,7,   2,3,4,   1]]]\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 shuffled vector should have the same dimensions as the original one.\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eYou must call the functions\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/44486\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epush()\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\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\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/44490\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epop()\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\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":2415,"title":"Temperature Conversion Utility (Strings)","description":"This is a follow-on problem to \u003chttp://www.mathworks.com/matlabcentral/cody/problems/2413-temperature-conversion-utility Problem 2413: Temperature Conversion Utility\u003e.\r\n\r\nYou are provided a cell array of strings that contains the source temperature and units (in various formats) and a separate cell array of strings that contains the target temperature units (in various formats). Produce a numerical vector of converted temperature values. \r\n\r\nExample:\r\n\r\n T_in  = {'100 Celsius', '50degF', '90K', strcat('111',char(176),'R')};  \r\n T_to  = {'R','C','degF','kelvin'}; \r\n T_out = [671.67 10 -297.67 61.6666667];\r\n\r\nFor reference, temperature conversion formulas are available on \u003chttp://en.wikipedia.org/wiki/Temperature_conversion Wikipedia\u003e.","description_html":"\u003cp\u003eThis is a follow-on problem to \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/2413-temperature-conversion-utility\"\u003eProblem 2413: Temperature Conversion Utility\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eYou are provided a cell array of strings that contains the source temperature and units (in various formats) and a separate cell array of strings that contains the target temperature units (in various formats). Produce a numerical vector of converted temperature values.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e T_in  = {'100 Celsius', '50degF', '90K', strcat('111',char(176),'R')};  \r\n T_to  = {'R','C','degF','kelvin'}; \r\n T_out = [671.67 10 -297.67 61.6666667];\u003c/pre\u003e\u003cp\u003eFor reference, temperature conversion formulas are available on \u003ca href = \"http://en.wikipedia.org/wiki/Temperature_conversion\"\u003eWikipedia\u003c/a\u003e.\u003c/p\u003e","function_template":"function [T_out] = T_convertor_str(T_in,T_to)\r\n T_out = 1;\r\nend","test_suite":"%%\r\nT_in = {'100 Celsius', '50degF', '90K', strcat('111',char(176),'R')};\r\nT_to = {'R','C','degF','kelvin'};\r\nT_out = [671.67 10 -297.67 61.6666667];\r\neps = 1e-3;\r\nassert(sum(abs(T_convertor_str(T_in,T_to)-T_out)) \u003c eps)\r\n\r\n%%\r\nT_in = {'10C','20degC','30 Celsius','40 Centigrade',strcat('50',char(176),'C'),'60K','70 kelvin','80 FAHRENHEIT'};\r\nT_to = {'R','R','Rankine','deg R','R','R',strcat(char(176),'R'),'degR'};\r\nT_out = [509.67 527.67 545.67 563.67 581.67 108 126 539.67];\r\neps = 1e-3;\r\nassert(sum(abs(T_convertor_str(T_in,T_to)-T_out)) \u003c eps)\r\n\r\n%%\r\nT_in = {'100 DEGREES RANKINE','100degC','100K','100F','1000R','1000 centigrade','1000 deg F','1000 kelvin'};\r\nT_to = {'C','degC',strcat(char(176),'C'),'Celsius','centigrade','deg C','degrees Celsius','CENTIGRADE'};\r\nT_out = [-217.5944444 100 -173.15 37.7777778 282.4055556 1000 537.7777778 726.85];\r\neps = 1e-3;\r\nassert(sum(abs(T_convertor_str(T_in,T_to)-T_out)) \u003c eps)\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":26769,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":29,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-07-11T18:21:42.000Z","updated_at":"2026-04-03T03:10:48.000Z","published_at":"2014-07-11T18:21:42.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 a follow-on problem to\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/2413-temperature-conversion-utility\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 2413: Temperature Conversion Utility\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\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are provided a cell array of strings that contains the source temperature and units (in various formats) and a separate cell array of strings that contains the target temperature units (in various formats). Produce a numerical vector of converted temperature values.\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[ T_in  = {'100 Celsius', '50degF', '90K', strcat('111',char(176),'R')};  \\n T_to  = {'R','C','degF','kelvin'}; \\n T_out = [671.67 10 -297.67 61.6666667];]]\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\u003eFor reference, temperature conversion formulas are available on\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://en.wikipedia.org/wiki/Temperature_conversion\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eWikipedia\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\"}]}"}],"term":"difficulty_rating_bin:hard group:Operations","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":"difficulty_rating_bin:hard group:Operations","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"difficulty_rating_bin":[["difficulty_rating_bin:hard","","","hard",""]],"group":[["group:Operations","","","Operations",""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7362243df8\u003e":["Operations"],"#\u003cMathWorks::Search::Field:0x00007f7362243d58\u003e":["hard"]},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7362243498\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f73622446b8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f73622442f8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7362243f38\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7362243e98\u003e":"difficulty_rating_bin:hard group:Operations"},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7362243e98\u003e":"difficulty_rating_bin:hard group:Operations"},"queried_facets":{"#\u003cMathWorks::Search::Field:0x00007f7362243df8\u003e":["Operations"],"#\u003cMathWorks::Search::Field:0x00007f7362243d58\u003e":["hard"]}},"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":"difficulty_rating_bin:hard group:Operations","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"difficulty_rating_bin":[["difficulty_rating_bin:hard","","","hard",""]],"group":[["group:Operations","","","Operations",""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7362243df8\u003e":["Operations"],"#\u003cMathWorks::Search::Field:0x00007f7362243d58\u003e":["hard"]},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7362243498\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f73622446b8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f73622442f8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7362243f38\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7362243e98\u003e":"difficulty_rating_bin:hard group:Operations"},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7362243e98\u003e":"difficulty_rating_bin:hard group:Operations"},"queried_facets":{"#\u003cMathWorks::Search::Field:0x00007f7362243df8\u003e":["Operations"],"#\u003cMathWorks::Search::Field:0x00007f7362243d58\u003e":["hard"]}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":2237,"difficulty_rating":"medium-hard"},{"id":44491,"difficulty_rating":"medium-hard"},{"id":2415,"difficulty_rating":"medium-hard"}]}}