{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-05-06T00:09:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-05-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":336,"title":"Similar Triangles - find the height of the tree","description":"Given the height, h1, of a power pole, shorter than a tree, a given distance, x2 away, please find h2, height of the tree. Please note that the angle, phi, is the acute angle measured from the ground to an observer's line of sight aimed to the sucessive peaks of the power pole and the tree, in that order. Also the distance from the observer to the power pole is x1, also a given. x2 is the distance between the tree and the power pole. In all tests x1 is always a multiple of x2.\r\n\r\n\r\nInputs: h1, x1, x2\r\n\r\nOutput: h2\r\n\r\nHINT: find phi, given h1 and x1. Phi may be measured in degrees or radians. Note that default trig functions in MATLAB operate in radians.\r\n\r\nEX:\r\nx1 = 4;\r\nx2 = 4;\r\nh1 = 3;\r\n\r\n\u003e\u003eh2=findHeight(x1,x2,h1)\r\n\r\nh2=6\r\n\r\n\u003e\u003e","description_html":"\u003cp\u003eGiven the height, h1, of a power pole, shorter than a tree, a given distance, x2 away, please find h2, height of the tree. Please note that the angle, phi, is the acute angle measured from the ground to an observer's line of sight aimed to the sucessive peaks of the power pole and the tree, in that order. Also the distance from the observer to the power pole is x1, also a given. x2 is the distance between the tree and the power pole. In all tests x1 is always a multiple of x2.\u003c/p\u003e\u003cp\u003eInputs: h1, x1, x2\u003c/p\u003e\u003cp\u003eOutput: h2\u003c/p\u003e\u003cp\u003eHINT: find phi, given h1 and x1. Phi may be measured in degrees or radians. Note that default trig functions in MATLAB operate in radians.\u003c/p\u003e\u003cp\u003eEX:\r\nx1 = 4;\r\nx2 = 4;\r\nh1 = 3;\u003c/p\u003e\u003cp\u003e\u003e\u003eh2=findHeight(x1,x2,h1)\u003c/p\u003e\u003cp\u003eh2=6\u003c/p\u003e\u003cp\u003e\u003e\u003e\u003c/p\u003e","function_template":"function h2 = findHeight(x1,x2,h1)\r\n  h2 = heightoftree\r\nend","test_suite":"%%\r\nx1 = 4;\r\nx2 = 4;\r\nh1 = 3;\r\ny_correct = 6;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 8;\r\nh1 = 3;\r\ny_correct = 9;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 12;\r\nh1 = 3;\r\ny_correct = 12;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 16;\r\nh1 = 3;\r\ny_correct = 15;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 20;\r\nh1 = 3;\r\ny_correct = 18;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 24;\r\nh1 = 3;\r\ny_correct = 21;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 12;\r\nh1 = 5;\r\ny_correct = 20;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 16;\r\nh1 = 10;\r\ny_correct = 50;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 2;\r\nx2 = 4;\r\nh1 = 5;\r\ny_correct = 15;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 3;\r\nx2 = 6;\r\nh1 = 4;\r\ny_correct = 12;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":4,"comments_count":6,"created_by":1103,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":475,"test_suite_updated_at":"2012-02-18T04:42:47.000Z","rescore_all_solutions":false,"group_id":17,"created_at":"2012-02-17T22:52:21.000Z","updated_at":"2026-05-06T01:24:44.000Z","published_at":"2012-02-18T04:42:47.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven the height, h1, of a power pole, shorter than a tree, a given distance, x2 away, please find h2, height of the tree. Please note that the angle, phi, is the acute angle measured from the ground to an observer's line of sight aimed to the sucessive peaks of the power pole and the tree, in that order. Also the distance from the observer to the power pole is x1, also a given. x2 is the distance between the tree and the power pole. In all tests x1 is always a multiple of x2.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInputs: h1, x1, x2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: h2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHINT: find phi, given h1 and x1. Phi may be measured in degrees or radians. Note that default trig functions in MATLAB operate in radians.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEX: x1 = 4; x2 = 4; h1 = 3;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003e\u003eh2=findHeight(x1,x2,h1)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eh2=6\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003e\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":833,"title":"Find third Side of a right triangle given hypotenuse and a side. No  * - or other functions allowed","description":"Find the remaining side of a triangle given the hypotenuse and a side.\r\nHowever, the normal functions and symbols are not allowed.\r\n\r\nUnallowed functions and symbols: mtimes cross prod cumprod times mldivide mrdivide dot * / \\ - ^ '\r\n\r\nDerivative of Aurelien's \u003chttp://www.mathworks.com/matlabcentral/cody/problems/813-multiply-2-numbers Cody 813 Multiply 2 numbers\u003e\r\n\r\nTest suite disallowed function usage check courtesy of Aurelien Queffurust.\r\n\r\n\r\nExample : h= 5; x= 3;\r\n\r\noutput = 4 since y=(h^2-x^2)^0.5","description_html":"\u003cp\u003eFind the remaining side of a triangle given the hypotenuse and a side.\r\nHowever, the normal functions and symbols are not allowed.\u003c/p\u003e\u003cp\u003eUnallowed functions and symbols: mtimes cross prod cumprod times mldivide mrdivide dot * / \\ - ^ '\u003c/p\u003e\u003cp\u003eDerivative of Aurelien's \u003ca href=\"http://www.mathworks.com/matlabcentral/cody/problems/813-multiply-2-numbers\"\u003eCody 813 Multiply 2 numbers\u003c/a\u003e\u003c/p\u003e\u003cp\u003eTest suite disallowed function usage check courtesy of Aurelien Queffurust.\u003c/p\u003e\u003cp\u003eExample : h= 5; x= 3;\u003c/p\u003e\u003cp\u003eoutput = 4 since y=(h^2-x^2)^0.5\u003c/p\u003e","function_template":"function y = triangle_side(h,x)\r\n  y = sqrt(h^2-x^2); % Neither ^ nor - are permitted\r\nend","test_suite":"%%\r\n% Courtesy of Aurelien Queffurust\r\nfiletext = fileread('triangle_side.m');\r\nassert(isempty(strfind(filetext, '*')),'sign * forbidden')\r\nassert(isempty(strfind(filetext, 'mtimes')),'mtimes forbidden')\r\nassert(isempty(strfind(filetext, 'cross')),'cross forbidden')\r\nassert(isempty(strfind(filetext, 'prod')),'prod forbidden')\r\nassert(isempty(strfind(filetext, 'cumprod')))\r\nassert(isempty(strfind(filetext, 'times')))\r\nassert(isempty(strfind(filetext, 'mldivide')))\r\nassert(isempty(strfind(filetext, 'mrdivide')))\r\nassert(isempty(strfind(filetext, '/')),'/ forbidden')\r\nassert(isempty(strfind(filetext, '\\')))\r\nassert(isempty(strfind(filetext, '-')))\r\nassert(isempty(strfind(filetext, '^')),'^ forbidden')\r\nassert(isempty(strfind(filetext, 'dot')))\r\nassert(isempty(strfind(filetext, '''')),'string forbidden')\r\nassert(isempty(strfind(filetext, 'num2str')))\r\nassert(isempty(strfind(filetext, 'int2str')))\r\nassert(isempty(strfind(filetext, 'dec2bin')))\r\n%%\r\nh=16;\r\nx=5+rand % No cheats allowed\r\ny_correct=round(1e6*sqrt(h^2-x^2))/1e6\r\nassert(isequal(round(1e6*triangle_side(h,x))/1e6,y_correct))\r\n%%\r\nh=5;\r\nx=3;\r\ny_correct=round(1e6*sqrt(h^2-x^2))/1e6\r\nassert(isequal(round(1e6*triangle_side(h,x))/1e6,y_correct))\r\n\r\n","published":true,"deleted":false,"likes_count":5,"comments_count":5,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":253,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":17,"created_at":"2012-07-15T04:59:54.000Z","updated_at":"2026-04-01T10:20:05.000Z","published_at":"2012-07-15T05:38:18.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\u003eFind the remaining side of a triangle given the hypotenuse and a side. However, the normal functions and symbols are not allowed.\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\u003eUnallowed functions and symbols: mtimes cross prod cumprod times mldivide mrdivide dot * / \\\\ - ^ '\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\u003eDerivative of Aurelien's\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/813-multiply-2-numbers\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eCody 813 Multiply 2 numbers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTest suite disallowed function usage check courtesy of Aurelien Queffurust.\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 : h= 5; x= 3;\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\u003eoutput = 4 since y=(h^2-x^2)^0.5\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":336,"title":"Similar Triangles - find the height of the tree","description":"Given the height, h1, of a power pole, shorter than a tree, a given distance, x2 away, please find h2, height of the tree. Please note that the angle, phi, is the acute angle measured from the ground to an observer's line of sight aimed to the sucessive peaks of the power pole and the tree, in that order. Also the distance from the observer to the power pole is x1, also a given. x2 is the distance between the tree and the power pole. In all tests x1 is always a multiple of x2.\r\n\r\n\r\nInputs: h1, x1, x2\r\n\r\nOutput: h2\r\n\r\nHINT: find phi, given h1 and x1. Phi may be measured in degrees or radians. Note that default trig functions in MATLAB operate in radians.\r\n\r\nEX:\r\nx1 = 4;\r\nx2 = 4;\r\nh1 = 3;\r\n\r\n\u003e\u003eh2=findHeight(x1,x2,h1)\r\n\r\nh2=6\r\n\r\n\u003e\u003e","description_html":"\u003cp\u003eGiven the height, h1, of a power pole, shorter than a tree, a given distance, x2 away, please find h2, height of the tree. Please note that the angle, phi, is the acute angle measured from the ground to an observer's line of sight aimed to the sucessive peaks of the power pole and the tree, in that order. Also the distance from the observer to the power pole is x1, also a given. x2 is the distance between the tree and the power pole. In all tests x1 is always a multiple of x2.\u003c/p\u003e\u003cp\u003eInputs: h1, x1, x2\u003c/p\u003e\u003cp\u003eOutput: h2\u003c/p\u003e\u003cp\u003eHINT: find phi, given h1 and x1. Phi may be measured in degrees or radians. Note that default trig functions in MATLAB operate in radians.\u003c/p\u003e\u003cp\u003eEX:\r\nx1 = 4;\r\nx2 = 4;\r\nh1 = 3;\u003c/p\u003e\u003cp\u003e\u003e\u003eh2=findHeight(x1,x2,h1)\u003c/p\u003e\u003cp\u003eh2=6\u003c/p\u003e\u003cp\u003e\u003e\u003e\u003c/p\u003e","function_template":"function h2 = findHeight(x1,x2,h1)\r\n  h2 = heightoftree\r\nend","test_suite":"%%\r\nx1 = 4;\r\nx2 = 4;\r\nh1 = 3;\r\ny_correct = 6;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 8;\r\nh1 = 3;\r\ny_correct = 9;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 12;\r\nh1 = 3;\r\ny_correct = 12;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 16;\r\nh1 = 3;\r\ny_correct = 15;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 20;\r\nh1 = 3;\r\ny_correct = 18;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 24;\r\nh1 = 3;\r\ny_correct = 21;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 12;\r\nh1 = 5;\r\ny_correct = 20;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 4;\r\nx2 = 16;\r\nh1 = 10;\r\ny_correct = 50;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 2;\r\nx2 = 4;\r\nh1 = 5;\r\ny_correct = 15;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n%%\r\nx1 = 3;\r\nx2 = 6;\r\nh1 = 4;\r\ny_correct = 12;\r\nassert(isequal(findHeight(x1,x2,h1),y_correct))\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":4,"comments_count":6,"created_by":1103,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":475,"test_suite_updated_at":"2012-02-18T04:42:47.000Z","rescore_all_solutions":false,"group_id":17,"created_at":"2012-02-17T22:52:21.000Z","updated_at":"2026-05-06T01:24:44.000Z","published_at":"2012-02-18T04:42:47.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven the height, h1, of a power pole, shorter than a tree, a given distance, x2 away, please find h2, height of the tree. Please note that the angle, phi, is the acute angle measured from the ground to an observer's line of sight aimed to the sucessive peaks of the power pole and the tree, in that order. Also the distance from the observer to the power pole is x1, also a given. x2 is the distance between the tree and the power pole. In all tests x1 is always a multiple of x2.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInputs: h1, x1, x2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput: h2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHINT: find phi, given h1 and x1. Phi may be measured in degrees or radians. Note that default trig functions in MATLAB operate in radians.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEX: x1 = 4; x2 = 4; h1 = 3;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003e\u003eh2=findHeight(x1,x2,h1)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eh2=6\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003e\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":833,"title":"Find third Side of a right triangle given hypotenuse and a side. No  * - or other functions allowed","description":"Find the remaining side of a triangle given the hypotenuse and a side.\r\nHowever, the normal functions and symbols are not allowed.\r\n\r\nUnallowed functions and symbols: mtimes cross prod cumprod times mldivide mrdivide dot * / \\ - ^ '\r\n\r\nDerivative of Aurelien's \u003chttp://www.mathworks.com/matlabcentral/cody/problems/813-multiply-2-numbers Cody 813 Multiply 2 numbers\u003e\r\n\r\nTest suite disallowed function usage check courtesy of Aurelien Queffurust.\r\n\r\n\r\nExample : h= 5; x= 3;\r\n\r\noutput = 4 since y=(h^2-x^2)^0.5","description_html":"\u003cp\u003eFind the remaining side of a triangle given the hypotenuse and a side.\r\nHowever, the normal functions and symbols are not allowed.\u003c/p\u003e\u003cp\u003eUnallowed functions and symbols: mtimes cross prod cumprod times mldivide mrdivide dot * / \\ - ^ '\u003c/p\u003e\u003cp\u003eDerivative of Aurelien's \u003ca href=\"http://www.mathworks.com/matlabcentral/cody/problems/813-multiply-2-numbers\"\u003eCody 813 Multiply 2 numbers\u003c/a\u003e\u003c/p\u003e\u003cp\u003eTest suite disallowed function usage check courtesy of Aurelien Queffurust.\u003c/p\u003e\u003cp\u003eExample : h= 5; x= 3;\u003c/p\u003e\u003cp\u003eoutput = 4 since y=(h^2-x^2)^0.5\u003c/p\u003e","function_template":"function y = triangle_side(h,x)\r\n  y = sqrt(h^2-x^2); % Neither ^ nor - are permitted\r\nend","test_suite":"%%\r\n% Courtesy of Aurelien Queffurust\r\nfiletext = fileread('triangle_side.m');\r\nassert(isempty(strfind(filetext, '*')),'sign * forbidden')\r\nassert(isempty(strfind(filetext, 'mtimes')),'mtimes forbidden')\r\nassert(isempty(strfind(filetext, 'cross')),'cross forbidden')\r\nassert(isempty(strfind(filetext, 'prod')),'prod forbidden')\r\nassert(isempty(strfind(filetext, 'cumprod')))\r\nassert(isempty(strfind(filetext, 'times')))\r\nassert(isempty(strfind(filetext, 'mldivide')))\r\nassert(isempty(strfind(filetext, 'mrdivide')))\r\nassert(isempty(strfind(filetext, '/')),'/ forbidden')\r\nassert(isempty(strfind(filetext, '\\')))\r\nassert(isempty(strfind(filetext, '-')))\r\nassert(isempty(strfind(filetext, '^')),'^ forbidden')\r\nassert(isempty(strfind(filetext, 'dot')))\r\nassert(isempty(strfind(filetext, '''')),'string forbidden')\r\nassert(isempty(strfind(filetext, 'num2str')))\r\nassert(isempty(strfind(filetext, 'int2str')))\r\nassert(isempty(strfind(filetext, 'dec2bin')))\r\n%%\r\nh=16;\r\nx=5+rand % No cheats allowed\r\ny_correct=round(1e6*sqrt(h^2-x^2))/1e6\r\nassert(isequal(round(1e6*triangle_side(h,x))/1e6,y_correct))\r\n%%\r\nh=5;\r\nx=3;\r\ny_correct=round(1e6*sqrt(h^2-x^2))/1e6\r\nassert(isequal(round(1e6*triangle_side(h,x))/1e6,y_correct))\r\n\r\n","published":true,"deleted":false,"likes_count":5,"comments_count":5,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":253,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":17,"created_at":"2012-07-15T04:59:54.000Z","updated_at":"2026-04-01T10:20:05.000Z","published_at":"2012-07-15T05:38:18.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\u003eFind the remaining side of a triangle given the hypotenuse and a side. However, the normal functions and symbols are not allowed.\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\u003eUnallowed functions and symbols: mtimes cross prod cumprod times mldivide mrdivide dot * / \\\\ - ^ '\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\u003eDerivative of Aurelien's\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/813-multiply-2-numbers\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eCody 813 Multiply 2 numbers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTest suite disallowed function usage check courtesy of Aurelien Queffurust.\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 : h= 5; x= 3;\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\u003eoutput = 4 since y=(h^2-x^2)^0.5\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:\"right-angled triangles\"","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:\"right-angled triangles\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"right-angled triangles\"","","\"","right-angled triangles","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f45b2e16cd0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f45b2e16c30\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f45b2e16050\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f45b2e16f50\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f45b2e16eb0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f45b2e16e10\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f45b2e16d70\u003e":"tag:\"right-angled triangles\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f45b2e16d70\u003e":"tag:\"right-angled triangles\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"right-angled triangles\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"right-angled triangles\"","","\"","right-angled triangles","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f45b2e16cd0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f45b2e16c30\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f45b2e16050\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f45b2e16f50\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f45b2e16eb0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f45b2e16e10\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f45b2e16d70\u003e":"tag:\"right-angled triangles\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f45b2e16d70\u003e":"tag:\"right-angled triangles\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":336,"difficulty_rating":"easy-medium"},{"id":833,"difficulty_rating":"medium"}]}}