{"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":42798,"title":"Moving Product (Easy)","description":"Given an input array A, write a function *movprod(A,k,dim)* to calculate the moving product over a sliding window of length *k* along the specified dimension *dim* of input array *A*. If dim is omitted, operate along the first non-singleton dimension of A. \r\n\r\nExample 1: \r\n\r\n    \u003e\u003e A = [1 2 3 4 5 6];\r\n    \u003e\u003e B = movprod(A,3)\r\n    B = \r\n       6   24   60   120\r\n\r\nExample 2: \r\n\r\n    \u003e\u003e A = [1     4     3    6    2\r\n            2     5     1    2    3\r\n            3     6     2    3    5];\r\n    \u003e\u003e B = movprod(A,3,2)\r\n    B = \r\n        12   72   36\r\n        10   10    6\r\n        36   36   30\r\n\r\n\r\nYou may assume that dim \u003c= 3, and the input array A is a non-empty array with size(A,dim) \u003e= k. \r\n\r\nRelated problems: \u003chttp://www.mathworks.com/matlabcentral/cody/problems/429-function-on-a-moving-window Problem 429\u003e; \u003chttp://www.mathworks.com/matlabcentral/cody/problems/246-project-euler-problem-8-find-largest-product-in-a-large-string-of-numbers Problem 246\u003e\r\n\r\n*A kind note* (05/15/2017): This problem was created in 2016, one year before R2017a's introduction of the built-in movprod. To avoid function name clash, we've changed the user-defined function name into *moveprod* in the test-suite, which gives you the opportunity to solve the problem by directly calling the built-in movprod!\r\n\r\n","description_html":"\u003cp\u003eGiven an input array A, write a function \u003cb\u003emovprod(A,k,dim)\u003c/b\u003e to calculate the moving product over a sliding window of length \u003cb\u003ek\u003c/b\u003e along the specified dimension \u003cb\u003edim\u003c/b\u003e of input array \u003cb\u003eA\u003c/b\u003e. If dim is omitted, operate along the first non-singleton dimension of A.\u003c/p\u003e\u003cp\u003eExample 1:\u003c/p\u003e\u003cpre\u003e    \u0026gt;\u0026gt; A = [1 2 3 4 5 6];\r\n    \u0026gt;\u0026gt; B = movprod(A,3)\r\n    B = \r\n       6   24   60   120\u003c/pre\u003e\u003cp\u003eExample 2:\u003c/p\u003e\u003cpre\u003e    \u0026gt;\u0026gt; A = [1     4     3    6    2\r\n            2     5     1    2    3\r\n            3     6     2    3    5];\r\n    \u0026gt;\u0026gt; B = movprod(A,3,2)\r\n    B = \r\n        12   72   36\r\n        10   10    6\r\n        36   36   30\u003c/pre\u003e\u003cp\u003eYou may assume that dim \u0026lt;= 3, and the input array A is a non-empty array with size(A,dim) \u0026gt;= k.\u003c/p\u003e\u003cp\u003eRelated problems: \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/429-function-on-a-moving-window\"\u003eProblem 429\u003c/a\u003e; \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/246-project-euler-problem-8-find-largest-product-in-a-large-string-of-numbers\"\u003eProblem 246\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eA kind note\u003c/b\u003e (05/15/2017): This problem was created in 2016, one year before R2017a's introduction of the built-in movprod. To avoid function name clash, we've changed the user-defined function name into \u003cb\u003emoveprod\u003c/b\u003e in the test-suite, which gives you the opportunity to solve the problem by directly calling the built-in movprod!\u003c/p\u003e","function_template":"function B = moveprod(A,k,dim)\r\n  B = A;\r\nend","test_suite":"%%\r\nA = [1 2 3 4 5 6];\r\nC = [6 24 60 120];\r\nassert(isequal(moveprod(A,3),C))\r\n\r\n%%\r\nA = [1 2 3 4 5 6].'/6;\r\nC = [2 6 12 20 30].'/6^2;\r\nB = moveprod(A,2);\r\nassert(max(abs(B-C)) \u003c= max(abs(C))*1e-12 \u0026\u0026 isequal(size(B),size(C)))\r\n\r\n%%\r\nA = [-1      4      3     6     -2\r\n      2      0      1     2     -3\r\n      3     -6     -2     3      5];\r\nC = [-2   0    3   12     6\r\n      6   0   -2    6   -15];\r\nassert(isequal(moveprod(A,2),C))\r\n\r\n%%\r\nA = [-1      4      3     6     2\r\n      2      0      1     2     3\r\n      3     -6     -2     3     5]/pi; \r\nC = [-12   72    36\r\n       0    0     6\r\n      36   36   -30]/pi^3;\r\nB = moveprod(A,3,2);\r\nassert(max(abs(B(:) - C(:))) \u003c= max(abs(C(:)))*1e-12 \u0026\u0026 isequal(size(B),size(C)))\r\n\r\n%% \r\nA = randi([-10,10],10,10,100);\r\nk = 5; dim = 3; \r\nB = moveprod(A,k,dim);\r\nszA = size(A);\r\nC = zeros(szA(1),szA(2),szA(3)-k+1);\r\nfor m = 1:szA(1)\r\n    for n = 1:szA(2)\r\n        C(m,n,:) = moveprod(squeeze(A(m,n,:)),k);\r\n    end\r\nend\r\nassert(isequal(B,C))\r\n\r\n%% \r\nA = 20*rand(10,10,100)-10;\r\nk = 4; dim = 3; \r\nB = moveprod(A,k,dim);\r\nszA = size(A);\r\nC = zeros(szA(1),szA(2),szA(3)-k+1);\r\nfor m = 1:szA(1)\r\n    for n = 1:szA(2)\r\n        C(m,n,:) = moveprod(squeeze(A(m,n,:)),k);\r\n    end\r\nend\r\nC = C + 100*eps(C);\r\nassert(max(abs(B(:) - C(:))) \u003c= max(abs(C(:)))*1e-12 \u0026\u0026 isequal(size(B),size(C)))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":12569,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":39,"test_suite_updated_at":"2017-05-16T00:02:52.000Z","rescore_all_solutions":false,"group_id":24,"created_at":"2016-04-07T20:56:32.000Z","updated_at":"2026-04-01T07:29:44.000Z","published_at":"2016-04-13T22:51:52.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 input array A, write 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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emovprod(A,k,dim)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e to calculate the moving product over a sliding window of length\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ek\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e along the specified dimension\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003edim\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of input array\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. If dim is omitted, operate along the first non-singleton dimension of A.\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 1:\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[    \u003e\u003e A = [1 2 3 4 5 6];\\n    \u003e\u003e B = movprod(A,3)\\n    B = \\n       6   24   60   120]]\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\u003eExample 2:\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[    \u003e\u003e A = [1     4     3    6    2\\n            2     5     1    2    3\\n            3     6     2    3    5];\\n    \u003e\u003e B = movprod(A,3,2)\\n    B = \\n        12   72   36\\n        10   10    6\\n        36   36   30]]\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 may assume that dim \u0026lt;= 3, and the input array A is a non-empty array with size(A,dim) \u0026gt;= k.\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\u003eRelated problems:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/429-function-on-a-moving-window\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 429\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\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/246-project-euler-problem-8-find-largest-product-in-a-large-string-of-numbers\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 246\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA kind note\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (05/15/2017): This problem was created in 2016, one year before R2017a's introduction of the built-in movprod. To avoid function name clash, we've changed the user-defined function name into\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emoveprod\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e in the test-suite, which gives you the opportunity to solve the problem by directly calling the built-in movprod!\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":42798,"title":"Moving Product (Easy)","description":"Given an input array A, write a function *movprod(A,k,dim)* to calculate the moving product over a sliding window of length *k* along the specified dimension *dim* of input array *A*. If dim is omitted, operate along the first non-singleton dimension of A. \r\n\r\nExample 1: \r\n\r\n    \u003e\u003e A = [1 2 3 4 5 6];\r\n    \u003e\u003e B = movprod(A,3)\r\n    B = \r\n       6   24   60   120\r\n\r\nExample 2: \r\n\r\n    \u003e\u003e A = [1     4     3    6    2\r\n            2     5     1    2    3\r\n            3     6     2    3    5];\r\n    \u003e\u003e B = movprod(A,3,2)\r\n    B = \r\n        12   72   36\r\n        10   10    6\r\n        36   36   30\r\n\r\n\r\nYou may assume that dim \u003c= 3, and the input array A is a non-empty array with size(A,dim) \u003e= k. \r\n\r\nRelated problems: \u003chttp://www.mathworks.com/matlabcentral/cody/problems/429-function-on-a-moving-window Problem 429\u003e; \u003chttp://www.mathworks.com/matlabcentral/cody/problems/246-project-euler-problem-8-find-largest-product-in-a-large-string-of-numbers Problem 246\u003e\r\n\r\n*A kind note* (05/15/2017): This problem was created in 2016, one year before R2017a's introduction of the built-in movprod. To avoid function name clash, we've changed the user-defined function name into *moveprod* in the test-suite, which gives you the opportunity to solve the problem by directly calling the built-in movprod!\r\n\r\n","description_html":"\u003cp\u003eGiven an input array A, write a function \u003cb\u003emovprod(A,k,dim)\u003c/b\u003e to calculate the moving product over a sliding window of length \u003cb\u003ek\u003c/b\u003e along the specified dimension \u003cb\u003edim\u003c/b\u003e of input array \u003cb\u003eA\u003c/b\u003e. If dim is omitted, operate along the first non-singleton dimension of A.\u003c/p\u003e\u003cp\u003eExample 1:\u003c/p\u003e\u003cpre\u003e    \u0026gt;\u0026gt; A = [1 2 3 4 5 6];\r\n    \u0026gt;\u0026gt; B = movprod(A,3)\r\n    B = \r\n       6   24   60   120\u003c/pre\u003e\u003cp\u003eExample 2:\u003c/p\u003e\u003cpre\u003e    \u0026gt;\u0026gt; A = [1     4     3    6    2\r\n            2     5     1    2    3\r\n            3     6     2    3    5];\r\n    \u0026gt;\u0026gt; B = movprod(A,3,2)\r\n    B = \r\n        12   72   36\r\n        10   10    6\r\n        36   36   30\u003c/pre\u003e\u003cp\u003eYou may assume that dim \u0026lt;= 3, and the input array A is a non-empty array with size(A,dim) \u0026gt;= k.\u003c/p\u003e\u003cp\u003eRelated problems: \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/429-function-on-a-moving-window\"\u003eProblem 429\u003c/a\u003e; \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/246-project-euler-problem-8-find-largest-product-in-a-large-string-of-numbers\"\u003eProblem 246\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eA kind note\u003c/b\u003e (05/15/2017): This problem was created in 2016, one year before R2017a's introduction of the built-in movprod. To avoid function name clash, we've changed the user-defined function name into \u003cb\u003emoveprod\u003c/b\u003e in the test-suite, which gives you the opportunity to solve the problem by directly calling the built-in movprod!\u003c/p\u003e","function_template":"function B = moveprod(A,k,dim)\r\n  B = A;\r\nend","test_suite":"%%\r\nA = [1 2 3 4 5 6];\r\nC = [6 24 60 120];\r\nassert(isequal(moveprod(A,3),C))\r\n\r\n%%\r\nA = [1 2 3 4 5 6].'/6;\r\nC = [2 6 12 20 30].'/6^2;\r\nB = moveprod(A,2);\r\nassert(max(abs(B-C)) \u003c= max(abs(C))*1e-12 \u0026\u0026 isequal(size(B),size(C)))\r\n\r\n%%\r\nA = [-1      4      3     6     -2\r\n      2      0      1     2     -3\r\n      3     -6     -2     3      5];\r\nC = [-2   0    3   12     6\r\n      6   0   -2    6   -15];\r\nassert(isequal(moveprod(A,2),C))\r\n\r\n%%\r\nA = [-1      4      3     6     2\r\n      2      0      1     2     3\r\n      3     -6     -2     3     5]/pi; \r\nC = [-12   72    36\r\n       0    0     6\r\n      36   36   -30]/pi^3;\r\nB = moveprod(A,3,2);\r\nassert(max(abs(B(:) - C(:))) \u003c= max(abs(C(:)))*1e-12 \u0026\u0026 isequal(size(B),size(C)))\r\n\r\n%% \r\nA = randi([-10,10],10,10,100);\r\nk = 5; dim = 3; \r\nB = moveprod(A,k,dim);\r\nszA = size(A);\r\nC = zeros(szA(1),szA(2),szA(3)-k+1);\r\nfor m = 1:szA(1)\r\n    for n = 1:szA(2)\r\n        C(m,n,:) = moveprod(squeeze(A(m,n,:)),k);\r\n    end\r\nend\r\nassert(isequal(B,C))\r\n\r\n%% \r\nA = 20*rand(10,10,100)-10;\r\nk = 4; dim = 3; \r\nB = moveprod(A,k,dim);\r\nszA = size(A);\r\nC = zeros(szA(1),szA(2),szA(3)-k+1);\r\nfor m = 1:szA(1)\r\n    for n = 1:szA(2)\r\n        C(m,n,:) = moveprod(squeeze(A(m,n,:)),k);\r\n    end\r\nend\r\nC = C + 100*eps(C);\r\nassert(max(abs(B(:) - C(:))) \u003c= max(abs(C(:)))*1e-12 \u0026\u0026 isequal(size(B),size(C)))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":12569,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":39,"test_suite_updated_at":"2017-05-16T00:02:52.000Z","rescore_all_solutions":false,"group_id":24,"created_at":"2016-04-07T20:56:32.000Z","updated_at":"2026-04-01T07:29:44.000Z","published_at":"2016-04-13T22:51:52.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 input array A, write 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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emovprod(A,k,dim)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e to calculate the moving product over a sliding window of length\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ek\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e along the specified dimension\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003edim\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of input array\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. If dim is omitted, operate along the first non-singleton dimension of A.\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 1:\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[    \u003e\u003e A = [1 2 3 4 5 6];\\n    \u003e\u003e B = movprod(A,3)\\n    B = \\n       6   24   60   120]]\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\u003eExample 2:\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[    \u003e\u003e A = [1     4     3    6    2\\n            2     5     1    2    3\\n            3     6     2    3    5];\\n    \u003e\u003e B = movprod(A,3,2)\\n    B = \\n        12   72   36\\n        10   10    6\\n        36   36   30]]\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 may assume that dim \u0026lt;= 3, and the input array A is a non-empty array with size(A,dim) \u0026gt;= k.\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\u003eRelated problems:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/429-function-on-a-moving-window\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 429\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\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/246-project-euler-problem-8-find-largest-product-in-a-large-string-of-numbers\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 246\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA kind note\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (05/15/2017): This problem was created in 2016, one year before R2017a's introduction of the built-in movprod. To avoid function name clash, we've changed the user-defined function name into\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emoveprod\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e in the test-suite, which gives you the opportunity to solve the problem by directly calling the built-in movprod!\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:\"moving function\"","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:\"moving function\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"moving function\"","","\"","moving function","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7361fdbea8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f7361fdbe08\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7361fdb548\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f7361fdc128\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f7361fdc088\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7361fdbfe8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7361fdbf48\u003e":"tag:\"moving function\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7361fdbf48\u003e":"tag:\"moving function\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"moving function\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"moving function\"","","\"","moving function","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7361fdbea8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f7361fdbe08\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7361fdb548\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f7361fdc128\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f7361fdc088\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7361fdbfe8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7361fdbf48\u003e":"tag:\"moving function\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7361fdbf48\u003e":"tag:\"moving function\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":42798,"difficulty_rating":"easy-medium"}]}}