{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-07-05T00:54:32.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-07-05T00: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":481,"title":"Rosenbrock's Banana Function and its derivatives","description":"Write a function to return the value of \u003chttp://en.wikipedia.org/wiki/Rosenbrock_function Rosenbrock's two-dimensional banana function\u003e, as well as it's gradient (column) vector and Hessian matrix, given a vector of it's two independent variables _x1_ and _x2_. Here's the Rosenbrock function: \r\n\r\n 100*[(x2-x1^2)^2] + (1-x1)^2","description_html":"\u003cp\u003eWrite a function to return the value of \u003ca href=\"http://en.wikipedia.org/wiki/Rosenbrock_function\"\u003eRosenbrock's two-dimensional banana function\u003c/a\u003e, as well as it's gradient (column) vector and Hessian matrix, given a vector of it's two independent variables \u003ci\u003ex1\u003c/i\u003e and \u003ci\u003ex2\u003c/i\u003e. Here's the Rosenbrock function:\u003c/p\u003e\u003cpre\u003e 100*[(x2-x1^2)^2] + (1-x1)^2\u003c/pre\u003e","function_template":"function [value,gradient,Hessian] = Rosenbrock_banana(x)\r\n  value = x;\r\n  gradient = [0; 0];\r\n  Hessian = [0, 0; 0, 0]\r\nend","test_suite":"%%\r\nassert(isempty(regexp(fileread('Rosenbrock_banana.m'),'assert.m')))\r\n%%\r\nx = [0; 0];\r\nassert(isequal(Rosenbrock_banana(x),1))\r\n%%\r\nx = [1; 1];\r\nassert(isequal(Rosenbrock_banana(x),0))\r\n%%\r\nx = [1; -1];\r\nassert(isequal(Rosenbrock_banana(x),400))\r\n%%\r\nx = [-1; 0.5];\r\nassert(isequal(Rosenbrock_banana(x),29))\r\n%%\r\nx = [0; 0];\r\n[~,grad]=Rosenbrock_banana(x);\r\nassert(isequal(grad,[-2; 0]))\r\n%%\r\nx = [0; 0];\r\n[~,~,Hess]=Rosenbrock_banana(x);\r\nassert(isequal(Hess,diag([2, 200])))\r\n%%\r\nx = [1; 1];\r\n[~,grad]=Rosenbrock_banana(x);\r\nassert(isequal(grad,[0; 0]))\r\n%%\r\nx = [1; 1];\r\n[~,~,Hess]=Rosenbrock_banana(x);\r\nassert(isequal(Hess,[802, -400; -400, 200]))\r\n%%\r\nx = [-1.9; 2];\r\ncorrect_value = 267.6200;\r\ncorrect_grad = -1e3*[1.2294; 0.3220];\r\ncorrect_Hess = [3534, 760; 760, 200];\r\n[val,grad,Hess]=Rosenbrock_banana(x);\r\nassert(isequal(str2num(num2str(val)),correct_value))\r\nassert(isequal(str2num(num2str(grad)),correct_grad))\r\nassert(all(max(abs(Hess-correct_Hess)\u003c1e-8)))","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":279,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":167,"test_suite_updated_at":"2013-08-25T01:30:52.000Z","rescore_all_solutions":false,"group_id":25,"created_at":"2012-03-12T05:01:12.000Z","updated_at":"2026-04-08T15:01:35.000Z","published_at":"2012-03-12T21:14:57.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\u003eWrite a function to return the value of\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/Rosenbrock_function\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eRosenbrock's two-dimensional banana function\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, as well as it's gradient (column) vector and Hessian matrix, given a vector of it's two independent variables\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\u003ex1\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\u003ex2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Here's the Rosenbrock function:\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[ 100*[(x2-x1^2)^2] + (1-x1)^2]]\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":{"problems":[{"id":481,"title":"Rosenbrock's Banana Function and its derivatives","description":"Write a function to return the value of \u003chttp://en.wikipedia.org/wiki/Rosenbrock_function Rosenbrock's two-dimensional banana function\u003e, as well as it's gradient (column) vector and Hessian matrix, given a vector of it's two independent variables _x1_ and _x2_. Here's the Rosenbrock function: \r\n\r\n 100*[(x2-x1^2)^2] + (1-x1)^2","description_html":"\u003cp\u003eWrite a function to return the value of \u003ca href=\"http://en.wikipedia.org/wiki/Rosenbrock_function\"\u003eRosenbrock's two-dimensional banana function\u003c/a\u003e, as well as it's gradient (column) vector and Hessian matrix, given a vector of it's two independent variables \u003ci\u003ex1\u003c/i\u003e and \u003ci\u003ex2\u003c/i\u003e. Here's the Rosenbrock function:\u003c/p\u003e\u003cpre\u003e 100*[(x2-x1^2)^2] + (1-x1)^2\u003c/pre\u003e","function_template":"function [value,gradient,Hessian] = Rosenbrock_banana(x)\r\n  value = x;\r\n  gradient = [0; 0];\r\n  Hessian = [0, 0; 0, 0]\r\nend","test_suite":"%%\r\nassert(isempty(regexp(fileread('Rosenbrock_banana.m'),'assert.m')))\r\n%%\r\nx = [0; 0];\r\nassert(isequal(Rosenbrock_banana(x),1))\r\n%%\r\nx = [1; 1];\r\nassert(isequal(Rosenbrock_banana(x),0))\r\n%%\r\nx = [1; -1];\r\nassert(isequal(Rosenbrock_banana(x),400))\r\n%%\r\nx = [-1; 0.5];\r\nassert(isequal(Rosenbrock_banana(x),29))\r\n%%\r\nx = [0; 0];\r\n[~,grad]=Rosenbrock_banana(x);\r\nassert(isequal(grad,[-2; 0]))\r\n%%\r\nx = [0; 0];\r\n[~,~,Hess]=Rosenbrock_banana(x);\r\nassert(isequal(Hess,diag([2, 200])))\r\n%%\r\nx = [1; 1];\r\n[~,grad]=Rosenbrock_banana(x);\r\nassert(isequal(grad,[0; 0]))\r\n%%\r\nx = [1; 1];\r\n[~,~,Hess]=Rosenbrock_banana(x);\r\nassert(isequal(Hess,[802, -400; -400, 200]))\r\n%%\r\nx = [-1.9; 2];\r\ncorrect_value = 267.6200;\r\ncorrect_grad = -1e3*[1.2294; 0.3220];\r\ncorrect_Hess = [3534, 760; 760, 200];\r\n[val,grad,Hess]=Rosenbrock_banana(x);\r\nassert(isequal(str2num(num2str(val)),correct_value))\r\nassert(isequal(str2num(num2str(grad)),correct_grad))\r\nassert(all(max(abs(Hess-correct_Hess)\u003c1e-8)))","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":279,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":167,"test_suite_updated_at":"2013-08-25T01:30:52.000Z","rescore_all_solutions":false,"group_id":25,"created_at":"2012-03-12T05:01:12.000Z","updated_at":"2026-04-08T15:01:35.000Z","published_at":"2012-03-12T21:14:57.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\u003eWrite a function to return the value of\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/Rosenbrock_function\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eRosenbrock's two-dimensional banana function\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, as well as it's gradient (column) vector and Hessian matrix, given a vector of it's two independent variables\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\u003ex1\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\u003ex2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Here's the Rosenbrock function:\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[ 100*[(x2-x1^2)^2] + (1-x1)^2]]\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\"}]}"}],"errors":[],"facets":[[{"value":"Functions I","count":1,"selected":false}],[{"value":"medium","count":1,"selected":false}]],"term":"tag:\"rosenbrock\"","page":1,"per_page":50,"sort":"map(difficulty_value,0,0,999) asc"}}