{"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":42990,"title":"Pad zero between every adjacent values of the vector.","description":"    you are given a vector x. you have to make an output vector y with zeros padded between every adjacent values of x.\r\ne.g x: [1 2 3 4 5 6]; the output y:[ 1 0 2 0 3 0 4 0 5 0 6 0].","description_html":"\u003cpre\u003e    you are given a vector x. you have to make an output vector y with zeros padded between every adjacent values of x.\r\ne.g x: [1 2 3 4 5 6]; the output y:[ 1 0 2 0 3 0 4 0 5 0 6 0].\u003c/pre\u003e","function_template":"function y = your_fcn_name(x)\r\n  y = zeros(length(x));\r\nend","test_suite":"%%\r\nx = [1];\r\ny_correct = [1 0];\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = [1 2 3 4 5 6];\r\ny_correct =[ 1 0 2 0 3 0 4 0 5 0 6 0];\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = 1:10;\r\ny_correct =[ 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0];\r\nassert(isequal(your_fcn_name(x),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":91313,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":57,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-09-20T13:07:32.000Z","updated_at":"2026-02-06T11:43:12.000Z","published_at":"2016-09-20T13:07: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\",\"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=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    you are given a vector x. you have to make an output vector y with zeros padded between every adjacent values of x.\\ne.g x: [1 2 3 4 5 6]; the output y:[ 1 0 2 0 3 0 4 0 5 0 6 0].]]\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":43221,"title":"Interpolate scattered data.","description":"Most data was scattered, and there is no gird.\r\n\r\nThere are three data [c] in three different area [x,y].\r\n\r\n x=[1 3 4];\r\n y=[1 2 1];\r\n c=[2 3 5];\r\n\r\nEstimate data value in x=2.6, y=1.4 using interpolation. x,y,c are used as inputs.\r\n\r\n(hint: use griddata)\r\n","description_html":"\u003cp\u003eMost data was scattered, and there is no gird.\u003c/p\u003e\u003cp\u003eThere are three data [c] in three different area [x,y].\u003c/p\u003e\u003cpre\u003e x=[1 3 4];\r\n y=[1 2 1];\r\n c=[2 3 5];\u003c/pre\u003e\u003cp\u003eEstimate data value in x=2.6, y=1.4 using interpolation. x,y,c are used as inputs.\u003c/p\u003e\u003cp\u003e(hint: use griddata)\u003c/p\u003e","function_template":"function z = datinter(x,y,c) \r\n z=?\r\nend","test_suite":"%%\r\n x=[1 3 4];\r\n y=[1 2 1];\r\n c=[2 3 5];\r\ny_correct = griddata(x,y,c,2.6,1.4);\r\nassert(isequal(datinter(x,y,c),y_correct))\r\n\r\n%%\r\n x=[1 2 4];\r\n y=[1 2 1.2];\r\n c=[2 6 9];\r\ny_correct = griddata(x,y,c,2.6,1.4);\r\nassert(isequal(datinter(x,y,c),y_correct))\r\n","published":true,"deleted":false,"likes_count":8,"comments_count":0,"created_by":33533,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":57,"test_suite_updated_at":"2016-10-15T07:58:27.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2016-10-08T13:14:32.000Z","updated_at":"2026-03-05T15:57:44.000Z","published_at":"2016-10-08T13:15:37.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\u003eMost data was scattered, and there is no gird.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThere are three data [c] in three different area [x,y].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ x=[1 3 4];\\n y=[1 2 1];\\n c=[2 3 5];]]\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\u003eEstimate data value in x=2.6, y=1.4 using interpolation. x,y,c are used as inputs.\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\u003e(hint: use griddata)\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":47563,"title":"Find a real root of a quintic function","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 273px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 136.5px; transform-origin: 407px 136.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"234.5\" height=\"20\" style=\"width: 234.5px; height: 20px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 20px; transform-origin: 404px 20px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003einput = [a b c d e f];\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor example;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 20px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 10px; transform-origin: 404px 10px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003einput = [6 8 7 9 12 467];\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003emeans\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"257.5\" height=\"20\" style=\"width: 257.5px; height: 20px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ea possible solution is\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 20px; transform-origin: 404px 20px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ex = -2.628054656;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eg(x) = -5.665150411005015e-07\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function x = quintic(coeffs)\r\n\r\nend","test_suite":"%%\r\ncoeffs = [6 8 7 9 12 467];\r\ncandidateX = quintic(coeffs);\r\nassert(isreal(candidateX))\r\nassert(abs(sum(coeffs.*(candidateX.^(5:-1:0)))-0)\u003c0.0001)\r\n%%\r\ncoeffs = [4 6 7 8 2 1];\r\ncandidateX = quintic(coeffs);\r\nassert(isreal(candidateX))\r\nassert(abs(sum(coeffs.*(candidateX.^(5:-1:0)))-0)\u003c0.0001)\r\n%%\r\nfor idx = 1:10\r\ncoeffs = randi([1 50],1,6);\r\ncandidateX = quintic(coeffs);\r\nassert(isreal(candidateX))\r\nassert(abs(sum(coeffs.*(candidateX.^(5:-1:0)))-0)\u003c0.0001)\r\nend","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":8703,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":29,"test_suite_updated_at":"2020-11-19T10:27:18.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-19T10:11:50.000Z","updated_at":"2026-03-24T11:51:45.000Z","published_at":"2020-11-19T10:13:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eg(x) = ax^5 + bx^4 + cx^3 +dx^2 + e^x + f\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[input = [a b c d e f];\\n]]\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[input = [6 8 7 9 12 467];]]\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003emeans\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eg(x) = 6x^5+8x^4+7x^3+9x^2+12x+467\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003ea possible solution is\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x = -2.628054656;\\ng(x) = -5.665150411005015e-07]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":42992,"title":"S-T-R-E-T-C-H   I-T   O-U-T","description":"You will be given a row of numbers (x), and a single number (n).  Your job is to write a script that will stretch out the row of numbers, putting n numbers between each of the numbers in x.  The numbers you put in x will be linearly interpolated.\r\n\r\nFor example, if x=[1 5 2 4 3] and n=1, your output should be:\r\n\r\ny=[1 3 5 3.5 2 3 4 3.5 3]\r\n\r\nThere is n=1 number between all of the original values of x, and the new values are linearly interpolated from the original values of x:\r\n\r\n* 1 --\u003e 3 --\u003e 5\r\n* 5 --\u003e  3.5  --\u003e 2\r\n* 2 --\u003e 3 --\u003e 4\r\n* 4 --\u003e 3.5 --\u003e 3","description_html":"\u003cp\u003eYou will be given a row of numbers (x), and a single number (n).  Your job is to write a script that will stretch out the row of numbers, putting n numbers between each of the numbers in x.  The numbers you put in x will be linearly interpolated.\u003c/p\u003e\u003cp\u003eFor example, if x=[1 5 2 4 3] and n=1, your output should be:\u003c/p\u003e\u003cp\u003ey=[1 3 5 3.5 2 3 4 3.5 3]\u003c/p\u003e\u003cp\u003eThere is n=1 number between all of the original values of x, and the new values are linearly interpolated from the original values of x:\u003c/p\u003e\u003cul\u003e\u003cli\u003e1 --\u0026gt; 3 --\u0026gt; 5\u003c/li\u003e\u003cli\u003e5 --\u0026gt;  3.5  --\u0026gt; 2\u003c/li\u003e\u003cli\u003e2 --\u0026gt; 3 --\u0026gt; 4\u003c/li\u003e\u003cli\u003e4 --\u0026gt; 3.5 --\u0026gt; 3\u003c/li\u003e\u003c/ul\u003e","function_template":"function y = stretch_it_out(x,n)\r\n  y = x.*n;\r\nend","test_suite":"%%\r\nx = [1 5 2 4 3];n=1;\r\ny_correct = [1 3 5 3.5 2 3 4 3.5 3];\r\nassert(isequal(stretch_it_out(x,n),y_correct))\r\n%%\r\nx = [1 5 2 4 3];n=2;\r\ny_correct=[1 2+1/3 3+2/3 5 4 3 2 2+2/3 3+1/3 4 3+2/3 3+1/3 3];\r\ny=abs(stretch_it_out(x,n)-y_correct);\r\nassert(max(y)\u003c1e-9)\r\n%%\r\nk=ceil(5*rand)+1\r\nx=1:k:121\r\nn=k-1;\r\nassert(isequal(stretch_it_out(x,n),1:121))\r\n%%\r\nx=[1 -1 1 -1 1 -1 1];n=3;\r\ny_correct=[1 0.5  0 -0.5 -1 -0.5  0 0.5  1 0.5  0 -0.5 -1 -0.5  0 0.5  1 0.5  0 -0.5 -1 -0.5  0 0.5  1];\r\nassert(isequal(stretch_it_out(x,n),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":79,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":43,"created_at":"2016-09-20T17:08:32.000Z","updated_at":"2025-12-23T03:42:27.000Z","published_at":"2016-09-20T17:09:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou will be given a row of numbers (x), and a single number (n). Your job is to write a script that will stretch out the row of numbers, putting n numbers between each of the numbers in x. The numbers you put in x will be linearly interpolated.\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, if x=[1 5 2 4 3] and n=1, your output should be:\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\u003ey=[1 3 5 3.5 2 3 4 3.5 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\u003eThere is n=1 number between all of the original values of x, and the new values are linearly interpolated from the original values of x:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1 --\u0026gt; 3 --\u0026gt; 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e5 --\u0026gt; 3.5 --\u0026gt; 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e2 --\u0026gt; 3 --\u0026gt; 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e4 --\u0026gt; 3.5 --\u0026gt; 3\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":1017,"title":"Lagrange Interpolation","description":"Given a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Lagrange interpolation. Output is the interpolated value for a given value of x, as well as the vector of Lagrange polynomial coefficients.","description_html":"\u003cp\u003eGiven a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Lagrange interpolation. Output is the interpolated value for a given value of x, as well as the vector of Lagrange polynomial coefficients.\u003c/p\u003e","function_template":"function [y,L] = Lagrange_Interp(X,Y,x)\r\n% X is a vector of independent variable values\r\n% Y is a vector of measurements of dependent variable values\r\n% x is the value of the independent variable to be interpolated\r\n% y is the interpolated value, evaluated at x\r\n% L is a vector of Lagrange polynomial values at x\r\n  y = x;\r\nend","test_suite":"%% Check linear interpolation\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851]*1e-1;\r\nx = 5000;\r\ny = Lagrange_Interp(X,Y,x)\r\ny_correct = 0.73650;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\n%% Check Lagrange polynomial coefficients\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851];\r\nx = 5000;\r\ny_correct = 7.3650;\r\nL_correct = [1, 2]/3;\r\n[y,L] = Lagrange_Interp(X,Y,x)\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(L-L_correct)\u003c1e-3)\r\n%% Check quadratic interpolation\r\nX = [300, 400, 500];\r\nY = [0.616, 0.525, 0.457];\r\nx = 350;\r\n[y,L] = Lagrange_Interp(X,Y,x)\r\ny_correct = 0.567625;\r\nL_correct = [3, 6, -1]/8;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(L-L_correct)\u003c1e-3)\r\n%% Check quadratic interpolation for log\r\nX = [1, 4 6];\r\nY = log(X);\r\nx = 2;\r\n[y,L] = Lagrange_Interp(X,Y,x)\r\ny_correct = 0.5658;\r\nL_correct = [8/15, 2/3, -1/5];\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(L-L_correct)\u003c1e-3)","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":279,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":17,"test_suite_updated_at":"2012-10-30T18:40:10.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-10-30T17:43:01.000Z","updated_at":"2025-06-21T13:59:01.000Z","published_at":"2012-10-30T17:43:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"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 a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Lagrange interpolation. Output is the interpolated value for a given value of x, as well as the vector of Lagrange polynomial coefficients.\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":1011,"title":"Newton Interpolation","description":"Given a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Newton interpolation. Output is the interpolated value for a given value of x, as well as the vector of divided differences, b, that are the coefficients of the Newton polynomial.","description_html":"\u003cp\u003eGiven a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Newton interpolation. Output is the interpolated value for a given value of x, as well as the vector of divided differences, b, that are the coefficients of the Newton polynomial.\u003c/p\u003e","function_template":"function [y,b] = Newton_Interp(X,Y,x)\r\n% X is a vector of independent variable values\r\n% Y is a vector of measurements of dependent variable values\r\n% x is the value of the independent variable to be interpolated\r\n% y is the interpolated value, evaluated at x\r\n% b is a vector of divided difference coefficients in the Newton polynomial\r\n  y = x;\r\nend","test_suite":"%% Check linear interpolation\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851]*1e-1;\r\nx = 5000;\r\ny = Newton_Interp(X,Y,x)\r\ny_correct = 0.73650;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\n%% Check Newton polynomial coefficients\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851];\r\nx = 5000;\r\ny_correct = 7.3650;\r\nb_correct = [7.5247, -0.00079867];\r\n[y,b] = Newton_Interp(X,Y,x)\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(b-b_correct)\u003c1e-3)\r\n%% Check quadratic interpolation\r\nX = [300, 400, 500];\r\nY = [0.616, 0.525, 0.457];\r\nx = 350;\r\n[y,b] = Newton_Interp(X,Y,x)\r\ny_correct = 0.567625;\r\nb_correct = [0.616, -0.00091, 0.00000115];\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(b-b_correct)\u003c1e-3)\r\n%% Check quadratic interpolation for log\r\nX = [1, 4 6];\r\nY = log(X);\r\nx = 2;\r\n[y,b] = Newton_Interp(X,Y,x)\r\ny_correct = 0.5658;\r\nb_correct = [0, 0.4620981, -0.0518731];\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(b-b_correct)\u003c1e-3)","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":279,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":"2012-10-30T18:36:47.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-10-30T03:15:39.000Z","updated_at":"2025-12-10T10:32:01.000Z","published_at":"2012-10-30T16:49:49.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 a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Newton interpolation. Output is the interpolated value for a given value of x, as well as the vector of divided differences, b, that are the coefficients of the Newton polynomial.\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":378,"title":"Inhomogenous Depth Scale Interpolation","description":"I recently came across a dataset for physical ocean parameters such as temperature and salinity that provided data in the form of a 3-Dimensional array of depths and a 3-Dimensional array of the parameters where each point on the first two dimensions corresponds to a latitude and longitude, respectively, and the points in the third dimension corresponds to depths.\r\nGiven a target depth, return the linearly interpolated values of the data at that depth without using the keywords for or while in your code.\r\nFor example, if Z and V are arrays with size [ M, N, D ], the output matrix V2 would be of size [ M N ].\r\nTest Case Details:\r\nThe depth array, Z, will always start at 0 and end at 1, which are also the bounds of the target depth d. This is so that you do not have to handle \"edge\" cases.\r\nThe depth array, Z, will always be sorted in the third dimension.\r\nBoth input arrays will be the same size.\r\nThe test cases are randomly generated and your solution is tested against a simple for-looping code.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440000534057617px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 346px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003eI recently came across a dataset for physical ocean parameters such as temperature and salinity that provided data in the form of a 3-Dimensional array of depths and a 3-Dimensional array of the parameters where each point on the first two dimensions corresponds to a latitude and longitude, respectively, and the points in the third dimension corresponds to depths.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003eGiven a target depth, return the linearly interpolated values of the data at that depth without using the keywords\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003efor\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e or\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003ewhile\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e in your code.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003eFor example, if\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eZ\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e and\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e are arrays with size [\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eM\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eN\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eD\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e ], the output matrix\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eV2\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e would be of size [\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eM\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eN\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e ].\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003eTest Case Details:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 120px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 40px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; text-align: left; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003eThe depth array,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eZ\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e, will always start at 0 and end at 1, which are also the bounds of the target depth\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ed\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e. This is so that you do not have to handle \"edge\" cases.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; text-align: left; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003eThe depth array,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eZ\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e, will always be sorted in the third dimension.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; text-align: left; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003eBoth input arrays will be the same size.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 40px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; text-align: left; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003eThe test cases are randomly generated and your solution is tested against a simple for-looping code.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v2 = interp_v_at_d(z,v,d)\r\n  v2 = v(:,:,z==d);\r\nend","test_suite":"%%\r\n% Test to make sure there are no for loops\r\nfid = fopen('interp_v_at_d.m');\r\ntext = fread(fid)';\r\nfclose(fid);\r\nassert( isempty( strfind( text, 'for' ) ) )\r\n\r\n%%\r\n% Test to make sure there are no while loops\r\nfid = fopen('interp_v_at_d.m');\r\ntext = fread(fid)';\r\nfclose(fid);\r\nassert( isempty( strfind( text, 'while' ) ) )\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 1;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( abs(v2_correct - v2) \u003c 1e-6 );\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 5;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( all( abs(v2_correct(:) - v2(:)) \u003c 1e-6 ) );\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 10;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( all( abs(v2_correct(:) - v2(:)) \u003c 1e-6 ) );\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 25;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( all( abs(v2_correct(:) - v2(:)) \u003c 1e-6 ) );\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 100;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( all( abs(v2_correct(:) - v2(:)) \u003c 1e-6 ) );","published":true,"deleted":false,"likes_count":0,"comments_count":4,"created_by":134,"edited_by":26769,"edited_at":"2023-02-19T00:39:48.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2023-02-19T00:39:48.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-02-22T00:22:47.000Z","updated_at":"2023-02-19T00:39:48.000Z","published_at":"2012-02-22T00:53:54.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI recently came across a dataset for physical ocean parameters such as temperature and salinity that provided data in the form of a 3-Dimensional array of depths and a 3-Dimensional array of the parameters where each point on the first two dimensions corresponds to a latitude and longitude, respectively, and the points in the third dimension corresponds to depths.\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\u003eGiven a target depth, return the linearly interpolated values of the data at that depth without using the keywords\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\u003efor\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e or\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\u003ewhile\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e in your code.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, if\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\u003eZ\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\u003eV\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e are arrays with size [\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\u003eM\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: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\u003eN\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: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\u003eD\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ], the output matrix\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\u003eV2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e would be of size [\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\u003eM\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTest Case Details:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe depth 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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eZ\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, will always start at 0 and end at 1, which are also the bounds of the target depth\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\u003ed\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. This is so that you do not have to handle \\\"edge\\\" cases.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe depth 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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eZ\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, will always be sorted in the third dimension.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBoth input arrays will be the same size.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe test cases are randomly generated and your solution is tested against a simple for-looping code.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":72,"title":"Interpolator","description":"You have a two vectors, a and b. They are monotonic and the same length. Given a value, va, where va is between a(1) and a(end), find the a(n) and a(n+1) that flank it. Now interpolate the value, vb, such that it is proportionally between b(n) and b(n+1).\r\nNote that va can land exactly on a value of a as well.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 93px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 46.5px; transform-origin: 407px 46.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 378.5px 8px; transform-origin: 378.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou have a two vectors, a and b. They are monotonic and the same length. Given a value, va, where va is between a(1) and a(end), find the a(n) and a(n+1) that flank it. Now interpolate the value, vb, such that it is proportionally between b(n) and b(n+1).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 164.5px 8px; transform-origin: 164.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eNote that va can land exactly on a value of a as well.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function vb = interpolator(va, a, b)","test_suite":"%%\r\nfiletext = fileread('interpolator.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp'); \r\nassert(~illegal)\r\n\r\n%%\r\na = 3;  \r\nalpha = 1 : 1 : 10;\r\nbeta  = 2 : 2 : 20;\r\nb = 6;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n\r\n%%\r\na = 3.5;  \r\nalpha = 1 : 1 : 10;\r\nbeta  = 2 : 2 : 20;\r\nb = 7;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n\r\n%%\r\na = 3;  \r\nalpha = [0 1 5 6 7  10];\r\nbeta  = [2 3 5 7 9 100];\r\nb = 4;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n\r\n%%\r\na = 10;  \r\nalpha = 1:10;\r\nbeta  = primes(30);\r\nb = 29;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n\r\n%%\r\na = 2;  \r\nbeta = 2.^(1:10);\r\nalpha  = primes(30);\r\nb = 2;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n","published":true,"deleted":false,"likes_count":39,"comments_count":13,"created_by":1,"edited_by":223089,"edited_at":"2023-03-13T15:41:48.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3403,"test_suite_updated_at":"2023-03-13T15:41:48.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:27.000Z","updated_at":"2026-02-14T15:32:13.000Z","published_at":"2012-01-18T01:00:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou have a two vectors, a and b. They are monotonic and the same length. Given a value, va, where va is between a(1) and a(end), find the a(n) and a(n+1) that flank it. Now interpolate the value, vb, such that it is proportionally between b(n) and b(n+1).\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\u003eNote that va can land exactly on a value of a as well.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":44828,"title":"Pose interpolation in 2D","description":"Consider two poses represented by homogeneous transformation matrices: |T1| and |T2|.  Write an algorithm to interpolate between these poses according to 0 \u003c= |s| \u003c= 1.  When s=0 the algorithm should return |T1| and when |s| =1 it should return |T2| .  For intermediate values of |s| it should return a proper homogeneous transformation matrix.  Orientation angle should increase in a positive (counter clockwise) direction.","description_html":"\u003cp\u003eConsider two poses represented by homogeneous transformation matrices: \u003ctt\u003eT1\u003c/tt\u003e and \u003ctt\u003eT2\u003c/tt\u003e.  Write an algorithm to interpolate between these poses according to 0 \u0026lt;= \u003ctt\u003es\u003c/tt\u003e \u0026lt;= 1.  When s=0 the algorithm should return \u003ctt\u003eT1\u003c/tt\u003e and when \u003ctt\u003es\u003c/tt\u003e =1 it should return \u003ctt\u003eT2\u003c/tt\u003e .  For intermediate values of \u003ctt\u003es\u003c/tt\u003e it should return a proper homogeneous transformation matrix.  Orientation angle should increase in a positive (counter clockwise) direction.\u003c/p\u003e","function_template":"function T = user_function(T1, T2, s)\r\n  % Input:  T1 a 3x3 homogeneous transformation matrix, initial pose\r\n  %         T2 a 3x3 homogeneous transformation matrix, final pose\r\n  %         s  a scalar between 0 and 1\r\n  % Outout: T  a 3x3 homogeneous transformation matrix, interpolated pose\r\n  T = ;\r\nend","test_suite":"th1 = 2*pi*rand - pi;\r\nt1 = rand(2,1)*20-10;\r\nR1 = [cos(th1) -sin(th1); sin(th1) cos(th1)];\r\nT1 = [R1 t1; 0 0 1];\r\nth2 = 2*pi*rand - pi;\r\nt2 = rand(2,1)*20-10;\r\nR2 = [cos(th2) -sin(th2); sin(th2) cos(th2)];\r\nT2 = [R2 t2; 0 0 1];\r\ns = 0.2 + rand*0.5;\r\n\r\nTi0 = user_function(T1, T2, 0);\r\nTi1 = user_function(T1, T2, 1);\r\nTis = user_function(T1, T2, s);\r\n\r\n\r\n\r\n%%\r\nassert(all(size(Ti0)==3), 's=0: the matrix must be 3x3');\r\n%\r\nassert(isreal(Ti0), 's=0: the matrix must be real, not complex');\r\n% bottom row\r\nassert(isequal(Ti0(3,:), [0 0 1]), 's=0: the bottom row of the homogeneous transformation matrix is not correct')\r\n%\r\nassert( max(max(abs(Ti0-T1))) \u003c 0.0001, 's=0: the interpolated value for s=0 is not correct');\r\n% translation\r\nassert(norm(Ti0(1:2,3)-t1) \u003c 0.0001, 's=0: the translation component is not correct')\r\n% determinant\r\nassert(abs(det(Ti0)-1) \u003c 1e-6, 's=0: the rotation submatrix is not proper')\r\n%\r\nth = atan2(Ti0(2,1), Ti0(1,1));\r\ndth = th - th1;\r\nassert(abs(dth) \u003c 0.0001, 's=0: the rotation submatrix is not correct')\r\n\r\n%%\r\nassert(all(size(Ti1)==3), 's=1: the matrix must be 3x3');\r\n%\r\nassert(isreal(Ti1), 's=1: the matrix must be real, not complex');\r\n% bottom row\r\nassert(isequal(Ti1(3,:), [0 0 1]), 's=1: the bottom row of the homogeneous transformation matrix is not correct')\r\n% translation\r\nassert(norm(Ti1(1:2,3)-t2) \u003c 0.0001, 's=1: the translation component is not correct')\r\n%% determinant\r\nassert(abs(det(Ti1)-1) \u003c 1e-6, 's=1: the rotation submatrix is not proper')\r\n% rotation\r\nth = atan2(Ti1(2,1), Ti1(1,1));\r\ndth = th - th2;\r\nassert(abs(dth) \u003c 0.0001, 's=1: the rotation submatrix is not correct')\r\n\r\n\r\n%%\r\nassert(all(size(Tis)==3), 's=%f: the matrix must be 3x3', s);\r\nassert(isreal(Tis), 's=%f: the matrix must be real, not complex', s);\r\n% bottom row\r\nassert(isequal(Tis(3,:), [0 0 1]), 's=%f: the bottom row of the homogeneous transformation matrix is not correct', s)\r\n% determinant\r\nassert(abs(det(Tis)-1) \u003c 1e-6, 's=%f: the rotation submatrix is not proper', s)\r\n\r\n\r\n% translation\r\nTD = inv(T1) * T2;\r\nTDi = inv(T1) * Tis;\r\ndx = TD(1,3)*s - TDi(1,3);\r\ndy = TD(2,3)*s - TDi(2,3);\r\nassert(abs(dx) \u003c 0.0001, 's=%f: the x-translation component is not correct', s)\r\nassert(abs(dy) \u003c 0.0001, 's=%f: the y-translation component is not correct', s)\r\n% rotation matrix\r\nLDi = logm(TDi);\r\ndrot = LDi(2,1)  + th1*s - th2*s;\r\nwhile drot \u003e pi\r\n    drot = drot - 2*pi;\r\nend\r\nwhile drot \u003c -pi\r\n    drot = drot + 2*pi;\r\nend\r\nassert(abs(drot) \u003c 0.0001, 's=%f: the rotation submatrix is not correct')\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":13332,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":28,"test_suite_updated_at":"2019-01-21T22:44:17.000Z","rescore_all_solutions":false,"group_id":77,"created_at":"2019-01-10T06:21:41.000Z","updated_at":"2026-02-15T06:56:03.000Z","published_at":"2019-01-10T06:42:31.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\u003eConsider two poses represented by homogeneous transformation matrices:\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\u003eT1\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Write an algorithm to interpolate between these poses according to 0 \u0026lt;=\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\u003es\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u0026lt;= 1. When s=0 the algorithm should return\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\u003eT1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and when\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\u003es\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e =1 it should return\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\u003eT2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e . For intermediate values 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\u003es\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e it should return a proper homogeneous transformation matrix. Orientation angle should increase in a positive (counter clockwise) direction.\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":1015,"title":"Polynomial Interpolation","description":"Given a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial. Output is the interpolated value for a given value of x, as well as the condition number of the Vandermonde coefficient matrix.","description_html":"\u003cp\u003eGiven a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial. Output is the interpolated value for a given value of x, as well as the condition number of the Vandermonde coefficient matrix.\u003c/p\u003e","function_template":"function [y,c] = Poly_Interp(X,Y,x)\r\n% X is a vector of independent variable values\r\n% Y is a vector of measurements of dependent variable values\r\n% x is the value of the independent variable to be interpolated\r\n% y is the interpolated value, evaluated at x\r\n% c is the condition number of the Vandermonde coefficient matrix\r\n   y = x;\r\nend","test_suite":"%% Check linear interpolation\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851]*1e-1;\r\nx = 5000;\r\ny = Poly_Interp(X,Y,x)\r\ny_correct = 0.73650;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\n%% Check Vandermonde coefficient matrix condition number\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851];\r\nx = 5000;\r\ny_correct = 7.3650;\r\nc_correct = 1.6350e+05;\r\n[y,c] = Poly_Interp(X,Y,x)\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(c-c_correct)\u003c1e2)\r\n%% Check quadratic interpolation\r\nX = [300, 400, 500];\r\nY = [0.616, 0.525, 0.457];\r\nx = 350;\r\n[y,c] = Poly_Interp(X,Y,x)\r\ny_correct = 0.567625;\r\nc_correct = [5.8932e+06];\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(c-c_correct)\u003c1e2)\r\n%% Check quadratic interpolation for log\r\nX = [1, 4 6];\r\nY = log(X);\r\nx = 2;\r\n[y,c] = Poly_Interp(X,Y,x)\r\ny_correct = 0.5658;\r\nc_correct = 93.9107;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(c-c_correct)\u003c1e-2)","published":true,"deleted":false,"likes_count":2,"comments_count":4,"created_by":279,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":18,"test_suite_updated_at":"2012-10-30T18:33:18.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-10-30T16:59:18.000Z","updated_at":"2025-06-01T14:44:47.000Z","published_at":"2012-10-30T17:18:56.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 a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial. Output is the interpolated value for a given value of x, as well as the condition number of the Vandermonde coefficient matrix.\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":57879,"title":"Route a hydrograph through a river section with the Muskingum method","description":"Problem statement \r\nWrite a function that routes a hydrograph through a river section using the Muskingum method. The input to the function will be the inflow hydrograph , the times  at which the hydrograph is reported, the routing parameters  and , and the desired time step . If the desired time step differs from the time step in the given inflow hydrograph, use linear interpolation to get the inflow hydrograph onto the new time base. Return the time base of the outflow hydrograph, the outflow hydrograph , and a Boolean flag that says whether the time step is within the guidelines .\r\nBonus points to anyone who can solve this problem using the FILTER command. \r\nBackground\r\nHydrologic routing is used to predict the movement of a flood wave in a river. The Muskingum method is an example of hydrologic routing, in which the inflow  and outflow  are connected to the storage  in a channel section through a conservation of mass (or volume), which states that the rate of change of storage is the difference between the inflow and outflow:\r\n\r\nThis equation is written in discretized form as \r\n\r\nwhere subscripts 1 and 2 denote the previous and current time steps, respectively. In applications, the inflow hydrograph (or flow as a function of time) is known, and we assume that everything at the previous time step is known. That assumption leaves two unknowns, the current outflow  and the current storage . \r\nIn the Muskingum method, the storage, inflow, and outflow are further related by \r\n\r\nwhere  is a time scale related to travel time in the river section and  is a weighting factor. Substituting this relation into the discretized form of conservation of mass and rearranging gives\r\n\r\nwhere\r\n\r\n\r\n\r\nNotice that . With the assumption that the first value of the outflow equals the first value of the inflow, this equation for  can be used to compute the outflow hydrograph. The guideline for  above ensures that the coefficients , , and  are positive.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 882.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 441.35px; transform-origin: 407px 441.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 64.95px 8px; transform-origin: 64.95px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eProblem statement \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 126px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 63px; text-align: left; transform-origin: 384px 63px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 383.783px 8px; transform-origin: 383.783px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that routes a hydrograph through a river section using the Muskingum method. The input to the function will be the inflow hydrograph \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAAlCAYAAADiMKHrAAADL0lEQVRYR+1YO2uVQRBNekGIlSm0iEWEIELwAYKQJgEbkYCKWEctxEpBf4CCVsEiKlYWokIQsdJWEKM/QAsVbbRSEO31HNmR4bo7jy/JBwn3wuG+Zmf3zOPs7jc6sglfo5uQ08iQ1EbJap+ZOoGgfATeJINzFvaPgO/RcX2R4sJmABLLvvZhwE3gfDQgfZAioWPAXJaNsiexJ8DRCLEIqVk4mgdOAVvURL/w+T5w15iIY5eBnZnyaZCnr0XgkOcrQkrmYOk8UBOexOeHRvTH8N9n4CJwaxVZ0kOf4csn4Izlryupr3A65UTsOv4/DYyvESG6mQDeAyzl5y2/GVK34WShOKJDq0e6ZonjjjuZfYX/f1jzZ0h9gaPthdQVvF8zMnAZ/10FtjnZHHTB8toKHDR8U3iWgF3Ah5pdlJSkXXw0HRaDt+V9d6L02J/MkhcwWUvTLkpKosM1vgMsBWIJfQPuAGZDF8KU63vAZPm+H+/eBv0TNi+BagtESUkUOS93d2sTpfSyjG4Al5xMsT8ONGzO4feWanLcDqAqQlFSup88KZd+MhVqgAgjzz3QC5gMk2BU1x8hxfJ4rRbhNT+lnHtTlJT2b2VHx0HmqPZ2hJREnk5XAEuZaJMlpf17AiTEzDkipNgf7BO+In2SJSWlRAGKquWqSUm9k1SkpLKkfpeARdWS5nIQqLaClyld75GjEScU+Y8EQJQyGrA1EQqJOp15RyOZMCPpEnGe+DMneZYsTx7VcvUypfcRb6fX6sSSisgzTx7cdCMCFPbvkZJ6p8OoMtGW4sLN0Wp8OXloAWJlMHvVM11hJS3RlH+LlL4/RftJoukeOmGo/fNoNA1ErvwkTkLNcrVIaSnPyC2JydWDp+nWUUn3K0t1D+DeamHD082LEhRdkv8+10gxyhdKretBFIrHQPQW610SdaYo57S3yo5rkccDey1br6eqkUj8SCF4amQr4eqvacjfepNKPQVyGDKThwHvmNbLY+fwUyCDVMrHemdK1ikPJI/gh/CT1jI4PbYvUlwfr+FURe9WO5gwCor1KO6/BPdJKisKne2HpDqHrueBw0z1HPDO0/0BZ0i3Jokz6M8AAAAASUVORK5CYII=\" alt=\"I(t)\" style=\"width: 26.5px; height: 18.5px;\" width=\"26.5\" height=\"18.5\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 34.2167px 8px; transform-origin: 34.2167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, the times \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003et\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 187.875px 8px; transform-origin: 187.875px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at which the hydrograph is reported, the routing parameters \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eK\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eX\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 29.1667px 8px; transform-origin: 29.1667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, and the desired time step \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAkCAYAAAAOwvOmAAACMElEQVRYR+1Vuy4FURS9tyeCSqWgIFFoPBLRkmglXh/gUSgUJHwACZUoPKIWfICEQilePQUFBRWJ0LNWcnayZ+acmT1zm5uYSVbu3DN777PO2o9TrdThU61DTpWSlDUrpVL/Uqk3nHoH2LCePo9dkZoawQbnwA/QmGczq20RUtcIPuA2mMLviXUzq11eUh0I/KSCP+K927qZx24Sa/fAs/6WlxRVGXMBGmpUqw/+t8AocFGUVAscP4AD4AtYdoFu8DuYUy0SugS+gR7gsyipTTguAL0ugE5jP9bujMQYRw5EhahU5LGmjyq9AFcqCFM54aJ5g8f2Yv0cApJ2/Zm1OSSKWUnNw2ELGAck/1ITErwTL5GCDSi3ivV1983rYyXFYck6ineaHg+stTlDCjnjOOsi6mg/CynKfgz4ZpJ8k5itkoIUcixupvAUoH/isZCiGk0elSQYVWxzf7LUktuA5sHBm0VK6mYNQUL3HOtt15HKunp05wVVzSLFDhsGErMkprmkhMtpB5AaTJ1taaTkSslKCYloBUJqyfClPTt5JVR3aaT24TQDcFhmtbreMFQvuikSV4smGCIlw/IIxpY2Z0w9TH0XNQ85C1DJdqDZxU4oFiIlA+4djq8hmWPr7NAutRbvrgf3ncN3GjgDFoHE9RQipdvcyClhFi/mX2dBFflsA3u+4D5SusWLEhI/fVGLUlR/yaXbGz9rJNRKqpB/ScoqW6lUqZRVAatdWVNWpf4AMMxqJZfZ0UIAAAAASUVORK5CYII=\" alt=\"dt\" style=\"width: 18.5px; height: 18px;\" width=\"18.5\" height=\"18\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 284.583px 8px; transform-origin: 284.583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. If the desired time step differs from the time step in the given inflow hydrograph, use linear interpolation to get the inflow hydrograph onto the new time base. Return the time base of the outflow hydrograph, the outflow hydrograph \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAlCAYAAAAeJYohAAADwElEQVRoQ+1YTciNQRT+vr1SrFhQWFBC+S1RNpSUhcJSKT8LS4q1KBaShZ+srFAWUoqtyM9KKRYUG1aU2PM8X/PofGPOzJl7F/dyv7ee7vu+d+bMec7vvDM9NWHX9ITxnZoj/L97fFw8vBGGXgbc6TT4MYy/C3yLzhsHwiR7Bdjdo3giqLkn8PwqQnrUhKnwLWDrAGTFjzLuA3sjpAclvBPCDwNrgJXGsu9wfxm4FrD2Aoz5BOwDHgfG14ZQH67bNFwvYYXQZgh/AVwClHdalAb4AmwDPlS0fJ4IHxiSrKY/ws1H4GhNXg/hCxB0Mgk7g9/zBcH02htgUSK9Gr+lgkLjUMEVDaP02GI5Br8HdgFuxEQJ04v7G2Sl3GncnEsPF/F7qqD1IN6lMalDLV0o93siXTRWhLAle6MVMvhf3uOCDO3F2cpMi5fAQaCnDTEi5gNbKm5nm7pai5wWYQmQ8l6IWh0sYb5fCNiwvo7nI4X3FR4zhqF3vVTSXIW1O65GWFV0XpIW9UhOOJ/3NslbVWOY/lPbUifYhPetfvsDY54BzOW/rhphG8qsyNGNgY0KLpgT/oV3lFcLTc5jPrIblK7jeOnlMuctAfJUmpHjEVZoaLFWKFmlFLJ6Z72i/PWKWYkcPcYo4xYy0sJkqCI3j3CudE/7YMgqBH/ifimgHFa4RwnLQDREzavWUGqfRZ09wlbpSPhpQeb9V7N6PreXsG1xUaOLcLEfe4SZZ7oirUhjrYJ8l6dCL2GFJ7eskSLHNbsJ2zCigGh15tjPAHdZvNiD8zbWS1iG7zF6te2VPNxqKzZf7H0+r5RzKoaRHLbyqtvFTKHuopXnYdTDNu9ZUUm4tI+OtiV5Ki98nsH1noS5IyumgJfDNjQj1dF+WDDf9gDel1K1Txo2MmBP0eR0GtRtYR5hS6DV/+xGo0WWCqmw5VtO6zkbZQp/6kSv1z45VX9cJ3mE7WceFfGU40bgJsCNAQsLlaopRFnK41rkUO7tZAFuXNYDO4DWxoPrU67t/bNSoLa11NGJvm0PYaa+M/nfWYCFJT8ImLWA88Cw5uVtL/MI48lK8zQDY5iKT2qGaX0t0dM8QeB5kd3XkuRr4J4xQoSoxrQOAKyHo5FDmdRnHeBGWYtwD4nesczHtRUv98pjkXsAlA4c/sgaJWFGz1MgeuhXMwBTYHvEeKMkTAIqjqEjVodx+MSS80dNWKQf4iZ8mG6Idx/ijwNhkd4wQAFkces5FxsLD/cWp6HGj4uHhyLRM3mOcI+1/sWxE+fh3wYi5Sa9/ITqAAAAAElFTkSuQmCC\" alt=\"O(t)\" style=\"width: 30px; height: 18.5px;\" width=\"30\" height=\"18.5\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 234.942px 8px; transform-origin: 234.942px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, and a Boolean flag that says whether the time step is within the guidelines \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"2KX \u003c= dt \u003c 2K(1-X)\" style=\"width: 149px; height: 18.5px;\" width=\"149\" height=\"18.5\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 251.925px 8px; transform-origin: 251.925px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBonus points to anyone who can solve this problem using the FILTER command. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 40.8333px 8px; transform-origin: 40.8333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eBackground\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 368.742px 8px; transform-origin: 368.742px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHydrologic routing is used to predict the movement of a flood wave in a river. The Muskingum method is an example of hydrologic routing, in which the inflow \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eI\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 39.675px 8px; transform-origin: 39.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and outflow \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eO\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 92.9583px 8px; transform-origin: 92.9583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are connected to the storage \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eS\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 97.25px 8px; transform-origin: 97.25px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a channel section through a conservation of mass (or volume), which states that the rate of change of storage is the difference between the inflow and outflow:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 34.8px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 17.4px; text-align: left; transform-origin: 384px 17.4px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"dS/dt = I - O\" style=\"width: 72.5px; height: 35px;\" width=\"72.5\" height=\"35\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 141.583px 8px; transform-origin: 141.583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis equation is written in discretized form as \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 37.9px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 18.95px; text-align: left; transform-origin: 384px 18.95px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"(S2-S1)/dt = (I1+I2)/2-(O1+O2)/2\" style=\"width: 156.5px; height: 38px;\" width=\"156.5\" height=\"38\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 64px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 32px; text-align: left; transform-origin: 384px 32px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewhere subscripts 1 and 2 denote the previous and current time steps, respectively. In applications, the inflow hydrograph (or flow as a function of time) is known, and we assume that everything at the previous time step is known. That assumption leaves two unknowns, the current outflow \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAoCAYAAACSN4jeAAACeklEQVRYR+1XPSiFURi+d1f+JhYDg0EW+VmslMiGTEr5mUwUgwyiGCSDn2RUlMHIakKKUgwMFiai7DxPnaP3nnu+73vPjXvFvfX0Hd93znmf87x/Rzr1S3/pX8orVSQW6pmiYv9esQ4oMAw0AvVCjVuMV4GNUIXc+aEx1owN1oBW4BRYAfbMpiRLUiT6BLQD97kSDCG2BCOTxtAMnoseoxV4dw1UGXINeL7kQk5LjKr0JZCy9qcxWDB/LOM59VPEJKktGBlNMESXHpk5dGn1TxAbw6brwojGNZIYl1bm4s44VzJeHoASQ2wATxvocSK4xLTrMvaMIyZdyAzsUp5cqkxj30qsFhveiSNEZaFPuU28HBEfWjA+D42zKMXczeuwsbYm3WCuLbrvGNcolVa5Um5ON7YpT8y4fBZzQ9aqiH2IWZoSYafLGsZ3ISGQSIxt50zMCgneR6xj1eePNcwtL+wePcLV+xiP+1zti7Fc091dR4OymTPLy4AdoByYMAS9cegj5saJVjEZl64StvnLkiP7apbLo7JSusQ9uS8PZIPn1acbkFnM7xeAW6Bt9mfFcRQxaYin7/exMe9kQfWRilmasnbUikmZuXFUvyPhbYBti6emIW294762u2QV4biWxLg4BOzdagjjY3N8fpsHGPDuhTFOIfcbQ+bE55Gk+xiV4zWnF+Ct1f5I5go4EGRDCHEuQ2AW8N50k4iFGtPOt6EivZCxtlDEWFrmgMhrVCGIkcwl4Puf4Uu1fBMjqVcTt9J1TKImSTafxFhMB4Fd4E2wKsWY/TMjCfJFzL3VuknCMtQpX+aLmDZbCxZjaoJFxdRSmYlFxf6MYp8ieIIpmC0ETQAAAABJRU5ErkJggg==\" alt=\"O2\" style=\"width: 19px; height: 20px;\" width=\"19\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 76.2333px 8px; transform-origin: 76.2333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and the current storage \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAACR0lEQVRYR+1WPS9EQRTd7VVUag2JiMZHIgoSJFoJCoWIBIWIQsEPQKIQlY9K6SMKUSHRiMTHD6Cg0FAhQs85ydzN7Lx5b2aYzTbvJSfzdmfePfeeuXPvFAtVfIpV5C7k5FVRP5fdJfs0FowDHdrCG7zvqt9rGCeBfZchfd4ley0WXwGNwAMwB5wpA/0Yj4Aa9bsO43tMckYyDHwDrcCTYZwOnCrHmkKIudYV+Y8yyKjTjL9g7hIYiUkuUdFmFvk15o+BlZjkbTB2qxlsx/udhWBb7b3kgrcPLtkpab2y9oqxOTSpsjxxkXMf9zQDjG7AOzTHQhc5P5eMF1M8350xHPAhtzkQRQFfcpsDO/hz6j8KhJCThwWFR1CeUbUtf/IhlFwvtyS07T+TdB6QPsA1s0DimNrI2UTOAbOUSnTm+ddt8FvW/w3gA5jQlOIpKasFNnJWrHWHnPeYZ7PhozcU1oVuw3HZqkSS2shZz2eArYyNpIOUVS88zIUhwExCqRWJEm2Sc0/flDxZxeQLa9hKfY6c9Ahn5HozScvkRZAuA2yzvYCt3uuiMQ82gSWgrPmYkYth+Zg3lFWAl4QGJemCIqbEPs2EFbIF6FJ2So6Z5OxQnwDHPqAHYAJJc+G+nQCHHhGThA4/AolM52ToOdfl9HnP7PWVJKd6fFJLcKXImWTcMh7Z1EtlJcjlmj1oEPMYM+tLd73Y5FJQDkDybCTFGH6z5pfu9jHJWfMvALnHmwmZuIbFJPfJ/rI1OXmwZDE+yGWPoWKwjV+nF28phQ0YUgAAAABJRU5ErkJggg==\" alt=\"S2\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 249.317px 8px; transform-origin: 249.317px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn the Muskingum method, the storage, inflow, and outflow are further related by \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"S = K[XI + (1-X)O]\" style=\"width: 143px; height: 18.5px;\" width=\"143\" height=\"18.5\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 21.0083px 8px; transform-origin: 21.0083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewhere \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eK\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 185.917px 8px; transform-origin: 185.917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a time scale related to travel time in the river section and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eX\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 156.75px 8px; transform-origin: 156.75px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a weighting factor. Substituting this relation into the discretized form of conservation of mass and rearranging gives\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"O2 = C0 I2 + C1 I1 + C2 O1\" style=\"width: 152px; height: 20px;\" width=\"152\" height=\"20\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 19.0667px 8px; transform-origin: 19.0667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewhere\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 35.2px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 17.6px; text-align: left; transform-origin: 384px 17.6px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ4AAABGCAYAAAA9zXoQAAAPcklEQVR4Xu1dW8h2RRX+vE86eJVIRXVhlJJEJZVBkgWhSATZifjJqAxEIpSK6KKLEkUivCgjQ0JKk4oIhAoKiqKDQQejiIKKsG5MIu9zPX/vk8v1z2HN7Nn73Xt/a8PiP7yzZ888M/PMmjVr1px3Ek8gEAgEAo0InNeYPpIHAoFAIHASxBGdIBAIBJoRCOJohixeCAQCgSCO6AOBQCDQjEAQRzNk8UIgEAgEcUQfCAQCgWYEgjiaIdvdC49Ije4U+fRKa/YBKdcZkVceyve4/PkTkY+L/KJS5jfI728RuUbk2Sbt1+Tfv1L1vk3+/lr1HST/h8i9Iv88/P9bTR4oy1dEvi9y/+E3fPN6EZsW37tB5F8rxbmpWEEcTXDtLjE6+XdEMADOX1ntniXledAMZFvEt6kBWyr+dfLjfSrBxxRh6Pd0Ogx0pPuzSvBR+fun1L9BBJ/PfPinh7L/Qf58t0iN5FYGf7k4QRybaq7hhWXnRsbeQTi8EJkM75L/f8eBPO4+pHmZ/HmjiNYeXuEYlJoQoEW8RMTO/C+X/4Pm8LQDYeQ0MGho/P7t8vdbEuVHXj8XAWlcLaLJZyn8Zv1OEMes8K468xdI6f6kSohO/qIJJcbgfGjQIOEgvlnyS83o0JKgLeGBZoBvlx4sI7h0SKXn9/4j6c6IfLeQGZY0KBcekNCFJi00pYdFoMG9dBAeE5plnleDOObBdQu5YjC96VBQzLJ4erUOzrBvrAw6Ly60F+QIQZNeavDa72gtwS4vYEP5nMjPRN7pGOiWcG2dfy95XCQC20qJgLxYrDJdEMcqm2X2QmFWfFTkCyL/FuEMisFzeePX9WydWgI0Znc2OQZfzS6ANBeL1OwzdqC/8EAOwOCrItBcsOS4VcRruNQaD8gB5IGHmk3OhtKDxSrfCeJYZbPMXiio25h5oUrj0UsWj82ABdRqux5As1dAPqCNj6UlljZoYjn2ahGQybdEsJzILYdKdbDGVowjYpGzeyyByWLfCOJYDOrVfAgz7V9FsKVpZ0oU0kMAGDhfFOESR1eOg9M7e/cCQ40DWtP7C5lo7QBp/yKCnZGpux2wh7D+0NSwXbyrLddSwwRx9Hbb7b6HNT1mRb0Gp42CtaI6X6ulns2979Ty9PzOpRaWKVeKlLY69QCHPQQ7IiN2O7Dr8z5V2KUI04PP7GmCOGaHeHUfgKEQdg2r3uut2doszkpxNl960NCgWSunJUTdGL2GYOZRM5KuruFHFiiIYySa68+La/PUoLHr9gukOrXlBmdzz5boSHRAfnhqxlhtg8Fy4tdKS5i6/cwlH5crS2MwEs/mvHqIA4BhT/zNIpccVD9+mO7AaKCni8CFF8aoWgdsLni80IUAtAq0S86YqLcta7M5vU5RkKmzd0tlQAbvErlWpOaNqbUo7pzAvsPBXvL8rJVJ+4YgbW13p5bfpn5vIQ4QxkdEADaAB4PfI/I9EXrGcf3MhvEY2jYF2IYLS7W9tFXIJYBnIOjZ3Gon+K33eaBACCCrr4t4dkJoB2E56G+hy9072JkHsISMIKJevI7ynpc40Om+LMJ9c1ilcy652nW3NmsdpdKn9KOYIa8Qqan32phYIhnO5tb3ww7YVrhz2gv6FbZQPymSOx+iv6WXXiCI54pQ8/W4jefKTXLl0kQbSXv8YFrxWUV6D3FoIkADeDziCOaSKuwqAF1pIWjI8xC5Z0bW5LCE30IraaAZ9IC2mq/WrJDWY89BOo4FHL7jSdecg9lKu8KYYtWIA6Dg6HGrSzLXv0tu0Y1BZJ+58MCY5+yE1RhqhtRRbuY55D2kgTJbO5rWKlKak7Z/eAybNIb+Xb5lD65ZW0rq4NuuelaNOOhkg0p7ZisNDrbq3p5o0F0BuIHKsMMjbkTJUUpXRRv+UrsPnM25BHjmIe/RAwZl/7EIlsmleCHoa3eI8GyI1QJS3rDauIu6lzxmWQ4YlrHcs6ddW2xDG+gy9SKWiMOqrJ7Zqv7FSLE0AnTSgvPT35wfxwCBPYuP1To4oWCgYnKA6o7j7rVdDufnzybjYMXfbyq8+GH57TkieqdID+TcMXpkqTWFnH2C5QAeuaW3R0trqfvq05aIQxvJPKrc6it7SguoVfZeCOyg+u8hI2gjeD4r4jFYer+vB6vnHbsU0YRQOj2rJ0d8x27P6mBCNSc3rZ1P9RHx1PmoaXLEYY1Hc69jPSBY1dLzTirN7k8uqkrbduzFDO9pVZ6DBIPyQyI8Bj8lf/2uHoS1PLFcojZswwzyXWhG31TkhnSXiSBQkD1vw7RYfumtVuRl88H/gXywY5MKK4jj+ljWnZpAPnqNa7eyag051+9BHHMhG/kGAo0I5DQOrd7uXu1qxCySBwKnHoEccXANC4BOjVPLqe8NAUAg4ETAQxyt27CpT8PIhPUeH6wJR1vhnVWOZIFAIDAVAQ9xTNU4dOAY+nVwi7Al2tTUusb7gUAgMAiBHHHo7aypNg4aWu3ODLZ74YXnjawdxtFBjR7ZBAJTEcgRh714xus6zgCw1Cy0Y4w9D0By8m71Lk0c2K6DI1Q8gUAgcHKCDZM/EogccdggJZ6DTCn3YA72lNZC55sRNpQ5GvZHkulr5sg48gwENojAU8ZpyXPUhl0rBT1hHA573J7kUCKOqTaUudrgPZIxXJnjCQQCgZOTXwoI365pHPydJxN55R0IAAeOkAk863AlH6IxIYYlzhPwkBHf9xDHVBtKNGogEAgsjEDtdCyLA43idSLYRuWt4RjwvxH5hgiigKXCAwZxLNygh8/BRgVX5wjZWMcfWJVO3tZzOIUpvMTRCw2NrKWlSmgcveim38Mu1g9ERh46G1vCdeWGSGE4b4PrMINonW0zN3Fs2TjqhHBVyUAaCLwUM2hbs0CjxlI7Ams7cZubOFAMuq/bb3E7divhBUGCiP3wKhF9g9dn5N+106EILIMgOteI6DgXwAfG4R+K8O5SLgv1aUscNEQgHtyelot5gWUhospf7mx7JMO3PiHiiRjekO2sSdEOCF+ZOtmK8A+aOIE7ggvZtMDcei7zlGvuoutZKzU4cwYyms3BcgniKDmAwQmsFjx3MKZd2dlbu2wm3i1lG/Ald2WgTue5qrA1VCMJg0bv2TpYF9q+l+yuXylmDG1tIOD3iqSIHpg/LDJHmABfjcalYn1nu2VgCeKgT8jv1GxI28cWtA1Gy0YjfEnkMZHni5wRoaEYTe6J82GJIzVgdRAb712k0N5wX0httsRgw8DBo2fhLRIH6qDDP5QieIEQcMF0LdA23Qp0RPRxw3mZnKwPljcQc1PpliAOFAiqE3w80CC4rOl5IjpGZFOhF04MrSgXr1N72JYiTbHIOrBOKqIUSeOiA14eW0WLtoF2YFAZHf1qq8RhvYlTHs68ptIzSXHQla7/6Ol+IOw7ReC2wIu+e/LxvGODN3m14VTevHztHEP7UsThqfAa03iMZjp2Sc01X8+QVrVm6H0Q1RkR6xOTwwcDw8bc9GC5B+JAPUt3pHCJ6dEGiRnvn7nQA6IzDQmu9wIo52fOJuP1mFyG4v96tQ70LRy7OMduFsRRbhLP1qa2f9Rmbt3JtSeuXpN+UGkFtQ7DpU/PrLIX4tBanx6Y+uIk3oFSwxO/871aW3ryYpqliEPfDQxbDZfSniMjtj6c5JKkG8TR0vzptNrwVooEb4150E5gL0GEcDQw7zZt8SUoXSJdq9leiCN11SPqjtmSUdhbMPVclVnD1v6+FHHA1sW7gXuvbNC3NqIeSQIN4mjtAuemp8ZRc2TTMyPSwm8A96DiyVn6a6Xj4PeeMNb57YU4SBIYnHiALWxEqYuTanjyd7gQjIzsvwRx8BtaQ6hdSmXx0OE07G9POasWxOHtSvl0jMhdOgRoOzcMqSO2Qmn462nHPRGHvicWWGPJcqVI7z0vII6Rhy+XIA7aZrR7Q6vxnr2cV6NkybOnw00favvJgY42NW0DNdb31GgEeuwTfJ8zRE877ok4gEfJSNra44ArDM6jDKRzE0fubmC7NevZWdJL6uxk2NPhWhthz+nB8jjjUPMP0NuGmA1vFtExWHut3kEcT/Yu7yVMnv44BddU/nMTB5bL8MtJ2di08d4zwWktJbtLGMTh6UbpNOgMsFGABGoHyvTsThVYd/Te9fSUDj5C49B59CLZslWa+0bq4qkpuyI9uOqbAXqx6PH0rN0NbO/RrWkdrHuRZII4+pq41lg2V30zGbfGrPNST0fv6eAs216IgziCfHXYh14yBj5oLzzeeLhIeyzigIYA8i1pvdp/qEZOrEdxCR3E0U4c9O7EwTTP7e+p7UI6d3lcpksl5Ps97TiCONrRG/sGneawg4KTrVeJ3Kc+0YMLSWArxlHYdn4rUvJIta4AuUlKT2bFnbpeYMc2/3ZyayUN1Exb/O3N6a1qpEXqNG/H6tvsrxZg6Eqfc7Jr6WWYdacYre235rJxcIlWW36gPHppnNM6aA+pXvsaxOHvTl7SQDrtcFRTE/XM7znvokvMDlnbCk7VcusaBwbCixMqesqe5G/lk5MpmOa+MxdxtCyp7JZ1yiDPJXVV2wri8HcpEMAzKioh1puIxYoYEHxqTjh2y6zVWFg6hFeq3ZaJIxeqAfW1Wlyr7Yi7CrVzR/6e8yQZjTyrQjLyaBupvmg1Kr2kph0OfQRaCLW5/9c5iMPX/Nx2hYcn3MRTz+vlPzHz6y0xbyfWg7iqJpqP9x7K2ipxkDRKSwltjG5dckCTwdMSEKnWi+bQOOj8h90PnLr1PPBNyR1+0xoJyBaByBFnOBmqIYijDrdeatRS27Wj3a7MzWJ2h6VlR4Dvtrqd6zVvy6xVw2DO37VPQkkjsIGXvH4yJPqepV+p3qOJw05IvZjrw2+6r6L/XSqSDaUYxFGGvBb5y77NAYiOcr2IDv+HtJgdcDcFlzJIB00FV0zomSCVtlRSbyAfhtJDCEP7PXSWtcYrBU73mDJbLIEPjIW4gS8VVhCaB/xuSuEKMHiATcs2rGfQjiaOlsmsVD69dNIaB7ACFucsUZhZEIen2defBoSAQV/zYF1/TY5XwjkxZCAf1G7kEuhoaAVxHA364R/2BB0a/tEdZQitDb452rC9o+qNrUoQx1g8j50b1Et4T9Zijx67nGv7fuDW2CJBHI2AbSA5NI+sNXwD5V+6iIFXB+JBHB2gbeAVGOMeEmmJfLWBas1SRGhnMDbG04BAEEcDWJE0EAgE/odAEEf0hEAgEGhGIIijGbJ4IRAIBII4og8EAoFAMwJBHM2QxQuBQCDwBBqkyHR7zIhNAAAAAElFTkSuQmCC\" alt=\"C0 = (dt - 2KX)/(2K(1-X)+dt)\" style=\"width: 135px; height: 35px;\" width=\"135\" height=\"35\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 35.2px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 17.6px; text-align: left; transform-origin: 384px 17.6px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"C1 = (dt + 2KX)/(2K(1-X)+dt)\" style=\"width: 135px; height: 35px;\" width=\"135\" height=\"35\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 35.6px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 17.8px; text-align: left; transform-origin: 384px 17.8px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"C2 = (2K(1-X)-dt)/(2K(1-X)+dt)\" style=\"width: 135px; height: 35.5px;\" width=\"135\" height=\"35.5\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 66px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 33px; text-align: left; transform-origin: 384px 33px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 35.3917px 8px; transform-origin: 35.3917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eNotice that \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"C0+C1+C2 = 1\" style=\"width: 108px; height: 20px;\" width=\"108\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 289.742px 8px; transform-origin: 289.742px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. With the assumption that the first value of the outflow equals the first value of the inflow, this equation for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAoCAYAAACSN4jeAAACeklEQVRYR+1XPSiFURi+d1f+JhYDg0EW+VmslMiGTEr5mUwUgwyiGCSDn2RUlMHIakKKUgwMFiai7DxPnaP3nnu+73vPjXvFvfX0Hd93znmf87x/Rzr1S3/pX8orVSQW6pmiYv9esQ4oMAw0AvVCjVuMV4GNUIXc+aEx1owN1oBW4BRYAfbMpiRLUiT6BLQD97kSDCG2BCOTxtAMnoseoxV4dw1UGXINeL7kQk5LjKr0JZCy9qcxWDB/LOM59VPEJKktGBlNMESXHpk5dGn1TxAbw6brwojGNZIYl1bm4s44VzJeHoASQ2wATxvocSK4xLTrMvaMIyZdyAzsUp5cqkxj30qsFhveiSNEZaFPuU28HBEfWjA+D42zKMXczeuwsbYm3WCuLbrvGNcolVa5Um5ON7YpT8y4fBZzQ9aqiH2IWZoSYafLGsZ3ISGQSIxt50zMCgneR6xj1eePNcwtL+wePcLV+xiP+1zti7Fc091dR4OymTPLy4AdoByYMAS9cegj5saJVjEZl64StvnLkiP7apbLo7JSusQ9uS8PZIPn1acbkFnM7xeAW6Bt9mfFcRQxaYin7/exMe9kQfWRilmasnbUikmZuXFUvyPhbYBti6emIW294762u2QV4biWxLg4BOzdagjjY3N8fpsHGPDuhTFOIfcbQ+bE55Gk+xiV4zWnF+Ct1f5I5go4EGRDCHEuQ2AW8N50k4iFGtPOt6EivZCxtlDEWFrmgMhrVCGIkcwl4Puf4Uu1fBMjqVcTt9J1TKImSTafxFhMB4Fd4E2wKsWY/TMjCfJFzL3VuknCMtQpX+aLmDZbCxZjaoJFxdRSmYlFxf6MYp8ieIIpmC0ETQAAAABJRU5ErkJggg==\" alt=\"O2\" style=\"width: 19px; height: 20px;\" width=\"19\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 207.717px 8px; transform-origin: 207.717px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e can be used to compute the outflow hydrograph. The guideline for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAkCAYAAAAOwvOmAAACMElEQVRYR+1Vuy4FURS9tyeCSqWgIFFoPBLRkmglXh/gUSgUJHwACZUoPKIWfICEQilePQUFBRWJ0LNWcnayZ+acmT1zm5uYSVbu3DN777PO2o9TrdThU61DTpWSlDUrpVL/Uqk3nHoH2LCePo9dkZoawQbnwA/QmGczq20RUtcIPuA2mMLviXUzq11eUh0I/KSCP+K927qZx24Sa/fAs/6WlxRVGXMBGmpUqw/+t8AocFGUVAscP4AD4AtYdoFu8DuYUy0SugS+gR7gsyipTTguAL0ugE5jP9bujMQYRw5EhahU5LGmjyq9AFcqCFM54aJ5g8f2Yv0cApJ2/Zm1OSSKWUnNw2ELGAck/1ITErwTL5GCDSi3ivV1983rYyXFYck6ineaHg+stTlDCjnjOOsi6mg/CynKfgz4ZpJ8k5itkoIUcixupvAUoH/isZCiGk0elSQYVWxzf7LUktuA5sHBm0VK6mYNQUL3HOtt15HKunp05wVVzSLFDhsGErMkprmkhMtpB5AaTJ1taaTkSslKCYloBUJqyfClPTt5JVR3aaT24TQDcFhmtbreMFQvuikSV4smGCIlw/IIxpY2Z0w9TH0XNQ85C1DJdqDZxU4oFiIlA+4djq8hmWPr7NAutRbvrgf3ncN3GjgDFoHE9RQipdvcyClhFi/mX2dBFflsA3u+4D5SusWLEhI/fVGLUlR/yaXbGz9rJNRKqpB/ScoqW6lUqZRVAatdWVNWpf4AMMxqJZfZ0UIAAAAASUVORK5CYII=\" alt=\"dt\" style=\"width: 18.5px; height: 18px;\" width=\"18.5\" height=\"18\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 111.892px 8px; transform-origin: 111.892px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e above ensures that the coefficients \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAACVklEQVRYR+1XyysFURx290pYWVEsKErJo5SyYS3lUdYeC1kR/wBF1h4r2YiFskTZkUcKJTYWSnaU2PN9Nb86c8yZc87MvbcrM/V1Z+6cx3e+33NyZSV25UqMT1lGyGaRTKF/oVAVTjkEDAAtQI1y6i/cnwG3QAXQA3QD7zZl5L2PD5HIPDAFlAMXwBZwDDwFC07idyV4z7+OgH5XMhznSqgdY7eBRoAqLAJLho049iQgtYnfiXwTUjcgmcHg5HH7bODlODAC7OaTUD0Wu1FM4LpBH+YcAg2KOZ142Uz2EJiJi/nKT0KjgLND23xoGQNmg2PRVK2+p3WSRBsUp9CnYqo93A8n2cB3jokQw3dNWYyhyxAu+GUixMhg8uNFc9X6+kJS5iZCr1hQMvAj7puSbuA7z0ToW1mIGbnLd+Gk410I+YZ7FBeWHdUn6QLTwJU+2IVQWoVI5hlg0ZW8tIB7lp8OnZSJ0DkGdgbs0/qQBIgeqUwrL7p/mgjJCURR1xJANXYUJfj8FixSrUWqHDpE1ERIZGabwYstxZzFUTnnFGBXIJ2A1LQolaUShHw0LlOzyl8qJNgHrRtISR+ktyWyaRyhkI/aiitJHQBqTqIC10Al0AaMAR/ADKBncxdCIbI2QiIIFegFGK6qs9/heR9g1xhV1QtGyOI+xtcSHHEmS6RQUkJ5deqkJPR5UoZ095CwD3Whrj6UhlxcYmRybFb9rxiEJKfdY2Mp0uJbv3r0YhCiuvxYYI5ilPIjsg5YjUgTzt9laUzmNbdYCjmTygjZpMoU+nMK/QB7534p343IYgAAAABJRU5ErkJggg==\" alt=\"C0\" style=\"width: 18px; height: 20px;\" width=\"18\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAACBElEQVRYR+2WPSjGQRzHn2dXYjMZGBiUkiilLMxSXsooL5MMxGaiGIxeJlnEoIwoG3lJYWExWIxK7Hy/dVeXnvv/7nf/v3rKXX16/tzb975397tfuVRlpVxlekpJkLQjyaF/4VA9VjkMBkEbaHBW/YXvS/AAakEv6AHvkjO2XnOGKGQRzIAacA12wRl4MQNO43fd1PNfp2AgVAzbhQrqRNs90ALowgpY9UzEtudG1A5+p4oW5E5AMUNm5VnzbKNyEoyCgyIFNWGwe2cLQifoR58T0OxsZ5AuacuezDZxMK39FDQGgg+0dIbW0GDeLItb1a5dbZAlvxplOfTpbNUhvkdiJtD28Qni9d10BuPV5RX+8+ITxJvB4MfC7WrUnoVY5T5BbxjQRuBnfLfGTqDt5xP07QzEiNytHTi2fYgg7XXP0sKLsQHmQMWAGSKoCIcYKBnhGb1ZvAHWJ+gKnbpM5yLOEJ+fW2DHVQtaQmc+oLaEPgHMCPaBL0JHC+LAr4BpBgtTigXhoLLPBWBW4MsEogVxbtp844hgHrTlEWXzoKy0hF1zCbKijvHhxiQ6cAfqQAcYBx9gFkjRPLcgawgd6AOM2O5hf8TfR4BZY8irXpgg4fgEVydBklXJIckhmxKrI7U0sLaeMW0C2LeMz9FypdspJfnaiXO3T4IkC5NDySHJAan+BzypZynpHrrjAAAAAElFTkSuQmCC\" alt=\"C1\" style=\"width: 18px; height: 20px;\" width=\"18\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.5px 8px; transform-origin: 17.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAACaElEQVRYR+2XyytFURTG750rMTMyYEAhJVGiTCgzKY8ykIHHQDIg/AEUIyOPkUw8BsoQZUYeKUwYMDBhRmLO99XZt9U5Z9+997n3nm45u37d0zn78e219lp73XSqyFq6yPSkEkEmjyQW+hcWKscu+0EvqAcVYtc/eL4A96AUdIA28GGyjPrucoYoZB5MghJwBbbBKXjxJpzA76r3na9OQLetGPazFdSMvjugBtAKS2BZsxD7nnmitvA7nm9BcgGK6fN2nm2dTXwcA4NgP5+CqjDZnXCB7QJdGHMMqoU7rXSZXPbouYmTuZqfgoaA9YE2naEVdJj1tkVXNbru1sokvk7ZLPQtXHWA54EoC7iO0Qli+K6LyRi6DOGCN50gRgaTHxvdVel6FqIq1wl6w4QqAz/huTbqAq7jdIJ+xUTMyK2uE0ftbyPINdzDtDAgZkCL95GbnAI3/s42gnK1EANkGqyBTzAKmDjZAsGiE3QpdpPrGeJ5bAfqAqYQJk2KCly+OkEL6MwLVDXbK4AVwS5QGZqL8u7zX7B04R4IbFYniBO/ApYZbCwp5oTAsEeOOQesCnSVgBqn7jprC3Egb/lrsTLroA2NKFUHZStL5FCVeBf94k2XK0UdAZmTaIFbUAaawDD4Ajy4ttmcibcBBKpJkyC1K+6oEzBjq9Cl/x/AIWDVaHurs6R5BqHXka0gjacivWYE0+qh5yxuQawk2bRlbZyClNsZHFr3xiWIYkZAj08MUwXLnEytFYcglQRZ5DG3ycYI5R2X+SNQaEHyH0tYBLzjZZ20WqEFOYdhIshkssRCiYVMFjB9/wNeiG0p2l1pygAAAABJRU5ErkJggg==\" alt=\"C2\" style=\"width: 18px; height: 20px;\" width=\"18\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 39.675px 8px; transform-origin: 39.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are positive.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [t2,O,dtOK] = Muskingum(t,I,K,X,dt)\r\n  y = x;\r\nend","test_suite":"%%  Chin example 5.38\r\nK = 40;         %  Time parameter (min)\r\nX = 0.2;        %  Weighting parameter \r\ndt = 30;        %  Time step (min)\r\nt = 0:30:600;   %  Time (min)\r\nI = [10 10 25 45 31.3 27.5 25 23.8 21.3 19.4 17.5 16.3 13.5 12.1 10 10 10 10 10 10 10];   %  Inflow (m3/s)\r\nt_correct = 0:dt:600;   %  Correct time (min)\r\nO_correct = [10 10.000 12.234 23.361 35.133 32.120 28.799 26.195 24.294 22.100 20.094 18.259 16.592 14.410 12.623 10.949 10.343 10.124 10.045 10.016 10.006];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n\r\n%%  Chin example 5.39\r\nK = 0.604;      %  Time parameter (h)\r\nX = 0.102;      %  Weighting parameter \r\ndt = 0.5;       %  Time step (h)\r\nt = 0:0.5:8;    %  Time (h)\r\nI = [42.4 46.3 51.8 56.2 57.6 65.1 80.3 90.6 103.2 81.5 78.3 65.8 59.6 56.3 50.8 53.1 50.7];   %  Inflow (m3/s)\r\nt_correct = 0:dt:8;   %  Correct time (min)\r\nO_correct = [42.400 43.327 46.510 50.893 54.574 58.266 66.191 77.540 88.774 92.714 84.880 77.757 68.741 62.190 57.167 53.698 52.750];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c5e-3))\r\n\r\n%%  Gupta example 12.7\r\nK = 3.07;       %  Time parameter (h)\r\nX = 0.39;       %  Weighting parameter \r\ndt = 12;        %  Time step (h)\r\nt = 12:12:120;  %  Time (h)\r\nI = [100 300 680 500 400 310 230 180 100 50];   %  Inflow (cfs)\r\nt_correct = 12:dt:120;   %  Correct time (h)\r\nO_correct = [100 222 573 626 373 359 235 197 123 58];  %  Outflow (cfs)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(~dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c0.6))\r\n\r\n%%  Homework problem 44a\r\nK = 35;         %  Time parameter (min)\r\nX = 0.3;        %  Weighting parameter \r\ndt = 30;        %  Time step (min)\r\nt = 0:30:540;   %  Time (min)\r\nI = [5 17.5 27.1 20.4 18.6 17.4 16.7 15.8 14.9 13.4 13.1 12.5 9.2 5 5 5 5 5 5];   %  Inflow (m3/s)\r\nt_correct = 0:dt:540;   %  Correct time (min)\r\nO_correct = [5.000 6.424 15.930 23.650 20.977 19.035 17.713 16.841 15.948 14.981 13.746 13.187 12.289 9.465 6.074 5.258 5.062 5.015 5.004];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n\r\n%%  Homework problem 44b1\r\nK = 35;         %  Time parameter (min)\r\nX = 0.3;        %  Weighting parameter \r\ndt = 35;        %  Time step (min)\r\nt = 0:30:540;   %  Time (min)\r\nI = [5 17.5 27.1 20.4 18.6 17.4 16.7 15.8 14.9 13.4 13.1 12.5 9.2 5 5 5 5 5 5];   %  Inflow (m3/s)\r\nt_correct = 0:dt:540;   %  Correct time (min)\r\nO_correct = [5 7.350 18.103 22.845 19.774 17.965 16.839 15.781 14.614 13.436 12.489 9.898 6.283 5.214 5.036 5.006];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n\r\n%%  Homework problem 44b2\r\nK = 35;         %  Time parameter (min)\r\nX = 0.3;        %  Weighting parameter \r\ndt = 10;        %  Time step (min)\r\nt = 0:30:540;   %  Time (min)\r\nI = [5 17.5 27.1 20.4 18.6 17.4 16.7 15.8 14.9 13.4 13.1 12.5 9.2 5 5 5 5 5 5];   %  Inflow (m3/s)\r\nt_correct = 0:dt:540;   %  Correct time (min)\r\nO_correct = [5.000 4.223 5.122 7.129 10.048\t13.062 16.139 20.271 22.245 22.793 22.094 21.428 20.785 20.119 19.543 19.027 18.519 18.104 17.751 17.450 17.150 16.850 16.550 16.250 15.950 15.687 15.344 14.948 14.442 14.073 13.796 13.597 13.398 13.199 13.167 12.773 12.140 11.404 10.444 9.334 7.865 6.894 6.252 5.827 5.547 5.362 5.239 5.158 5.104 5.069 5.046 5.030 5.020 5.013 5.009];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(~dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n\r\n%%  Homework problem 44c\r\nK = 35;         %  Time parameter (min)\r\nX = 0.6;        %  Weighting parameter \r\ndt = 45;        %  Time step (min)\r\nt = 0:30:540;   %  Time (min)\r\nI = [5 17.5 27.1 20.4 18.6 17.4 16.7 15.8 14.9 13.4 13.1 12.5 9.2 5 5 5 5 5 5];   %  Inflow (m3/s)\r\nt_correct = 0:dt:540;   %  Correct time (min)\r\nO_correct = [5 5.711 26.085 18.977 17.719 16.407 15.024 12.997 12.606 8.234 4.247 5.175 4.959];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(~dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2023-04-02T23:02:55.000Z","deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-04-02T16:23:33.000Z","updated_at":"2024-11-11T12:36:59.000Z","published_at":"2023-04-02T16:31:14.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eProblem statement \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\u003eWrite a function that routes a hydrograph through a river section using the Muskingum method. The input to the function will be the inflow hydrograph \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"I(t)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eI(t)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the times \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"t\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at which the hydrograph is reported, the routing parameters \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"K\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eK\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"X\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eX\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and the desired time step \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"dt\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\Delta t\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. If the desired time step differs from the time step in the given inflow hydrograph, use linear interpolation to get the inflow hydrograph onto the new time base. Return the time base of the outflow hydrograph, the outflow hydrograph \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O(t)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO(t)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and a Boolean flag that says whether the time step is within the guidelines \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"2KX \u0026lt;= dt \u0026lt; 2K(1-X)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e2KX \\\\le \\\\Delta t \\\\le 2K(1-X)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBonus points to anyone who can solve this problem using the FILTER command. \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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eBackground\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\u003eHydrologic routing is used to predict the movement of a flood wave in a river. The Muskingum method is an example of hydrologic routing, in which the inflow \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"I\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eI\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and outflow \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e are connected to the storage \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"S\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e in a channel section through a conservation of mass (or volume), which states that the rate of change of storage is the difference between the inflow and outflow:\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"dS/dt = I - O\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\frac{dS}{dt} = I-O\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003eThis equation is written in discretized form as \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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"(S2-S1)/dt = (I1+I2)/2-(O1+O2)/2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\frac{S_2 – S_1}{\\\\Delta t} = \\\\frac{I_1+I_2}{2} - \\\\frac{O_1+O_2}{2}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003ewhere subscripts 1 and 2 denote the previous and current time steps, respectively. In applications, the inflow hydrograph (or flow as a function of time) is known, and we assume that everything at the previous time step is known. That assumption leaves two unknowns, the current outflow \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO_2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and the current storage \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"S2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS_2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn the Muskingum method, the storage, inflow, and outflow are further related by \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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"S = K[XI + (1-X)O]\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS = K[XI+(1-X)O]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003ewhere \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"K\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eK\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is a time scale related to travel time in the river section and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"X\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eX\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is a weighting factor. Substituting this relation into the discretized form of conservation of mass and rearranging gives\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O2 = C0 I2 + C1 I1 + C2 O1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO_2 = C_0 I_2 + C_1 I_1 + C_2 O_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003ewhere\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C0 = (dt - 2KX)/(2K(1-X)+dt)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_0 = \\\\frac{\\\\Delta t – 2KX}{2K(1-X)+\\\\Delta t}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C1 = (dt + 2KX)/(2K(1-X)+dt)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_1 = \\\\frac{\\\\Delta t + 2KX}{2K(1-X)+\\\\Delta t}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C2 = (2K(1-X)-dt)/(2K(1-X)+dt)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_2 = \\\\frac{2K(1-X)-\\\\Delta t}{2K(1-X)+\\\\Delta t}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003eNotice that \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C0+C1+C2 = 1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_0+C_1+C_2 = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. With the assumption that the first value of the outflow equals the first value of the inflow, this equation for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO_2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e can be used to compute the outflow hydrograph. The guideline for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"dt\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\Delta t\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e above ensures that the coefficients \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e are positive.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":909,"title":"Image Processing 003: Interferometer Data Interpolation","description":"This Challenge is to correct a 2-D Interferometer data set for drop-outs.\r\n\r\nInterferometer data is notorious for drop-outs which result in values of zero.\r\n\r\nExamples of Pre and Post WFE drop-out correction:\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Inter_2D_Drop_250.jpg\u003e\u003e\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Inter_2D_Fix_250.jpg\u003e\u003e\r\n\r\n*surf layed flat*\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Inter_3D_Drop_250.jpg\u003e\u003e\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Inter_3D_Fix_250.jpg\u003e\u003e\r\n\r\n*3-D surf*\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Challenge_WF_500.jpg\u003e\u003e\r\n\r\n*Challenge WFE :Pre Drop-Out insertion*\r\n\r\n\r\n*Input:* \r\n\r\n2-D square array representing surface z-values(NaNs in WFE array)\r\n\r\nCorrupted data points(Drop-Outs) are represented by having the value 0.000\r\n\r\n*Output:*\r\n\r\nsame size 2-D square array as input with Drop-Outs corrected, approximately. \r\n\r\n*Hint:* \r\n\r\nTriScatteredInterp allows for interpolation onto a grid given a non-grid set of (x,y,z) points.  \r\n\r\n*Follow-Up:* Re-sampling to a grid, Convolving with an Optical Transfer Function and finally Calculating MTF","description_html":"\u003cp\u003eThis Challenge is to correct a 2-D Interferometer data set for drop-outs.\u003c/p\u003e\u003cp\u003eInterferometer data is notorious for drop-outs which result in values of zero.\u003c/p\u003e\u003cp\u003eExamples of Pre and Post WFE drop-out correction:\u003c/p\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Inter_2D_Drop_250.jpg\"\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Inter_2D_Fix_250.jpg\"\u003e\u003cp\u003e\u003cb\u003esurf layed flat\u003c/b\u003e\u003c/p\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Inter_3D_Drop_250.jpg\"\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Inter_3D_Fix_250.jpg\"\u003e\u003cp\u003e\u003cb\u003e3-D surf\u003c/b\u003e\u003c/p\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Challenge_WF_500.jpg\"\u003e\u003cp\u003e\u003cb\u003eChallenge WFE :Pre Drop-Out insertion\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e\u003c/p\u003e\u003cp\u003e2-D square array representing surface z-values(NaNs in WFE array)\u003c/p\u003e\u003cp\u003eCorrupted data points(Drop-Outs) are represented by having the value 0.000\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e\u003c/p\u003e\u003cp\u003esame size 2-D square array as input with Drop-Outs corrected, approximately.\u003c/p\u003e\u003cp\u003e\u003cb\u003eHint:\u003c/b\u003e\u003c/p\u003e\u003cp\u003eTriScatteredInterp allows for interpolation onto a grid given a non-grid set of (x,y,z) points.\u003c/p\u003e\u003cp\u003e\u003cb\u003eFollow-Up:\u003c/b\u003e Re-sampling to a grid, Convolving with an Optical Transfer Function and finally Calculating MTF\u003c/p\u003e","function_template":"function out = Fix_interferometer(z)\r\n% z is square with a linear square grid\r\n% w=size(z,1) % for square data set\r\n% [xmesh ymesh]=meshgrid(1:w);\r\n% xyz(:,1),xyz(:,2) are subsets of xmesh,ymesh\r\n% size of xyz is [z_nonzero_values,3], [xmesh_subset ymesh_subset z~=0] \r\n% FZ=TriScatteredInterp(xyz(:,1),xyz(:,2),xyz(:,3),'mode');%linear natural\r\n% out=FZ(xmesh,ymesh);\r\n\r\n  out = z;\r\nend","test_suite":"w=100;\r\n[xm ym]=meshgrid(1:w);\r\n% simple ellipsoid\r\nz(xm(:)+(ym(:)-1)*w)=sqrt(1-(xm(:)/142).^2-(ym(:)/142).^2);\r\nz=reshape(z,w,w);\r\nz_orig=z; % used for performance check\r\n%figure(42);surf(z,'LineStyle','none')\r\n\r\n% or ellipsoid by for loops\r\n%for i=1:w\r\n% for j=1:w\r\n%  z(i,j)=sqrt(1-(i/142)^2-(j/142)^2);\r\n% end\r\n%end\r\n\r\nz(50,50)=0;\r\n%figure(43);surf(z,'LineStyle','none')\r\n\r\ntic\r\nout = Fix_interferometer(z);\r\ntoc\r\ndelta=abs(out-z_orig);\r\n\r\nfprintf('Max delta=%e\\n',max(delta(:)))\r\n\r\nassert(max(delta(:))\u003c1e-4,sprintf('Max delta=%f\\n',max(delta(:))))\r\n%%\r\n% Load a real Interferometry Profile\r\n%   Previously TriScatteredInterp corrected\r\n% Randomly induce Drop-Outs\r\n\r\ntic\r\nurlwrite('http://tinyurl.com/matlab-interferometer','Inter_zN.mat')\r\nload Inter_zN.mat\r\ntoc\r\n\r\nzN_orig=zN;\r\n%figure(44);surf(zN_orig,'LineStyle','none')\r\n\r\nzN_idx=find(~isnan(zN));\r\n\r\nfor i=1:20\r\n zN(zN_idx(randi(size(zN_idx,1))))=0;\r\nend\r\n%figure(45);surf(zN,'LineStyle','none')\r\n\r\ntic\r\nout = Fix_interferometer(zN);\r\ntoc\r\ndelta=abs(out-zN_orig);\r\n\r\nfprintf('Max delta=%e\\n',max(delta(:)))\r\n\r\n% Threshold based on a handful of test cases\r\nassert(max(delta(:))\u003c5e-7,sprintf('Max delta=%f\\n',max(delta(:))))\r\n\r\n\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":4,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":0,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-08-13T02:35:40.000Z","updated_at":"2026-03-29T19:25:41.000Z","published_at":"2012-10-13T21:05:14.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\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.JPEG\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/media/image2.JPEG\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId3\",\"target\":\"/media/image3.JPEG\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId4\",\"target\":\"/media/image4.JPEG\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId5\",\"target\":\"/media/image5.JPEG\"}],\"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 Challenge is to correct a 2-D Interferometer data set for drop-outs.\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\u003eInterferometer data is notorious for drop-outs which result in values of zero.\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\u003eExamples of Pre and Post WFE drop-out correction:\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\u003esurf layed flat\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId3\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId4\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\u003e3-D surf\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId5\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\u003eChallenge WFE :Pre Drop-Out insertion\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\u003eInput:\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\u003e2-D square array representing surface z-values(NaNs in WFE array)\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\u003eCorrupted data points(Drop-Outs) are represented by having the value 0.000\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\u003eOutput:\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\u003esame size 2-D square array as input with Drop-Outs corrected, approximately.\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\u003eHint:\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\u003eTriScatteredInterp allows for interpolation onto a grid given a non-grid set of (x,y,z) points.\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\u003eFollow-Up:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Re-sampling to a grid, Convolving with an Optical Transfer Function and finally Calculating MTF\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\"},{\"partUri\":\"/media/image1.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,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\"},{\"partUri\":\"/media/image2.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,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\"},{\"partUri\":\"/media/image3.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,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\"},{\"partUri\":\"/media/image4.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,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\"},{\"partUri\":\"/media/image5.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAGqAfADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA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\"}]}"},{"id":970,"title":"Piecewise linear interpolation","description":"Given an Mx2 vector and a row of M-1 integers, output a two column vector that linearly interpolates Y times between each successive pair of values in X.  Any consecutive duplicate points are to be removed.\r\n\r\nFor example\r\n\r\n  x = [1 1 ; 3 0 ; 1 1]\r\n  y = [5 3]\r\n\r\nYour output will be a two column vector that interpolates 5 times between [1 1] and [3 0] (including the boundaries in those five points), and then 3 times between [3 0] and [1 1].  The output should be:\r\n\r\n   1   1\r\n   1.5 0.75\r\n   2   0.5\r\n   2.5 0.25\r\n   3   0\r\n   2   0.5\r\n   1   1\r\n\r\nThere are Y(1)=5 points between the first two coordinate pairs of X [(1,1) and (3,0)], and Y(2)=3 points between the second and third coordinate pairs of X [(3,0) and (2 0.5)].  Notice that there is only one output point for (3,0).\r\n\r\nYou can assume that there will be no complex numbers, Inf, or NaN in x, and Y\u003e=3 for all values of Y.  Good luck!","description_html":"\u003cp\u003eGiven an Mx2 vector and a row of M-1 integers, output a two column vector that linearly interpolates Y times between each successive pair of values in X.  Any consecutive duplicate points are to be removed.\u003c/p\u003e\u003cp\u003eFor example\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ex = [1 1 ; 3 0 ; 1 1]\r\ny = [5 3]\r\n\u003c/pre\u003e\u003cp\u003eYour output will be a two column vector that interpolates 5 times between [1 1] and [3 0] (including the boundaries in those five points), and then 3 times between [3 0] and [1 1].  The output should be:\u003c/p\u003e\u003cpre\u003e   1   1\r\n   1.5 0.75\r\n   2   0.5\r\n   2.5 0.25\r\n   3   0\r\n   2   0.5\r\n   1   1\u003c/pre\u003e\u003cp\u003eThere are Y(1)=5 points between the first two coordinate pairs of X [(1,1) and (3,0)], and Y(2)=3 points between the second and third coordinate pairs of X [(3,0) and (2 0.5)].  Notice that there is only one output point for (3,0).\u003c/p\u003e\u003cp\u003eYou can assume that there will be no complex numbers, Inf, or NaN in x, and Y\u0026gt;=3 for all values of Y.  Good luck!\u003c/p\u003e","function_template":"function out=tracers(x,y)\r\n\r\n% x is an Mx2 vector, and y is a row of M-1 numbers.\r\n% Tracers linearly interpolates y(1) points between x(1,:) and x(2,:),\r\n% followed by y(2) points between x(2,:) and x(3,:), and so on...\r\n% The resultant output is a two column vector with consecutive\r\n% duplicate points are removed.\r\n\r\nout=3\r\n\r\nend","test_suite":"%%\r\nx=[1 1 ; 3 0 ; 1 1];\r\ny=[5 3];\r\ny_correct=[1 1 ; 1.5 0.75 ; 2 0.5 ; 2.5 0.25 ; 3 0 ; 2 0.5 ; 1 1];\r\nassert(all(all(abs(tracers(x,y)-y_correct)\u003c1e-9)))\r\n%%\r\nx=[1 1 ; 2 3 ; 4 2 ; 5 -2];\r\ny=[6 5 3];\r\ny_correct=[1 1 ; 1.2 1.4 ; 1.4 1.8 ; 1.6 2.2 ; 1.8 2.6 ; 2 3 ; 2.5 2.75 ; 3 2.5 ; 3.5 2.25 ; 4 2 ; 4.5 0 ; 5 -2];\r\nassert(all(all(abs(tracers(x,y)-y_correct)\u003c1e-9)))\r\n%%\r\na=ceil(100*rand)+10;\r\nx=[0 0 ; a a];\r\ny=a+1;\r\ny_correct=[0:a ; 0:a]';\r\nassert(all(all(abs(tracers(x,y)-y_correct)\u003c1e-9)))","published":true,"deleted":false,"likes_count":9,"comments_count":3,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":616,"test_suite_updated_at":"2018-04-10T19:49:22.000Z","rescore_all_solutions":true,"group_id":12,"created_at":"2012-10-03T16:25:33.000Z","updated_at":"2026-04-01T14:23:33.000Z","published_at":"2012-10-03T16:31:44.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 Mx2 vector and a row of M-1 integers, output a two column vector that linearly interpolates Y times between each successive pair of values in X. Any consecutive duplicate points are to be removed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x = [1 1 ; 3 0 ; 1 1]\\ny = [5 3]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour output will be a two column vector that interpolates 5 times between [1 1] and [3 0] (including the boundaries in those five points), and then 3 times between [3 0] and [1 1]. The output should be:\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[   1   1\\n   1.5 0.75\\n   2   0.5\\n   2.5 0.25\\n   3   0\\n   2   0.5\\n   1   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\u003eThere are Y(1)=5 points between the first two coordinate pairs of X [(1,1) and (3,0)], and Y(2)=3 points between the second and third coordinate pairs of X [(3,0) and (2 0.5)]. Notice that there is only one output point for (3,0).\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 can assume that there will be no complex numbers, Inf, or NaN in x, and Y\u0026gt;=3 for all values of Y. Good luck!\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":652,"title":"Put two time series onto the same time basis","description":"Use interpolation to align two time series onto the same time vector.\r\n\r\nThis is a problem that comes up in \u003chttp://www.mathworks.com/matlabcentral/trendy/plots Trendy\u003e whenever you want to do mathematical operations on two trends (see for example the \u003chttp://www.mathworks.com/matlabcentral/trendy/plots/763 Ramen-to-Sushi Index\u003e).\r\n\r\nGiven two time series defined by the vector pairs (t1,d1) and (t2,d2), come up with a single new time vector tn such that (tn,d1n) and (tn,d2n) form consistent vector pairs.\r\n\r\nSpecifically, the new time vector should extend only to portions covered by both series (i.e. no extrapolation). Within this common interval, tn should contain all the time points from both time vectors. With this new time basis, use linear interpolation to generate two new data series.\r\n\r\nExample 1:\r\n\r\n t1 = [1 3 5]\r\n d1 = [2 4 2]\r\n t2 = [2 4]\r\n d2 = [1 5]\r\n\r\n tn =  [2 3 4]\r\n d1n = [3 4 3]\r\n d2n = [1 3 5]\r\n\r\nExample 2:\r\n\r\n t1 = [1 2 3 4 5]\r\n d1 = [2 3 5 6 3]\r\n t2 = [2 3.5 4 4.5 5 6]\r\n d2 = [3 9   8 2   0 1]\r\n \r\n tn  = [2 3 3.5 4 4.5 5]\r\n d1n = [3 5 5.5 6 4.5 3]\r\n d2n = [3 7 9   8 2   0]","description_html":"\u003cp\u003eUse interpolation to align two time series onto the same time vector.\u003c/p\u003e\u003cp\u003eThis is a problem that comes up in \u003ca href=\"http://www.mathworks.com/matlabcentral/trendy/plots\"\u003eTrendy\u003c/a\u003e whenever you want to do mathematical operations on two trends (see for example the \u003ca href=\"http://www.mathworks.com/matlabcentral/trendy/plots/763\"\u003eRamen-to-Sushi Index\u003c/a\u003e).\u003c/p\u003e\u003cp\u003eGiven two time series defined by the vector pairs (t1,d1) and (t2,d2), come up with a single new time vector tn such that (tn,d1n) and (tn,d2n) form consistent vector pairs.\u003c/p\u003e\u003cp\u003eSpecifically, the new time vector should extend only to portions covered by both series (i.e. no extrapolation). Within this common interval, tn should contain all the time points from both time vectors. With this new time basis, use linear interpolation to generate two new data series.\u003c/p\u003e\u003cp\u003eExample 1:\u003c/p\u003e\u003cpre\u003e t1 = [1 3 5]\r\n d1 = [2 4 2]\r\n t2 = [2 4]\r\n d2 = [1 5]\u003c/pre\u003e\u003cpre\u003e tn =  [2 3 4]\r\n d1n = [3 4 3]\r\n d2n = [1 3 5]\u003c/pre\u003e\u003cp\u003eExample 2:\u003c/p\u003e\u003cpre\u003e t1 = [1 2 3 4 5]\r\n d1 = [2 3 5 6 3]\r\n t2 = [2 3.5 4 4.5 5 6]\r\n d2 = [3 9   8 2   0 1]\u003c/pre\u003e\u003cpre\u003e tn  = [2 3 3.5 4 4.5 5]\r\n d1n = [3 5 5.5 6 4.5 3]\r\n d2n = [3 7 9   8 2   0]\u003c/pre\u003e","function_template":"function [tn,d1n,d2n] = align_time_series(t1,d1,t2,d2)\r\n  tn = 0;\r\n  d1n = 0;\r\n  d2n = 0;\r\nend","test_suite":"%%\r\nt1 = [1 2 3 4 5];\r\nd1 = [2 3 5 6 3];\r\nt2 = [2 3.5 4 4.5 5 6];\r\nd2 = [3 9 8 2 0 1];\r\n[tn,d1n,d2n] = align_time_series(t1,d1,t2,d2);\r\ntnc  = [2 3 3.5 4 4.5 5];\r\nd1nc = [3 5 5.5 6 4.5 3];\r\nd2nc = [3 7 9 8 2 0];\r\n\r\nassert(isequal(tn,tnc))\r\nassert(isequal(d1n,d1nc))\r\nassert(isequal(d2n,d2nc))\r\n\r\n%%\r\n\r\nt1 = [1 3 5];\r\nd1 = [2 4 2];\r\nt2 = [2 4];\r\nd2 = [1 5];\r\n[tn,d1n,d2n] = align_time_series(t1,d1,t2,d2);\r\ntnc =  [2 3 4];\r\nd1nc = [3 4 3];\r\nd2nc = [1 3 5];\r\n\r\nassert(isequal(tn,tnc))\r\nassert(isequal(d1n,d1nc))\r\nassert(isequal(d2n,d2nc))\r\n\r\n%%\r\n\r\nt1 = 0:2:20;\r\nd1 = t1.^2 - 12;\r\nt2 = [2 3 5 7 11 13 17 19];\r\nd2 = 4*t2 - 6;\r\n[tn,d1n,d2n] = align_time_series(t1,d1,t2,d2);\r\ntnc =  [2 3 4 5 6 7 8 10 11 12 13 14 16 17 18 19];\r\nd1nc = [-8 -2 4 14 24 38 52 88 110 132 158 184 244 278 312 350];\r\nd2nc = [2 6 10 14 18 22 26 34 38 42 46 50 58 62 66 70];\r\n\r\nassert(isequal(tn,tnc))\r\nassert(isequal(d1n,d1nc))\r\nassert(isequal(d2n,d2nc))\r\n\r\n%%\r\n\r\nt1 = [1 3 5 6 7 8 9];\r\nd1 = [2 4 2 1 1 1 1];\r\nt2 = [2 4];\r\nd2 = [1 5];\r\n[tn,d1n,d2n] = align_time_series(t1,d1,t2,d2);\r\ntnc =  [2 3 4];\r\nd1nc = [3 4 3];\r\nd2nc = [1 3 5];\r\n\r\nassert(isequal(tn,tnc))\r\nassert(isequal(d1n,d1nc))\r\nassert(isequal(d2n,d2nc))\r\n","published":true,"deleted":false,"likes_count":6,"comments_count":4,"created_by":7,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":350,"test_suite_updated_at":"2012-05-04T14:23:48.000Z","rescore_all_solutions":false,"group_id":12,"created_at":"2012-05-03T14:53:17.000Z","updated_at":"2026-02-10T12:13:03.000Z","published_at":"2012-05-03T15:52:48.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\u003eUse interpolation to align two time series onto the same time vector.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis is a problem that comes up in\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/trendy/plots\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTrendy\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e whenever you want to do mathematical operations on two trends (see for example the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/trendy/plots/763\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eRamen-to-Sushi Index\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\u003eGiven two time series defined by the vector pairs (t1,d1) and (t2,d2), come up with a single new time vector tn such that (tn,d1n) and (tn,d2n) form consistent vector pairs.\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\u003eSpecifically, the new time vector should extend only to portions covered by both series (i.e. no extrapolation). Within this common interval, tn should contain all the time points from both time vectors. With this new time basis, use linear interpolation to generate two new data series.\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[ t1 = [1 3 5]\\n d1 = [2 4 2]\\n t2 = [2 4]\\n d2 = [1 5]\\n\\n tn =  [2 3 4]\\n d1n = [3 4 3]\\n d2n = [1 3 5]]]\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[ t1 = [1 2 3 4 5]\\n d1 = [2 3 5 6 3]\\n t2 = [2 3.5 4 4.5 5 6]\\n d2 = [3 9   8 2   0 1]\\n\\n tn  = [2 3 3.5 4 4.5 5]\\n d1n = [3 5 5.5 6 4.5 3]\\n d2n = [3 7 9   8 2   0]]]\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":43648,"title":"Arc length of points interpolation","description":"Given a n by m matrix representing m vectors in n dimensions. Calculate the \u003chttps://en.wikipedia.org/wiki/Arc_length arc length\u003e of the closed loop curve going though these points in the order that they are given. The parametric curve, |c(t)| , between points |p(k)| and |p(k+1)| is defined as,\r\n\r\n|c(t) = p(k-1) * (-t/2+t^2-t^3/2) + p(k) * (1-5/2*t^2+3/2*t^3) + p(k+1) * (t/2+2*t^2-3/2*t^3) + p(k+2) * (-t^2/2+t^3/2)|,\r\n\r\nwhere |t| goes from 0 to 1. These interpolation polynomials can also be found using the constraints |c(0)=p(k)|, |c(1)=p(k+1)|, |c'(0)=(p(k+1)-p(k-1))/2| and |c'(1)=(p(k+2)-p(k))/2|.\r\n\r\nFor example for the points\r\n\r\n  points = [[1; 0] [0; 1] [-1; 0] [0; -1]];\r\n\r\nwould yield to following curve: \r\n\r\n\u003c\u003chttp://i.imgur.com/CIb8jFU.png\u003e\u003e","description_html":"\u003cp\u003eGiven a n by m matrix representing m vectors in n dimensions. Calculate the \u003ca href = \"https://en.wikipedia.org/wiki/Arc_length\"\u003earc length\u003c/a\u003e of the closed loop curve going though these points in the order that they are given. The parametric curve, \u003ctt\u003ec(t)\u003c/tt\u003e , between points \u003ctt\u003ep(k)\u003c/tt\u003e and \u003ctt\u003ep(k+1)\u003c/tt\u003e is defined as,\u003c/p\u003e\u003cp\u003e\u003ctt\u003ec(t) = p(k-1) * (-t/2+t^2-t^3/2) + p(k) * (1-5/2*t^2+3/2*t^3) + p(k+1) * (t/2+2*t^2-3/2*t^3) + p(k+2) * (-t^2/2+t^3/2)\u003c/tt\u003e,\u003c/p\u003e\u003cp\u003ewhere \u003ctt\u003et\u003c/tt\u003e goes from 0 to 1. These interpolation polynomials can also be found using the constraints \u003ctt\u003ec(0)=p(k)\u003c/tt\u003e, \u003ctt\u003ec(1)=p(k+1)\u003c/tt\u003e, \u003ctt\u003ec'(0)=(p(k+1)-p(k-1))/2\u003c/tt\u003e and \u003ctt\u003ec'(1)=(p(k+2)-p(k))/2\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eFor example for the points\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003epoints = [[1; 0] [0; 1] [-1; 0] [0; -1]];\r\n\u003c/pre\u003e\u003cp\u003ewould yield to following curve:\u003c/p\u003e\u003cimg src = \"http://i.imgur.com/CIb8jFU.png\"\u003e","function_template":"function dist = arcLength(points)\r\n    dist = 1;\r\nend","test_suite":"%%\r\npoints = [[1; 0] [0; 1] [-1; 0] [0; -1]];\r\ndist_correct = 5.945066529883204;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\npoints = eye(2);\r\ndist_correct = 2 * sqrt(2);\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\npoints = [cos(2*pi/500*(1:500)); sin(2*pi/500*(1:500))];\r\ndist_correct = 6.283185305221142;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\npoints = [[0 0 0]' [1 0 0]' [1 0 1]' [0 0 1]' [0 1 1]' [1 1 1]' [1 1 0]' [0 1 0]'];\r\ndist_correct = 8.367321074314315;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\npoints = [6 -8 -7 -7 3 5;8 -4 9 -1 -9 5;-7 1 9 8 7 -2;8 9 0 6 8 3;3 9 6 9 3 -6];\r\ndist_correct = 101.32625280165301;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\nw = 0.887321243287836;\r\npoints = [-w  0  w  1 1 1 w 0 -w -1 -1 -1; -1 -1 -1 -w 0 w 1 1  1  w  0 -w];\r\ndist_correct = 8;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)","published":true,"deleted":false,"likes_count":0,"comments_count":3,"created_by":40782,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2016-12-14T19:45:19.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2016-10-30T02:02:55.000Z","updated_at":"2016-12-14T19:45:19.000Z","published_at":"2016-10-30T02:03:39.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\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"}],\"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 a n by m matrix representing m vectors in n dimensions. Calculate the\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=\\\"https://en.wikipedia.org/wiki/Arc_length\\\"\u003e\u003cw:r\u003e\u003cw:t\u003earc length\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e of the closed loop curve going though these points in the order that they are given. The parametric curve,\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\u003ec(t)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e , between points\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\u003ep(k)\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ep(k+1)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is defined as,\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ec(t) = p(k-1) * (-t/2+t^2-t^3/2) + p(k) * (1-5/2*t^2+3/2*t^3) + p(k+1) * (t/2+2*t^2-3/2*t^3) + p(k+2) * (-t^2/2+t^3/2)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ewhere\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\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e goes from 0 to 1. These interpolation polynomials can also be found using the constraints\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\u003ec(0)=p(k)\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: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\u003ec(1)=p(k+1)\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: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\u003ec'(0)=(p(k+1)-p(k-1))/2\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ec'(1)=(p(k+2)-p(k))/2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example for the points\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[points = [[1; 0] [0; 1] [-1; 0] [0; -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\u003ewould yield to following curve:\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":42990,"title":"Pad zero between every adjacent values of the vector.","description":"    you are given a vector x. you have to make an output vector y with zeros padded between every adjacent values of x.\r\ne.g x: [1 2 3 4 5 6]; the output y:[ 1 0 2 0 3 0 4 0 5 0 6 0].","description_html":"\u003cpre\u003e    you are given a vector x. you have to make an output vector y with zeros padded between every adjacent values of x.\r\ne.g x: [1 2 3 4 5 6]; the output y:[ 1 0 2 0 3 0 4 0 5 0 6 0].\u003c/pre\u003e","function_template":"function y = your_fcn_name(x)\r\n  y = zeros(length(x));\r\nend","test_suite":"%%\r\nx = [1];\r\ny_correct = [1 0];\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = [1 2 3 4 5 6];\r\ny_correct =[ 1 0 2 0 3 0 4 0 5 0 6 0];\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = 1:10;\r\ny_correct =[ 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0];\r\nassert(isequal(your_fcn_name(x),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":91313,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":57,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-09-20T13:07:32.000Z","updated_at":"2026-02-06T11:43:12.000Z","published_at":"2016-09-20T13:07: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\",\"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=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    you are given a vector x. you have to make an output vector y with zeros padded between every adjacent values of x.\\ne.g x: [1 2 3 4 5 6]; the output y:[ 1 0 2 0 3 0 4 0 5 0 6 0].]]\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":43221,"title":"Interpolate scattered data.","description":"Most data was scattered, and there is no gird.\r\n\r\nThere are three data [c] in three different area [x,y].\r\n\r\n x=[1 3 4];\r\n y=[1 2 1];\r\n c=[2 3 5];\r\n\r\nEstimate data value in x=2.6, y=1.4 using interpolation. x,y,c are used as inputs.\r\n\r\n(hint: use griddata)\r\n","description_html":"\u003cp\u003eMost data was scattered, and there is no gird.\u003c/p\u003e\u003cp\u003eThere are three data [c] in three different area [x,y].\u003c/p\u003e\u003cpre\u003e x=[1 3 4];\r\n y=[1 2 1];\r\n c=[2 3 5];\u003c/pre\u003e\u003cp\u003eEstimate data value in x=2.6, y=1.4 using interpolation. x,y,c are used as inputs.\u003c/p\u003e\u003cp\u003e(hint: use griddata)\u003c/p\u003e","function_template":"function z = datinter(x,y,c) \r\n z=?\r\nend","test_suite":"%%\r\n x=[1 3 4];\r\n y=[1 2 1];\r\n c=[2 3 5];\r\ny_correct = griddata(x,y,c,2.6,1.4);\r\nassert(isequal(datinter(x,y,c),y_correct))\r\n\r\n%%\r\n x=[1 2 4];\r\n y=[1 2 1.2];\r\n c=[2 6 9];\r\ny_correct = griddata(x,y,c,2.6,1.4);\r\nassert(isequal(datinter(x,y,c),y_correct))\r\n","published":true,"deleted":false,"likes_count":8,"comments_count":0,"created_by":33533,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":57,"test_suite_updated_at":"2016-10-15T07:58:27.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2016-10-08T13:14:32.000Z","updated_at":"2026-03-05T15:57:44.000Z","published_at":"2016-10-08T13:15:37.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\u003eMost data was scattered, and there is no gird.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThere are three data [c] in three different area [x,y].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ x=[1 3 4];\\n y=[1 2 1];\\n c=[2 3 5];]]\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\u003eEstimate data value in x=2.6, y=1.4 using interpolation. x,y,c are used as inputs.\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\u003e(hint: use griddata)\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":47563,"title":"Find a real root of a quintic function","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 273px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 136.5px; transform-origin: 407px 136.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"234.5\" height=\"20\" style=\"width: 234.5px; height: 20px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 20px; transform-origin: 404px 20px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003einput = [a b c d e f];\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor example;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 20px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 10px; transform-origin: 404px 10px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003einput = [6 8 7 9 12 467];\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003emeans\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"257.5\" height=\"20\" style=\"width: 257.5px; height: 20px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ea possible solution is\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 20px; transform-origin: 404px 20px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ex = -2.628054656;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eg(x) = -5.665150411005015e-07\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function x = quintic(coeffs)\r\n\r\nend","test_suite":"%%\r\ncoeffs = [6 8 7 9 12 467];\r\ncandidateX = quintic(coeffs);\r\nassert(isreal(candidateX))\r\nassert(abs(sum(coeffs.*(candidateX.^(5:-1:0)))-0)\u003c0.0001)\r\n%%\r\ncoeffs = [4 6 7 8 2 1];\r\ncandidateX = quintic(coeffs);\r\nassert(isreal(candidateX))\r\nassert(abs(sum(coeffs.*(candidateX.^(5:-1:0)))-0)\u003c0.0001)\r\n%%\r\nfor idx = 1:10\r\ncoeffs = randi([1 50],1,6);\r\ncandidateX = quintic(coeffs);\r\nassert(isreal(candidateX))\r\nassert(abs(sum(coeffs.*(candidateX.^(5:-1:0)))-0)\u003c0.0001)\r\nend","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":8703,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":29,"test_suite_updated_at":"2020-11-19T10:27:18.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-19T10:11:50.000Z","updated_at":"2026-03-24T11:51:45.000Z","published_at":"2020-11-19T10:13:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eg(x) = ax^5 + bx^4 + cx^3 +dx^2 + e^x + f\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[input = [a b c d e f];\\n]]\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[input = [6 8 7 9 12 467];]]\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003emeans\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eg(x) = 6x^5+8x^4+7x^3+9x^2+12x+467\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003ea possible solution is\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x = -2.628054656;\\ng(x) = -5.665150411005015e-07]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":42992,"title":"S-T-R-E-T-C-H   I-T   O-U-T","description":"You will be given a row of numbers (x), and a single number (n).  Your job is to write a script that will stretch out the row of numbers, putting n numbers between each of the numbers in x.  The numbers you put in x will be linearly interpolated.\r\n\r\nFor example, if x=[1 5 2 4 3] and n=1, your output should be:\r\n\r\ny=[1 3 5 3.5 2 3 4 3.5 3]\r\n\r\nThere is n=1 number between all of the original values of x, and the new values are linearly interpolated from the original values of x:\r\n\r\n* 1 --\u003e 3 --\u003e 5\r\n* 5 --\u003e  3.5  --\u003e 2\r\n* 2 --\u003e 3 --\u003e 4\r\n* 4 --\u003e 3.5 --\u003e 3","description_html":"\u003cp\u003eYou will be given a row of numbers (x), and a single number (n).  Your job is to write a script that will stretch out the row of numbers, putting n numbers between each of the numbers in x.  The numbers you put in x will be linearly interpolated.\u003c/p\u003e\u003cp\u003eFor example, if x=[1 5 2 4 3] and n=1, your output should be:\u003c/p\u003e\u003cp\u003ey=[1 3 5 3.5 2 3 4 3.5 3]\u003c/p\u003e\u003cp\u003eThere is n=1 number between all of the original values of x, and the new values are linearly interpolated from the original values of x:\u003c/p\u003e\u003cul\u003e\u003cli\u003e1 --\u0026gt; 3 --\u0026gt; 5\u003c/li\u003e\u003cli\u003e5 --\u0026gt;  3.5  --\u0026gt; 2\u003c/li\u003e\u003cli\u003e2 --\u0026gt; 3 --\u0026gt; 4\u003c/li\u003e\u003cli\u003e4 --\u0026gt; 3.5 --\u0026gt; 3\u003c/li\u003e\u003c/ul\u003e","function_template":"function y = stretch_it_out(x,n)\r\n  y = x.*n;\r\nend","test_suite":"%%\r\nx = [1 5 2 4 3];n=1;\r\ny_correct = [1 3 5 3.5 2 3 4 3.5 3];\r\nassert(isequal(stretch_it_out(x,n),y_correct))\r\n%%\r\nx = [1 5 2 4 3];n=2;\r\ny_correct=[1 2+1/3 3+2/3 5 4 3 2 2+2/3 3+1/3 4 3+2/3 3+1/3 3];\r\ny=abs(stretch_it_out(x,n)-y_correct);\r\nassert(max(y)\u003c1e-9)\r\n%%\r\nk=ceil(5*rand)+1\r\nx=1:k:121\r\nn=k-1;\r\nassert(isequal(stretch_it_out(x,n),1:121))\r\n%%\r\nx=[1 -1 1 -1 1 -1 1];n=3;\r\ny_correct=[1 0.5  0 -0.5 -1 -0.5  0 0.5  1 0.5  0 -0.5 -1 -0.5  0 0.5  1 0.5  0 -0.5 -1 -0.5  0 0.5  1];\r\nassert(isequal(stretch_it_out(x,n),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":79,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":43,"created_at":"2016-09-20T17:08:32.000Z","updated_at":"2025-12-23T03:42:27.000Z","published_at":"2016-09-20T17:09:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou will be given a row of numbers (x), and a single number (n). Your job is to write a script that will stretch out the row of numbers, putting n numbers between each of the numbers in x. The numbers you put in x will be linearly interpolated.\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, if x=[1 5 2 4 3] and n=1, your output should be:\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\u003ey=[1 3 5 3.5 2 3 4 3.5 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\u003eThere is n=1 number between all of the original values of x, and the new values are linearly interpolated from the original values of x:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1 --\u0026gt; 3 --\u0026gt; 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e5 --\u0026gt; 3.5 --\u0026gt; 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e2 --\u0026gt; 3 --\u0026gt; 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e4 --\u0026gt; 3.5 --\u0026gt; 3\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":1017,"title":"Lagrange Interpolation","description":"Given a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Lagrange interpolation. Output is the interpolated value for a given value of x, as well as the vector of Lagrange polynomial coefficients.","description_html":"\u003cp\u003eGiven a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Lagrange interpolation. Output is the interpolated value for a given value of x, as well as the vector of Lagrange polynomial coefficients.\u003c/p\u003e","function_template":"function [y,L] = Lagrange_Interp(X,Y,x)\r\n% X is a vector of independent variable values\r\n% Y is a vector of measurements of dependent variable values\r\n% x is the value of the independent variable to be interpolated\r\n% y is the interpolated value, evaluated at x\r\n% L is a vector of Lagrange polynomial values at x\r\n  y = x;\r\nend","test_suite":"%% Check linear interpolation\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851]*1e-1;\r\nx = 5000;\r\ny = Lagrange_Interp(X,Y,x)\r\ny_correct = 0.73650;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\n%% Check Lagrange polynomial coefficients\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851];\r\nx = 5000;\r\ny_correct = 7.3650;\r\nL_correct = [1, 2]/3;\r\n[y,L] = Lagrange_Interp(X,Y,x)\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(L-L_correct)\u003c1e-3)\r\n%% Check quadratic interpolation\r\nX = [300, 400, 500];\r\nY = [0.616, 0.525, 0.457];\r\nx = 350;\r\n[y,L] = Lagrange_Interp(X,Y,x)\r\ny_correct = 0.567625;\r\nL_correct = [3, 6, -1]/8;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(L-L_correct)\u003c1e-3)\r\n%% Check quadratic interpolation for log\r\nX = [1, 4 6];\r\nY = log(X);\r\nx = 2;\r\n[y,L] = Lagrange_Interp(X,Y,x)\r\ny_correct = 0.5658;\r\nL_correct = [8/15, 2/3, -1/5];\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(L-L_correct)\u003c1e-3)","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":279,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":17,"test_suite_updated_at":"2012-10-30T18:40:10.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-10-30T17:43:01.000Z","updated_at":"2025-06-21T13:59:01.000Z","published_at":"2012-10-30T17:43:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"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 a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Lagrange interpolation. Output is the interpolated value for a given value of x, as well as the vector of Lagrange polynomial coefficients.\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":1011,"title":"Newton Interpolation","description":"Given a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Newton interpolation. Output is the interpolated value for a given value of x, as well as the vector of divided differences, b, that are the coefficients of the Newton polynomial.","description_html":"\u003cp\u003eGiven a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Newton interpolation. Output is the interpolated value for a given value of x, as well as the vector of divided differences, b, that are the coefficients of the Newton polynomial.\u003c/p\u003e","function_template":"function [y,b] = Newton_Interp(X,Y,x)\r\n% X is a vector of independent variable values\r\n% Y is a vector of measurements of dependent variable values\r\n% x is the value of the independent variable to be interpolated\r\n% y is the interpolated value, evaluated at x\r\n% b is a vector of divided difference coefficients in the Newton polynomial\r\n  y = x;\r\nend","test_suite":"%% Check linear interpolation\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851]*1e-1;\r\nx = 5000;\r\ny = Newton_Interp(X,Y,x)\r\ny_correct = 0.73650;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\n%% Check Newton polynomial coefficients\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851];\r\nx = 5000;\r\ny_correct = 7.3650;\r\nb_correct = [7.5247, -0.00079867];\r\n[y,b] = Newton_Interp(X,Y,x)\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(b-b_correct)\u003c1e-3)\r\n%% Check quadratic interpolation\r\nX = [300, 400, 500];\r\nY = [0.616, 0.525, 0.457];\r\nx = 350;\r\n[y,b] = Newton_Interp(X,Y,x)\r\ny_correct = 0.567625;\r\nb_correct = [0.616, -0.00091, 0.00000115];\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(b-b_correct)\u003c1e-3)\r\n%% Check quadratic interpolation for log\r\nX = [1, 4 6];\r\nY = log(X);\r\nx = 2;\r\n[y,b] = Newton_Interp(X,Y,x)\r\ny_correct = 0.5658;\r\nb_correct = [0, 0.4620981, -0.0518731];\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(b-b_correct)\u003c1e-3)","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":279,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":"2012-10-30T18:36:47.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-10-30T03:15:39.000Z","updated_at":"2025-12-10T10:32:01.000Z","published_at":"2012-10-30T16:49:49.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 a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial using Newton interpolation. Output is the interpolated value for a given value of x, as well as the vector of divided differences, b, that are the coefficients of the Newton polynomial.\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":378,"title":"Inhomogenous Depth Scale Interpolation","description":"I recently came across a dataset for physical ocean parameters such as temperature and salinity that provided data in the form of a 3-Dimensional array of depths and a 3-Dimensional array of the parameters where each point on the first two dimensions corresponds to a latitude and longitude, respectively, and the points in the third dimension corresponds to depths.\r\nGiven a target depth, return the linearly interpolated values of the data at that depth without using the keywords for or while in your code.\r\nFor example, if Z and V are arrays with size [ M, N, D ], the output matrix V2 would be of size [ M N ].\r\nTest Case Details:\r\nThe depth array, Z, will always start at 0 and end at 1, which are also the bounds of the target depth d. This is so that you do not have to handle \"edge\" cases.\r\nThe depth array, Z, will always be sorted in the third dimension.\r\nBoth input arrays will be the same size.\r\nThe test cases are randomly generated and your solution is tested against a simple for-looping code.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440000534057617px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 346px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003eI recently came across a dataset for physical ocean parameters such as temperature and salinity that provided data in the form of a 3-Dimensional array of depths and a 3-Dimensional array of the parameters where each point on the first two dimensions corresponds to a latitude and longitude, respectively, and the points in the third dimension corresponds to depths.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003eGiven a target depth, return the linearly interpolated values of the data at that depth without using the keywords\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003efor\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e or\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003ewhile\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e in your code.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003eFor example, if\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eZ\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e and\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e are arrays with size [\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eM\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eN\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eD\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e ], the output matrix\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eV2\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e would be of size [\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eM\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eN\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e ].\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003eTest Case Details:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 120px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 40px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; text-align: left; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003eThe depth array,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eZ\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e, will always start at 0 and end at 1, which are also the bounds of the target depth\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ed\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e. This is so that you do not have to handle \"edge\" cases.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; text-align: left; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003eThe depth array,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eZ\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003e, will always be sorted in the third dimension.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; text-align: left; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003eBoth input arrays will be the same size.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 40px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; text-align: left; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; \"\u003e\u003cspan style=\"\"\u003eThe test cases are randomly generated and your solution is tested against a simple for-looping code.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function v2 = interp_v_at_d(z,v,d)\r\n  v2 = v(:,:,z==d);\r\nend","test_suite":"%%\r\n% Test to make sure there are no for loops\r\nfid = fopen('interp_v_at_d.m');\r\ntext = fread(fid)';\r\nfclose(fid);\r\nassert( isempty( strfind( text, 'for' ) ) )\r\n\r\n%%\r\n% Test to make sure there are no while loops\r\nfid = fopen('interp_v_at_d.m');\r\ntext = fread(fid)';\r\nfclose(fid);\r\nassert( isempty( strfind( text, 'while' ) ) )\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 1;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( abs(v2_correct - v2) \u003c 1e-6 );\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 5;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( all( abs(v2_correct(:) - v2(:)) \u003c 1e-6 ) );\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 10;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( all( abs(v2_correct(:) - v2(:)) \u003c 1e-6 ) );\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 25;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( all( abs(v2_correct(:) - v2(:)) \u003c 1e-6 ) );\r\n\r\n%%\r\n% Test to make sure it works\r\nm = 100;\r\nz = cat(3,zeros(m),sort(rand([m,m,10]),3),ones(m));\r\nv = randn([m,m,12]);\r\nd = rand();\r\nv2 = interp_v_at_d(z,v,d);\r\nv2_correct = zeros(m,m);\r\nfor i = 1:m\r\n    for j = 1:m\r\n        v2_correct(i,j) = interp1(squeeze(z(i,j,:)),squeeze(v(i,j,:)),d);\r\n    end\r\nend\r\nassert( all( abs(v2_correct(:) - v2(:)) \u003c 1e-6 ) );","published":true,"deleted":false,"likes_count":0,"comments_count":4,"created_by":134,"edited_by":26769,"edited_at":"2023-02-19T00:39:48.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2023-02-19T00:39:48.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-02-22T00:22:47.000Z","updated_at":"2023-02-19T00:39:48.000Z","published_at":"2012-02-22T00:53:54.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI recently came across a dataset for physical ocean parameters such as temperature and salinity that provided data in the form of a 3-Dimensional array of depths and a 3-Dimensional array of the parameters where each point on the first two dimensions corresponds to a latitude and longitude, respectively, and the points in the third dimension corresponds to depths.\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\u003eGiven a target depth, return the linearly interpolated values of the data at that depth without using the keywords\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\u003efor\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e or\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\u003ewhile\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e in your code.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, if\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\u003eZ\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\u003eV\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e are arrays with size [\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\u003eM\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: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\u003eN\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: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\u003eD\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ], the output matrix\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\u003eV2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e would be of size [\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\u003eM\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTest Case Details:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe depth 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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eZ\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, will always start at 0 and end at 1, which are also the bounds of the target depth\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\u003ed\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. This is so that you do not have to handle \\\"edge\\\" cases.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe depth 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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eZ\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, will always be sorted in the third dimension.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBoth input arrays will be the same size.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe test cases are randomly generated and your solution is tested against a simple for-looping code.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":72,"title":"Interpolator","description":"You have a two vectors, a and b. They are monotonic and the same length. Given a value, va, where va is between a(1) and a(end), find the a(n) and a(n+1) that flank it. Now interpolate the value, vb, such that it is proportionally between b(n) and b(n+1).\r\nNote that va can land exactly on a value of a as well.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 93px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 46.5px; transform-origin: 407px 46.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 378.5px 8px; transform-origin: 378.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou have a two vectors, a and b. They are monotonic and the same length. Given a value, va, where va is between a(1) and a(end), find the a(n) and a(n+1) that flank it. Now interpolate the value, vb, such that it is proportionally between b(n) and b(n+1).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 164.5px 8px; transform-origin: 164.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eNote that va can land exactly on a value of a as well.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function vb = interpolator(va, a, b)","test_suite":"%%\r\nfiletext = fileread('interpolator.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp'); \r\nassert(~illegal)\r\n\r\n%%\r\na = 3;  \r\nalpha = 1 : 1 : 10;\r\nbeta  = 2 : 2 : 20;\r\nb = 6;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n\r\n%%\r\na = 3.5;  \r\nalpha = 1 : 1 : 10;\r\nbeta  = 2 : 2 : 20;\r\nb = 7;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n\r\n%%\r\na = 3;  \r\nalpha = [0 1 5 6 7  10];\r\nbeta  = [2 3 5 7 9 100];\r\nb = 4;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n\r\n%%\r\na = 10;  \r\nalpha = 1:10;\r\nbeta  = primes(30);\r\nb = 29;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n\r\n%%\r\na = 2;  \r\nbeta = 2.^(1:10);\r\nalpha  = primes(30);\r\nb = 2;\r\nout = interpolator(a, alpha, beta);\r\nassert(isequal(out, b))\r\n","published":true,"deleted":false,"likes_count":39,"comments_count":13,"created_by":1,"edited_by":223089,"edited_at":"2023-03-13T15:41:48.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3403,"test_suite_updated_at":"2023-03-13T15:41:48.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:27.000Z","updated_at":"2026-02-14T15:32:13.000Z","published_at":"2012-01-18T01:00:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou have a two vectors, a and b. They are monotonic and the same length. Given a value, va, where va is between a(1) and a(end), find the a(n) and a(n+1) that flank it. Now interpolate the value, vb, such that it is proportionally between b(n) and b(n+1).\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\u003eNote that va can land exactly on a value of a as well.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":44828,"title":"Pose interpolation in 2D","description":"Consider two poses represented by homogeneous transformation matrices: |T1| and |T2|.  Write an algorithm to interpolate between these poses according to 0 \u003c= |s| \u003c= 1.  When s=0 the algorithm should return |T1| and when |s| =1 it should return |T2| .  For intermediate values of |s| it should return a proper homogeneous transformation matrix.  Orientation angle should increase in a positive (counter clockwise) direction.","description_html":"\u003cp\u003eConsider two poses represented by homogeneous transformation matrices: \u003ctt\u003eT1\u003c/tt\u003e and \u003ctt\u003eT2\u003c/tt\u003e.  Write an algorithm to interpolate between these poses according to 0 \u0026lt;= \u003ctt\u003es\u003c/tt\u003e \u0026lt;= 1.  When s=0 the algorithm should return \u003ctt\u003eT1\u003c/tt\u003e and when \u003ctt\u003es\u003c/tt\u003e =1 it should return \u003ctt\u003eT2\u003c/tt\u003e .  For intermediate values of \u003ctt\u003es\u003c/tt\u003e it should return a proper homogeneous transformation matrix.  Orientation angle should increase in a positive (counter clockwise) direction.\u003c/p\u003e","function_template":"function T = user_function(T1, T2, s)\r\n  % Input:  T1 a 3x3 homogeneous transformation matrix, initial pose\r\n  %         T2 a 3x3 homogeneous transformation matrix, final pose\r\n  %         s  a scalar between 0 and 1\r\n  % Outout: T  a 3x3 homogeneous transformation matrix, interpolated pose\r\n  T = ;\r\nend","test_suite":"th1 = 2*pi*rand - pi;\r\nt1 = rand(2,1)*20-10;\r\nR1 = [cos(th1) -sin(th1); sin(th1) cos(th1)];\r\nT1 = [R1 t1; 0 0 1];\r\nth2 = 2*pi*rand - pi;\r\nt2 = rand(2,1)*20-10;\r\nR2 = [cos(th2) -sin(th2); sin(th2) cos(th2)];\r\nT2 = [R2 t2; 0 0 1];\r\ns = 0.2 + rand*0.5;\r\n\r\nTi0 = user_function(T1, T2, 0);\r\nTi1 = user_function(T1, T2, 1);\r\nTis = user_function(T1, T2, s);\r\n\r\n\r\n\r\n%%\r\nassert(all(size(Ti0)==3), 's=0: the matrix must be 3x3');\r\n%\r\nassert(isreal(Ti0), 's=0: the matrix must be real, not complex');\r\n% bottom row\r\nassert(isequal(Ti0(3,:), [0 0 1]), 's=0: the bottom row of the homogeneous transformation matrix is not correct')\r\n%\r\nassert( max(max(abs(Ti0-T1))) \u003c 0.0001, 's=0: the interpolated value for s=0 is not correct');\r\n% translation\r\nassert(norm(Ti0(1:2,3)-t1) \u003c 0.0001, 's=0: the translation component is not correct')\r\n% determinant\r\nassert(abs(det(Ti0)-1) \u003c 1e-6, 's=0: the rotation submatrix is not proper')\r\n%\r\nth = atan2(Ti0(2,1), Ti0(1,1));\r\ndth = th - th1;\r\nassert(abs(dth) \u003c 0.0001, 's=0: the rotation submatrix is not correct')\r\n\r\n%%\r\nassert(all(size(Ti1)==3), 's=1: the matrix must be 3x3');\r\n%\r\nassert(isreal(Ti1), 's=1: the matrix must be real, not complex');\r\n% bottom row\r\nassert(isequal(Ti1(3,:), [0 0 1]), 's=1: the bottom row of the homogeneous transformation matrix is not correct')\r\n% translation\r\nassert(norm(Ti1(1:2,3)-t2) \u003c 0.0001, 's=1: the translation component is not correct')\r\n%% determinant\r\nassert(abs(det(Ti1)-1) \u003c 1e-6, 's=1: the rotation submatrix is not proper')\r\n% rotation\r\nth = atan2(Ti1(2,1), Ti1(1,1));\r\ndth = th - th2;\r\nassert(abs(dth) \u003c 0.0001, 's=1: the rotation submatrix is not correct')\r\n\r\n\r\n%%\r\nassert(all(size(Tis)==3), 's=%f: the matrix must be 3x3', s);\r\nassert(isreal(Tis), 's=%f: the matrix must be real, not complex', s);\r\n% bottom row\r\nassert(isequal(Tis(3,:), [0 0 1]), 's=%f: the bottom row of the homogeneous transformation matrix is not correct', s)\r\n% determinant\r\nassert(abs(det(Tis)-1) \u003c 1e-6, 's=%f: the rotation submatrix is not proper', s)\r\n\r\n\r\n% translation\r\nTD = inv(T1) * T2;\r\nTDi = inv(T1) * Tis;\r\ndx = TD(1,3)*s - TDi(1,3);\r\ndy = TD(2,3)*s - TDi(2,3);\r\nassert(abs(dx) \u003c 0.0001, 's=%f: the x-translation component is not correct', s)\r\nassert(abs(dy) \u003c 0.0001, 's=%f: the y-translation component is not correct', s)\r\n% rotation matrix\r\nLDi = logm(TDi);\r\ndrot = LDi(2,1)  + th1*s - th2*s;\r\nwhile drot \u003e pi\r\n    drot = drot - 2*pi;\r\nend\r\nwhile drot \u003c -pi\r\n    drot = drot + 2*pi;\r\nend\r\nassert(abs(drot) \u003c 0.0001, 's=%f: the rotation submatrix is not correct')\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":13332,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":28,"test_suite_updated_at":"2019-01-21T22:44:17.000Z","rescore_all_solutions":false,"group_id":77,"created_at":"2019-01-10T06:21:41.000Z","updated_at":"2026-02-15T06:56:03.000Z","published_at":"2019-01-10T06:42:31.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\u003eConsider two poses represented by homogeneous transformation matrices:\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\u003eT1\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eT2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Write an algorithm to interpolate between these poses according to 0 \u0026lt;=\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\u003es\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u0026lt;= 1. When s=0 the algorithm should return\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\u003eT1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and when\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\u003es\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e =1 it should return\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\u003eT2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e . For intermediate values 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\u003es\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e it should return a proper homogeneous transformation matrix. Orientation angle should increase in a positive (counter clockwise) direction.\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":1015,"title":"Polynomial Interpolation","description":"Given a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial. Output is the interpolated value for a given value of x, as well as the condition number of the Vandermonde coefficient matrix.","description_html":"\u003cp\u003eGiven a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial. Output is the interpolated value for a given value of x, as well as the condition number of the Vandermonde coefficient matrix.\u003c/p\u003e","function_template":"function [y,c] = Poly_Interp(X,Y,x)\r\n% X is a vector of independent variable values\r\n% Y is a vector of measurements of dependent variable values\r\n% x is the value of the independent variable to be interpolated\r\n% y is the interpolated value, evaluated at x\r\n% c is the condition number of the Vandermonde coefficient matrix\r\n   y = x;\r\nend","test_suite":"%% Check linear interpolation\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851]*1e-1;\r\nx = 5000;\r\ny = Poly_Interp(X,Y,x)\r\ny_correct = 0.73650;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\n%% Check Vandermonde coefficient matrix condition number\r\nX = [4800; 5100];\r\nY = [7.5247; 7.2851];\r\nx = 5000;\r\ny_correct = 7.3650;\r\nc_correct = 1.6350e+05;\r\n[y,c] = Poly_Interp(X,Y,x)\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(c-c_correct)\u003c1e2)\r\n%% Check quadratic interpolation\r\nX = [300, 400, 500];\r\nY = [0.616, 0.525, 0.457];\r\nx = 350;\r\n[y,c] = Poly_Interp(X,Y,x)\r\ny_correct = 0.567625;\r\nc_correct = [5.8932e+06];\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(c-c_correct)\u003c1e2)\r\n%% Check quadratic interpolation for log\r\nX = [1, 4 6];\r\nY = log(X);\r\nx = 2;\r\n[y,c] = Poly_Interp(X,Y,x)\r\ny_correct = 0.5658;\r\nc_correct = 93.9107;\r\nassert(abs(y-y_correct)\u003c1e-4)\r\nassert(norm(c-c_correct)\u003c1e-2)","published":true,"deleted":false,"likes_count":2,"comments_count":4,"created_by":279,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":18,"test_suite_updated_at":"2012-10-30T18:33:18.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-10-30T16:59:18.000Z","updated_at":"2025-06-01T14:44:47.000Z","published_at":"2012-10-30T17:18:56.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 a set of measurements of dependent variables in a vector, Y, that vary with one independent variable in a vector, X, calculate the interpolating polynomial. Output is the interpolated value for a given value of x, as well as the condition number of the Vandermonde coefficient matrix.\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":57879,"title":"Route a hydrograph through a river section with the Muskingum method","description":"Problem statement \r\nWrite a function that routes a hydrograph through a river section using the Muskingum method. The input to the function will be the inflow hydrograph , the times  at which the hydrograph is reported, the routing parameters  and , and the desired time step . If the desired time step differs from the time step in the given inflow hydrograph, use linear interpolation to get the inflow hydrograph onto the new time base. Return the time base of the outflow hydrograph, the outflow hydrograph , and a Boolean flag that says whether the time step is within the guidelines .\r\nBonus points to anyone who can solve this problem using the FILTER command. \r\nBackground\r\nHydrologic routing is used to predict the movement of a flood wave in a river. The Muskingum method is an example of hydrologic routing, in which the inflow  and outflow  are connected to the storage  in a channel section through a conservation of mass (or volume), which states that the rate of change of storage is the difference between the inflow and outflow:\r\n\r\nThis equation is written in discretized form as \r\n\r\nwhere subscripts 1 and 2 denote the previous and current time steps, respectively. In applications, the inflow hydrograph (or flow as a function of time) is known, and we assume that everything at the previous time step is known. That assumption leaves two unknowns, the current outflow  and the current storage . \r\nIn the Muskingum method, the storage, inflow, and outflow are further related by \r\n\r\nwhere  is a time scale related to travel time in the river section and  is a weighting factor. Substituting this relation into the discretized form of conservation of mass and rearranging gives\r\n\r\nwhere\r\n\r\n\r\n\r\nNotice that . With the assumption that the first value of the outflow equals the first value of the inflow, this equation for  can be used to compute the outflow hydrograph. The guideline for  above ensures that the coefficients , , and  are positive.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 882.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 441.35px; transform-origin: 407px 441.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 64.95px 8px; transform-origin: 64.95px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eProblem statement \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 126px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 63px; text-align: left; transform-origin: 384px 63px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 383.783px 8px; transform-origin: 383.783px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that routes a hydrograph through a river section using the Muskingum method. The input to the function will be the inflow hydrograph \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADUAAAAlCAYAAADiMKHrAAADL0lEQVRYR+1YO2uVQRBNekGIlSm0iEWEIELwAYKQJgEbkYCKWEctxEpBf4CCVsEiKlYWokIQsdJWEKM/QAsVbbRSEO31HNmR4bo7jy/JBwn3wuG+Zmf3zOPs7jc6sglfo5uQ08iQ1EbJap+ZOoGgfATeJINzFvaPgO/RcX2R4sJmABLLvvZhwE3gfDQgfZAioWPAXJaNsiexJ8DRCLEIqVk4mgdOAVvURL/w+T5w15iIY5eBnZnyaZCnr0XgkOcrQkrmYOk8UBOexOeHRvTH8N9n4CJwaxVZ0kOf4csn4Izlryupr3A65UTsOv4/DYyvESG6mQDeAyzl5y2/GVK34WShOKJDq0e6ZonjjjuZfYX/f1jzZ0h9gaPthdQVvF8zMnAZ/10FtjnZHHTB8toKHDR8U3iWgF3Ah5pdlJSkXXw0HRaDt+V9d6L02J/MkhcwWUvTLkpKosM1vgMsBWIJfQPuAGZDF8KU63vAZPm+H+/eBv0TNi+BagtESUkUOS93d2sTpfSyjG4Al5xMsT8ONGzO4feWanLcDqAqQlFSup88KZd+MhVqgAgjzz3QC5gMk2BU1x8hxfJ4rRbhNT+lnHtTlJT2b2VHx0HmqPZ2hJREnk5XAEuZaJMlpf17AiTEzDkipNgf7BO+In2SJSWlRAGKquWqSUm9k1SkpLKkfpeARdWS5nIQqLaClyld75GjEScU+Y8EQJQyGrA1EQqJOp15RyOZMCPpEnGe+DMneZYsTx7VcvUypfcRb6fX6sSSisgzTx7cdCMCFPbvkZJ6p8OoMtGW4sLN0Wp8OXloAWJlMHvVM11hJS3RlH+LlL4/RftJoukeOmGo/fNoNA1ErvwkTkLNcrVIaSnPyC2JydWDp+nWUUn3K0t1D+DeamHD082LEhRdkv8+10gxyhdKretBFIrHQPQW610SdaYo57S3yo5rkccDey1br6eqkUj8SCF4amQr4eqvacjfepNKPQVyGDKThwHvmNbLY+fwUyCDVMrHemdK1ikPJI/gh/CT1jI4PbYvUlwfr+FURe9WO5gwCor1KO6/BPdJKisKne2HpDqHrueBw0z1HPDO0/0BZ0i3Jokz6M8AAAAASUVORK5CYII=\" alt=\"I(t)\" style=\"width: 26.5px; height: 18.5px;\" width=\"26.5\" height=\"18.5\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 34.2167px 8px; transform-origin: 34.2167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, the times \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003et\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 187.875px 8px; transform-origin: 187.875px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at which the hydrograph is reported, the routing parameters \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eK\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eX\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 29.1667px 8px; transform-origin: 29.1667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, and the desired time step \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAkCAYAAAAOwvOmAAACMElEQVRYR+1Vuy4FURS9tyeCSqWgIFFoPBLRkmglXh/gUSgUJHwACZUoPKIWfICEQilePQUFBRWJ0LNWcnayZ+acmT1zm5uYSVbu3DN777PO2o9TrdThU61DTpWSlDUrpVL/Uqk3nHoH2LCePo9dkZoawQbnwA/QmGczq20RUtcIPuA2mMLviXUzq11eUh0I/KSCP+K927qZx24Sa/fAs/6WlxRVGXMBGmpUqw/+t8AocFGUVAscP4AD4AtYdoFu8DuYUy0SugS+gR7gsyipTTguAL0ugE5jP9bujMQYRw5EhahU5LGmjyq9AFcqCFM54aJ5g8f2Yv0cApJ2/Zm1OSSKWUnNw2ELGAck/1ITErwTL5GCDSi3ivV1983rYyXFYck6ineaHg+stTlDCjnjOOsi6mg/CynKfgz4ZpJ8k5itkoIUcixupvAUoH/isZCiGk0elSQYVWxzf7LUktuA5sHBm0VK6mYNQUL3HOtt15HKunp05wVVzSLFDhsGErMkprmkhMtpB5AaTJ1taaTkSslKCYloBUJqyfClPTt5JVR3aaT24TQDcFhmtbreMFQvuikSV4smGCIlw/IIxpY2Z0w9TH0XNQ85C1DJdqDZxU4oFiIlA+4djq8hmWPr7NAutRbvrgf3ncN3GjgDFoHE9RQipdvcyClhFi/mX2dBFflsA3u+4D5SusWLEhI/fVGLUlR/yaXbGz9rJNRKqpB/ScoqW6lUqZRVAatdWVNWpf4AMMxqJZfZ0UIAAAAASUVORK5CYII=\" alt=\"dt\" style=\"width: 18.5px; height: 18px;\" width=\"18.5\" height=\"18\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 284.583px 8px; transform-origin: 284.583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. If the desired time step differs from the time step in the given inflow hydrograph, use linear interpolation to get the inflow hydrograph onto the new time base. Return the time base of the outflow hydrograph, the outflow hydrograph \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAlCAYAAAAeJYohAAADwElEQVRoQ+1YTciNQRT+vr1SrFhQWFBC+S1RNpSUhcJSKT8LS4q1KBaShZ+srFAWUoqtyM9KKRYUG1aU2PM8X/PofGPOzJl7F/dyv7ee7vu+d+bMec7vvDM9NWHX9ITxnZoj/L97fFw8vBGGXgbc6TT4MYy/C3yLzhsHwiR7Bdjdo3giqLkn8PwqQnrUhKnwLWDrAGTFjzLuA3sjpAclvBPCDwNrgJXGsu9wfxm4FrD2Aoz5BOwDHgfG14ZQH67bNFwvYYXQZgh/AVwClHdalAb4AmwDPlS0fJ4IHxiSrKY/ws1H4GhNXg/hCxB0Mgk7g9/zBcH02htgUSK9Gr+lgkLjUMEVDaP02GI5Br8HdgFuxEQJ04v7G2Sl3GncnEsPF/F7qqD1IN6lMalDLV0o93siXTRWhLAle6MVMvhf3uOCDO3F2cpMi5fAQaCnDTEi5gNbKm5nm7pai5wWYQmQ8l6IWh0sYb5fCNiwvo7nI4X3FR4zhqF3vVTSXIW1O65GWFV0XpIW9UhOOJ/3NslbVWOY/lPbUifYhPetfvsDY54BzOW/rhphG8qsyNGNgY0KLpgT/oV3lFcLTc5jPrIblK7jeOnlMuctAfJUmpHjEVZoaLFWKFmlFLJ6Z72i/PWKWYkcPcYo4xYy0sJkqCI3j3CudE/7YMgqBH/ifimgHFa4RwnLQDREzavWUGqfRZ09wlbpSPhpQeb9V7N6PreXsG1xUaOLcLEfe4SZZ7oirUhjrYJ8l6dCL2GFJ7eskSLHNbsJ2zCigGh15tjPAHdZvNiD8zbWS1iG7zF6te2VPNxqKzZf7H0+r5RzKoaRHLbyqtvFTKHuopXnYdTDNu9ZUUm4tI+OtiV5Ki98nsH1noS5IyumgJfDNjQj1dF+WDDf9gDel1K1Txo2MmBP0eR0GtRtYR5hS6DV/+xGo0WWCqmw5VtO6zkbZQp/6kSv1z45VX9cJ3mE7WceFfGU40bgJsCNAQsLlaopRFnK41rkUO7tZAFuXNYDO4DWxoPrU67t/bNSoLa11NGJvm0PYaa+M/nfWYCFJT8ImLWA88Cw5uVtL/MI48lK8zQDY5iKT2qGaX0t0dM8QeB5kd3XkuRr4J4xQoSoxrQOAKyHo5FDmdRnHeBGWYtwD4nesczHtRUv98pjkXsAlA4c/sgaJWFGz1MgeuhXMwBTYHvEeKMkTAIqjqEjVodx+MSS80dNWKQf4iZ8mG6Idx/ijwNhkd4wQAFkces5FxsLD/cWp6HGj4uHhyLRM3mOcI+1/sWxE+fh3wYi5Sa9/ITqAAAAAElFTkSuQmCC\" alt=\"O(t)\" style=\"width: 30px; height: 18.5px;\" width=\"30\" height=\"18.5\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 234.942px 8px; transform-origin: 234.942px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, and a Boolean flag that says whether the time step is within the guidelines \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASoAAAAlCAYAAAD1G6ROAAALA0lEQVR4Xu2dW8j+2RTHZ+7J6YpEGRcjFBmHiCKHEinKYUj/GjmVJJmQKxeIJLlwCE0SQ0lSylxQJnK6oBQXFBJunOKe9Wmer5ZlH9bez+953vf5zf7V6n3f59m/ffjutb577bXX7/fefNO6FgILgYXANUfg5mvev9W9hcBCYCFw0yKqpQQLgYXAtUdgEdW1n6LVwYXAQmAR1dKBhcA2CLzHqvm0yV+3qW63tdxiI7vN5CsjI1xENYLWKrsQKCOA0X3X5FMLoBQCH7ZSjzZ5Vaq0FVpElUVqlVsI1EnqZ/bVBxdAQwjIo0qRVY+o3mxN3zB5+qEL/7KfPzB5n8lPOt16oX3/CpOXmjw8lP2q/e0nF4Z9jmuH4n8y+aLJnw+fvzLUQV++ZPIdEw2aNu8wiWVp7y0ml+qW/9H6/on7oTEwn+80eabJAw7z/yP7+TE35zU1ZIvxpoP+3RoKUcf3TD500An0/LlBb6Rfn7XPa7ouvX1GrRPh84fa3+82eZ3JI5L3XIdisuXb3TyoX9GWwf1Ok1gWzN8WsPyh/X2XSdcTrREVgH7LRARVAuvVCWXhPhjzblfBe+330urjyzF4yv3G3UcM4APub4inNkAAoO+/Mnl9AOfUEw92WxIiSvJtEwzngafu/Anqn8WDeM8bG/35jH0HEfUu2v+LK1RbtHy5jN5oXh4b9LTUHxEUOgvhXupcPtX6/uOAZc0jgsTfdRjrG+xnKSZFfTgaT+phWCMqlARGhKw+d+jYU+wnjOi9o6fZ3z3PyhMQXtITTKIhq8NMYo3I6Aaehdr/iP0Oc8dLYKJsL+kBUNKqyc9YSSBSvLkMLtlmRLqUzy4O2bpPWe4YPKQz91gHP2/yN5PHmNww8YtnS1c0tkhUpbmhzPdN8Lyy3jfz8juT3taF719u8ncTEe+lEhWYQjjaseAllbxJ8PyFCQsruyrmsXZRH/GqpldaIiqRBmxY8lhY3VlNuJjU3kT5gZXKq71/Wl03OoMSS9M2pBfdZw9Ql6Ub4I185Q1S/XqZ/dIj8Ewb1P1rVxDyfVzmxkoZ5uqnJt5TPaK64q1b4IEusK0veUzesy7pQOwU27pPHj4Ev2eZ+IVSJPVI+5yFJhNrGvGmwEN4a9G5ZKLS2IVzyaMUR2QWVtXXXNxLRNULcnnjySiK94Lidk1KBDO/NmFA0XBfFIjtl/Y3Ctdj8S2Ms2SQxNQU99iiDebixYeKFKPJTH6pbXmaEbMt+kkdW+GBTry9QCi+n16neluv1kI5skj69jHER5mMLhp7ICpwaO1stGXPeLvClPruNak6PSWiwth7cR3K4Cb3VoZILFIqVrEvm8CmbOFGjNt7dLiUGB6XFHIEoBkj3coge21ry0Is5h8meLhcNXe7VZ83yNLWu9eX1vdb45E56vfxq942u7ZQyjtHh95qkvUy/bxkYmQeu70QlfdqPQfI8chun4WNFuRqDLZ36ldTUB+sbq0qfkByu1Hsb5jQqdr2smUYMTjPGKR0tbjVMYaoe+OJok4lR0h2pB+MCQ+ULSyX3wL2jNO347fLnthH+lIqe248SmPCSFpb/Bj8ZaEk3qWDotFFkj5I/2Y8270QVYz7yVnAiUDHXmMycqAknqjq9SxRyaPqnbx474eyvzUhDpA5VWkZEjEMf1xNgHWUxbOGikG+30RB3FMTFP1CEQjUkgoSPUa+zxAOBsXRunDy4y3Faq4zHrFv8qh6Mbu4ULKl/NqhstpJVA8HEf/MFnovRAVG3raZB0IufzCZOcBSnKp6kj9DVGJTVrPnmbSCxp5QMHBO7LY4jYtH18cYXk0xr4Kg1BdcaFZ7H2sreQeZ7Yo31l48p2WkV4lH7JcWylaKSjQm6R+fj3iksW0Z6Izt7Imo4s4mwwctWwPX6o5oBmztQ3veVDQs38kZt9nf3wuq91bF626QxFWIS8VttU9V6OGvMcqwZsn8OhEUY9Lc97wpyvqF0s95FruSnmgOZmxnT0QFNpl0oawt/tsKVrMIZsCmc1y9oKyPjRAA/rmJ8kgyStYaoLZG2tZk0iSygLFSkPmsfC1W4neYDD1EmW2sUK4VA4mr2MPs/l4sQMY6i9FV4xEhUuC1d7Lrj9FZ7YmHKk2BOjPYLaJqK7JfODMZAK3aIKrqQdEoUUE+pP9n8oT8IBS0JO4icum57a1B+SNnyvVOH2d4AwOFoHxs6hyEBW4PMqkdUvhVrOcZeGM91ou9Kjz83DEeYkyZQ5i4UJJQ6HVylriv2qPy45rRa+7Z4mTc56epH8dsqTcjqhElKZ0KEAD2IM+Si+oAbGQL4mtNeGnrcyrC0na5pUheQXoYerxnPYiIzTnx8G3Li64lgsZ+Ko7F54p9xGTFGcNaRHVfWhEhBcierHIt5rPk3035yHpUGBApBZx+dR8gtDJ+i4IxMRhtUY7Z1/o8DdrwQfWZ/KKRFekcBoqn+GyT3rbax15apCajOgU258BD86PscR4kzuQu1RZK6ss8AtLSC92ftR1f1x5iVMrJ44SPLP8XmNztBjmDi4jvqGD6KEnRZ08g8Sg9uozZlV4AkQPDthHiqyWUjhDQaNlooBAxsY/Sc4cjdWssve0cdWY8U2+sp84v8+kbW+ExS1Lc5xfK+Hxp1JnRLfH9OT1BCwYY+zSEWlJtVv9FVNW56LFfhqRKT8f7jpdW/NFYgdz+Up5GjIUdSxhZcGNG9rEGqgfBM88oRo+hNMHeWGdyfrI4qNzWeFBv1pOKOui9plLOWe+Z0dbYuzk/jZsv3aOi/483iQcZpXjgiP7o/mr6TIuopCRfsBZbD2qyV/2oiZ6QjitWKQ4wEitQPwgwsy2KuUMjMZsR8LJlSwaaIRtf/2j8hXu9MZZOUeXVauv9ELuHbdOpiXwLPIQNY3ywiZJeS3NCnhhj8+PqLZTx1Hg0uNx6aLqlN5dMVNK30qKXsfkWLnDIE03iSwb+e0/rfVS89oKLbN7axUvN4sOZnjhqr3WhPu8J1WIo/vUbNbcw411kSeeYcse81kRJmeD1+2QnIO5bXdmIj4LJeqSBLXN8cVmyqalix+BBg0pDIIOcx15K1/PtQz1mpAUsazRx++zjqL0BK5ZYNaxKBZdKVCKpVljCH15kwhceIk78muGJElF5cuhNGN/H1SibWxGPWWO6Av3QM1m9ZEUP0rE5Wpkxt8pgKPR95DUv3gOYbT+SPZPPBR5cHzfJHITMtl+7bwaPmH7S6lPc2kW9qm0nolc/cmKle0e21NGLy8Zmt56P0fp8vLn1ZEN8WiQ7Pjk2zacmam9P8Ct1a2D+oVAavGGio0rdhyJ93RkJ5Z5scrtJfA5NZXHlfeoBdcV6+AylZCUsvaaYADfgZR4zGZ28LcuX8lFm6/fbbJH3uRNWZ/uu+6LC9+qTJwl53FHQBYj6mybaGlIOT4x8QCX1qo1YttU2C3LmxXnqF6/r8fpeepV2b6zn/J5+3xUwKuHTsmc8K/LeFBYq9R8cSQZvnub2gunnBGa1tRC4JATwFHnvfy9D/pLGdO6+6sH57rZ7EdX/T43fus5O3Ewi4Wxbp75v4VFHGG+i95K/U8/PpdavrXCK6BdRLaLqKfoiqjZCCj/gHawrjwB6xdYyFTddRJUHdpVcCNQQwLPi320tssrpSOYtrv9T0yKqHLCr1EKghwDBZ/5xRu9tFr169v79zCnw+k/Je9eKNb6FwB4QWB7VHmZxjWEhsHMEFlHtfILX8BYCe0BgEdUeZnGNYSGwcwQWUe18gtfwFgJ7QOA/ZTgrU4FYj7AAAAAASUVORK5CYII=\" alt=\"2KX \u003c= dt \u003c 2K(1-X)\" style=\"width: 149px; height: 18.5px;\" width=\"149\" height=\"18.5\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 251.925px 8px; transform-origin: 251.925px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBonus points to anyone who can solve this problem using the FILTER command. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 40.8333px 8px; transform-origin: 40.8333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eBackground\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 368.742px 8px; transform-origin: 368.742px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHydrologic routing is used to predict the movement of a flood wave in a river. The Muskingum method is an example of hydrologic routing, in which the inflow \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eI\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 39.675px 8px; transform-origin: 39.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and outflow \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eO\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 92.9583px 8px; transform-origin: 92.9583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are connected to the storage \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eS\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 97.25px 8px; transform-origin: 97.25px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a channel section through a conservation of mass (or volume), which states that the rate of change of storage is the difference between the inflow and outflow:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 34.8px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 17.4px; text-align: left; transform-origin: 384px 17.4px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"dS/dt = I - O\" style=\"width: 72.5px; height: 35px;\" width=\"72.5\" height=\"35\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 141.583px 8px; transform-origin: 141.583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis equation is written in discretized form as \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 37.9px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 18.95px; text-align: left; transform-origin: 384px 18.95px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"(S2-S1)/dt = (I1+I2)/2-(O1+O2)/2\" style=\"width: 156.5px; height: 38px;\" width=\"156.5\" height=\"38\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 64px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 32px; text-align: left; transform-origin: 384px 32px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewhere subscripts 1 and 2 denote the previous and current time steps, respectively. In applications, the inflow hydrograph (or flow as a function of time) is known, and we assume that everything at the previous time step is known. That assumption leaves two unknowns, the current outflow \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAoCAYAAACSN4jeAAACeklEQVRYR+1XPSiFURi+d1f+JhYDg0EW+VmslMiGTEr5mUwUgwyiGCSDn2RUlMHIakKKUgwMFiai7DxPnaP3nnu+73vPjXvFvfX0Hd93znmf87x/Rzr1S3/pX8orVSQW6pmiYv9esQ4oMAw0AvVCjVuMV4GNUIXc+aEx1owN1oBW4BRYAfbMpiRLUiT6BLQD97kSDCG2BCOTxtAMnoseoxV4dw1UGXINeL7kQk5LjKr0JZCy9qcxWDB/LOM59VPEJKktGBlNMESXHpk5dGn1TxAbw6brwojGNZIYl1bm4s44VzJeHoASQ2wATxvocSK4xLTrMvaMIyZdyAzsUp5cqkxj30qsFhveiSNEZaFPuU28HBEfWjA+D42zKMXczeuwsbYm3WCuLbrvGNcolVa5Um5ON7YpT8y4fBZzQ9aqiH2IWZoSYafLGsZ3ISGQSIxt50zMCgneR6xj1eePNcwtL+wePcLV+xiP+1zti7Fc091dR4OymTPLy4AdoByYMAS9cegj5saJVjEZl64StvnLkiP7apbLo7JSusQ9uS8PZIPn1acbkFnM7xeAW6Bt9mfFcRQxaYin7/exMe9kQfWRilmasnbUikmZuXFUvyPhbYBti6emIW294762u2QV4biWxLg4BOzdagjjY3N8fpsHGPDuhTFOIfcbQ+bE55Gk+xiV4zWnF+Ct1f5I5go4EGRDCHEuQ2AW8N50k4iFGtPOt6EivZCxtlDEWFrmgMhrVCGIkcwl4Puf4Uu1fBMjqVcTt9J1TKImSTafxFhMB4Fd4E2wKsWY/TMjCfJFzL3VuknCMtQpX+aLmDZbCxZjaoJFxdRSmYlFxf6MYp8ieIIpmC0ETQAAAABJRU5ErkJggg==\" alt=\"O2\" style=\"width: 19px; height: 20px;\" width=\"19\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 76.2333px 8px; transform-origin: 76.2333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and the current storage \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAACR0lEQVRYR+1WPS9EQRTd7VVUag2JiMZHIgoSJFoJCoWIBIWIQsEPQKIQlY9K6SMKUSHRiMTHD6Cg0FAhQs85ydzN7Lx5b2aYzTbvJSfzdmfePfeeuXPvFAtVfIpV5C7k5FVRP5fdJfs0FowDHdrCG7zvqt9rGCeBfZchfd4ley0WXwGNwAMwB5wpA/0Yj4Aa9bsO43tMckYyDHwDrcCTYZwOnCrHmkKIudYV+Y8yyKjTjL9g7hIYiUkuUdFmFvk15o+BlZjkbTB2qxlsx/udhWBb7b3kgrcPLtkpab2y9oqxOTSpsjxxkXMf9zQDjG7AOzTHQhc5P5eMF1M8350xHPAhtzkQRQFfcpsDO/hz6j8KhJCThwWFR1CeUbUtf/IhlFwvtyS07T+TdB6QPsA1s0DimNrI2UTOAbOUSnTm+ddt8FvW/w3gA5jQlOIpKasFNnJWrHWHnPeYZ7PhozcU1oVuw3HZqkSS2shZz2eArYyNpIOUVS88zIUhwExCqRWJEm2Sc0/flDxZxeQLa9hKfY6c9Ahn5HozScvkRZAuA2yzvYCt3uuiMQ82gSWgrPmYkYth+Zg3lFWAl4QGJemCIqbEPs2EFbIF6FJ2So6Z5OxQnwDHPqAHYAJJc+G+nQCHHhGThA4/AolM52ToOdfl9HnP7PWVJKd6fFJLcKXImWTcMh7Z1EtlJcjlmj1oEPMYM+tLd73Y5FJQDkDybCTFGH6z5pfu9jHJWfMvALnHmwmZuIbFJPfJ/rI1OXmwZDE+yGWPoWKwjV+nF28phQ0YUgAAAABJRU5ErkJggg==\" alt=\"S2\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 249.317px 8px; transform-origin: 249.317px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn the Muskingum method, the storage, inflow, and outflow are further related by \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"S = K[XI + (1-X)O]\" style=\"width: 143px; height: 18.5px;\" width=\"143\" height=\"18.5\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 21.0083px 8px; transform-origin: 21.0083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewhere \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eK\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 185.917px 8px; transform-origin: 185.917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a time scale related to travel time in the river section and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eX\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 156.75px 8px; transform-origin: 156.75px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a weighting factor. Substituting this relation into the discretized form of conservation of mass and rearranging gives\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"O2 = C0 I2 + C1 I1 + C2 O1\" style=\"width: 152px; height: 20px;\" width=\"152\" height=\"20\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 19.0667px 8px; transform-origin: 19.0667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewhere\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 35.2px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 17.6px; text-align: left; transform-origin: 384px 17.6px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"C0 = (dt - 2KX)/(2K(1-X)+dt)\" style=\"width: 135px; height: 35px;\" width=\"135\" height=\"35\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 35.2px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 17.6px; text-align: left; transform-origin: 384px 17.6px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"C1 = (dt + 2KX)/(2K(1-X)+dt)\" style=\"width: 135px; height: 35px;\" width=\"135\" height=\"35\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 35.6px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 17.8px; text-align: left; transform-origin: 384px 17.8px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"C2 = (2K(1-X)-dt)/(2K(1-X)+dt)\" style=\"width: 135px; height: 35.5px;\" width=\"135\" height=\"35.5\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 66px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 33px; text-align: left; transform-origin: 384px 33px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 35.3917px 8px; transform-origin: 35.3917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eNotice that \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"C0+C1+C2 = 1\" style=\"width: 108px; height: 20px;\" width=\"108\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 289.742px 8px; transform-origin: 289.742px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. With the assumption that the first value of the outflow equals the first value of the inflow, this equation for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAoCAYAAACSN4jeAAACeklEQVRYR+1XPSiFURi+d1f+JhYDg0EW+VmslMiGTEr5mUwUgwyiGCSDn2RUlMHIakKKUgwMFiai7DxPnaP3nnu+73vPjXvFvfX0Hd93znmf87x/Rzr1S3/pX8orVSQW6pmiYv9esQ4oMAw0AvVCjVuMV4GNUIXc+aEx1owN1oBW4BRYAfbMpiRLUiT6BLQD97kSDCG2BCOTxtAMnoseoxV4dw1UGXINeL7kQk5LjKr0JZCy9qcxWDB/LOM59VPEJKktGBlNMESXHpk5dGn1TxAbw6brwojGNZIYl1bm4s44VzJeHoASQ2wATxvocSK4xLTrMvaMIyZdyAzsUp5cqkxj30qsFhveiSNEZaFPuU28HBEfWjA+D42zKMXczeuwsbYm3WCuLbrvGNcolVa5Um5ON7YpT8y4fBZzQ9aqiH2IWZoSYafLGsZ3ISGQSIxt50zMCgneR6xj1eePNcwtL+wePcLV+xiP+1zti7Fc091dR4OymTPLy4AdoByYMAS9cegj5saJVjEZl64StvnLkiP7apbLo7JSusQ9uS8PZIPn1acbkFnM7xeAW6Bt9mfFcRQxaYin7/exMe9kQfWRilmasnbUikmZuXFUvyPhbYBti6emIW294762u2QV4biWxLg4BOzdagjjY3N8fpsHGPDuhTFOIfcbQ+bE55Gk+xiV4zWnF+Ct1f5I5go4EGRDCHEuQ2AW8N50k4iFGtPOt6EivZCxtlDEWFrmgMhrVCGIkcwl4Puf4Uu1fBMjqVcTt9J1TKImSTafxFhMB4Fd4E2wKsWY/TMjCfJFzL3VuknCMtQpX+aLmDZbCxZjaoJFxdRSmYlFxf6MYp8ieIIpmC0ETQAAAABJRU5ErkJggg==\" alt=\"O2\" style=\"width: 19px; height: 20px;\" width=\"19\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 207.717px 8px; transform-origin: 207.717px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e can be used to compute the outflow hydrograph. The guideline for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAkCAYAAAAOwvOmAAACMElEQVRYR+1Vuy4FURS9tyeCSqWgIFFoPBLRkmglXh/gUSgUJHwACZUoPKIWfICEQilePQUFBRWJ0LNWcnayZ+acmT1zm5uYSVbu3DN777PO2o9TrdThU61DTpWSlDUrpVL/Uqk3nHoH2LCePo9dkZoawQbnwA/QmGczq20RUtcIPuA2mMLviXUzq11eUh0I/KSCP+K927qZx24Sa/fAs/6WlxRVGXMBGmpUqw/+t8AocFGUVAscP4AD4AtYdoFu8DuYUy0SugS+gR7gsyipTTguAL0ugE5jP9bujMQYRw5EhahU5LGmjyq9AFcqCFM54aJ5g8f2Yv0cApJ2/Zm1OSSKWUnNw2ELGAck/1ITErwTL5GCDSi3ivV1983rYyXFYck6ineaHg+stTlDCjnjOOsi6mg/CynKfgz4ZpJ8k5itkoIUcixupvAUoH/isZCiGk0elSQYVWxzf7LUktuA5sHBm0VK6mYNQUL3HOtt15HKunp05wVVzSLFDhsGErMkprmkhMtpB5AaTJ1taaTkSslKCYloBUJqyfClPTt5JVR3aaT24TQDcFhmtbreMFQvuikSV4smGCIlw/IIxpY2Z0w9TH0XNQ85C1DJdqDZxU4oFiIlA+4djq8hmWPr7NAutRbvrgf3ncN3GjgDFoHE9RQipdvcyClhFi/mX2dBFflsA3u+4D5SusWLEhI/fVGLUlR/yaXbGz9rJNRKqpB/ScoqW6lUqZRVAatdWVNWpf4AMMxqJZfZ0UIAAAAASUVORK5CYII=\" alt=\"dt\" style=\"width: 18.5px; height: 18px;\" width=\"18.5\" height=\"18\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 111.892px 8px; transform-origin: 111.892px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e above ensures that the coefficients \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAACVklEQVRYR+1XyysFURx290pYWVEsKErJo5SyYS3lUdYeC1kR/wBF1h4r2YiFskTZkUcKJTYWSnaU2PN9Nb86c8yZc87MvbcrM/V1Z+6cx3e+33NyZSV25UqMT1lGyGaRTKF/oVAVTjkEDAAtQI1y6i/cnwG3QAXQA3QD7zZl5L2PD5HIPDAFlAMXwBZwDDwFC07idyV4z7+OgH5XMhznSqgdY7eBRoAqLAJLho049iQgtYnfiXwTUjcgmcHg5HH7bODlODAC7OaTUD0Wu1FM4LpBH+YcAg2KOZ142Uz2EJiJi/nKT0KjgLND23xoGQNmg2PRVK2+p3WSRBsUp9CnYqo93A8n2cB3jokQw3dNWYyhyxAu+GUixMhg8uNFc9X6+kJS5iZCr1hQMvAj7puSbuA7z0ToW1mIGbnLd+Gk410I+YZ7FBeWHdUn6QLTwJU+2IVQWoVI5hlg0ZW8tIB7lp8OnZSJ0DkGdgbs0/qQBIgeqUwrL7p/mgjJCURR1xJANXYUJfj8FixSrUWqHDpE1ERIZGabwYstxZzFUTnnFGBXIJ2A1LQolaUShHw0LlOzyl8qJNgHrRtISR+ktyWyaRyhkI/aiitJHQBqTqIC10Al0AaMAR/ADKBncxdCIbI2QiIIFegFGK6qs9/heR9g1xhV1QtGyOI+xtcSHHEmS6RQUkJ5deqkJPR5UoZ095CwD3Whrj6UhlxcYmRybFb9rxiEJKfdY2Mp0uJbv3r0YhCiuvxYYI5ilPIjsg5YjUgTzt9laUzmNbdYCjmTygjZpMoU+nMK/QB7534p343IYgAAAABJRU5ErkJggg==\" alt=\"C0\" style=\"width: 18px; height: 20px;\" width=\"18\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAACBElEQVRYR+2WPSjGQRzHn2dXYjMZGBiUkiilLMxSXsooL5MMxGaiGIxeJlnEoIwoG3lJYWExWIxK7Hy/dVeXnvv/7nf/v3rKXX16/tzb975397tfuVRlpVxlekpJkLQjyaF/4VA9VjkMBkEbaHBW/YXvS/AAakEv6AHvkjO2XnOGKGQRzIAacA12wRl4MQNO43fd1PNfp2AgVAzbhQrqRNs90ALowgpY9UzEtudG1A5+p4oW5E5AMUNm5VnzbKNyEoyCgyIFNWGwe2cLQifoR58T0OxsZ5AuacuezDZxMK39FDQGgg+0dIbW0GDeLItb1a5dbZAlvxplOfTpbNUhvkdiJtD28Qni9d10BuPV5RX+8+ITxJvB4MfC7WrUnoVY5T5BbxjQRuBnfLfGTqDt5xP07QzEiNytHTi2fYgg7XXP0sKLsQHmQMWAGSKoCIcYKBnhGb1ZvAHWJ+gKnbpM5yLOEJ+fW2DHVQtaQmc+oLaEPgHMCPaBL0JHC+LAr4BpBgtTigXhoLLPBWBW4MsEogVxbtp844hgHrTlEWXzoKy0hF1zCbKijvHhxiQ6cAfqQAcYBx9gFkjRPLcgawgd6AOM2O5hf8TfR4BZY8irXpgg4fgEVydBklXJIckhmxKrI7U0sLaeMW0C2LeMz9FypdspJfnaiXO3T4IkC5NDySHJAan+BzypZynpHrrjAAAAAElFTkSuQmCC\" alt=\"C1\" style=\"width: 18px; height: 20px;\" width=\"18\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.5px 8px; transform-origin: 17.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAACaElEQVRYR+2XyytFURTG750rMTMyYEAhJVGiTCgzKY8ykIHHQDIg/AEUIyOPkUw8BsoQZUYeKUwYMDBhRmLO99XZt9U5Z9+997n3nm45u37d0zn78e219lp73XSqyFq6yPSkEkEmjyQW+hcWKscu+0EvqAcVYtc/eL4A96AUdIA28GGyjPrucoYoZB5MghJwBbbBKXjxJpzA76r3na9OQLetGPazFdSMvjugBtAKS2BZsxD7nnmitvA7nm9BcgGK6fN2nm2dTXwcA4NgP5+CqjDZnXCB7QJdGHMMqoU7rXSZXPbouYmTuZqfgoaA9YE2naEVdJj1tkVXNbru1sokvk7ZLPQtXHWA54EoC7iO0Qli+K6LyRi6DOGCN50gRgaTHxvdVel6FqIq1wl6w4QqAz/huTbqAq7jdIJ+xUTMyK2uE0ftbyPINdzDtDAgZkCL95GbnAI3/s42gnK1EANkGqyBTzAKmDjZAsGiE3QpdpPrGeJ5bAfqAqYQJk2KCly+OkEL6MwLVDXbK4AVwS5QGZqL8u7zX7B04R4IbFYniBO/ApYZbCwp5oTAsEeOOQesCnSVgBqn7jprC3Egb/lrsTLroA2NKFUHZStL5FCVeBf94k2XK0UdAZmTaIFbUAaawDD4Ajy4ttmcibcBBKpJkyC1K+6oEzBjq9Cl/x/AIWDVaHurs6R5BqHXka0gjacivWYE0+qh5yxuQawk2bRlbZyClNsZHFr3xiWIYkZAj08MUwXLnEytFYcglQRZ5DG3ycYI5R2X+SNQaEHyH0tYBLzjZZ20WqEFOYdhIshkssRCiYVMFjB9/wNeiG0p2l1pygAAAABJRU5ErkJggg==\" alt=\"C2\" style=\"width: 18px; height: 20px;\" width=\"18\" height=\"20\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 39.675px 8px; transform-origin: 39.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are positive.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [t2,O,dtOK] = Muskingum(t,I,K,X,dt)\r\n  y = x;\r\nend","test_suite":"%%  Chin example 5.38\r\nK = 40;         %  Time parameter (min)\r\nX = 0.2;        %  Weighting parameter \r\ndt = 30;        %  Time step (min)\r\nt = 0:30:600;   %  Time (min)\r\nI = [10 10 25 45 31.3 27.5 25 23.8 21.3 19.4 17.5 16.3 13.5 12.1 10 10 10 10 10 10 10];   %  Inflow (m3/s)\r\nt_correct = 0:dt:600;   %  Correct time (min)\r\nO_correct = [10 10.000 12.234 23.361 35.133 32.120 28.799 26.195 24.294 22.100 20.094 18.259 16.592 14.410 12.623 10.949 10.343 10.124 10.045 10.016 10.006];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n\r\n%%  Chin example 5.39\r\nK = 0.604;      %  Time parameter (h)\r\nX = 0.102;      %  Weighting parameter \r\ndt = 0.5;       %  Time step (h)\r\nt = 0:0.5:8;    %  Time (h)\r\nI = [42.4 46.3 51.8 56.2 57.6 65.1 80.3 90.6 103.2 81.5 78.3 65.8 59.6 56.3 50.8 53.1 50.7];   %  Inflow (m3/s)\r\nt_correct = 0:dt:8;   %  Correct time (min)\r\nO_correct = [42.400 43.327 46.510 50.893 54.574 58.266 66.191 77.540 88.774 92.714 84.880 77.757 68.741 62.190 57.167 53.698 52.750];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c5e-3))\r\n\r\n%%  Gupta example 12.7\r\nK = 3.07;       %  Time parameter (h)\r\nX = 0.39;       %  Weighting parameter \r\ndt = 12;        %  Time step (h)\r\nt = 12:12:120;  %  Time (h)\r\nI = [100 300 680 500 400 310 230 180 100 50];   %  Inflow (cfs)\r\nt_correct = 12:dt:120;   %  Correct time (h)\r\nO_correct = [100 222 573 626 373 359 235 197 123 58];  %  Outflow (cfs)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(~dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c0.6))\r\n\r\n%%  Homework problem 44a\r\nK = 35;         %  Time parameter (min)\r\nX = 0.3;        %  Weighting parameter \r\ndt = 30;        %  Time step (min)\r\nt = 0:30:540;   %  Time (min)\r\nI = [5 17.5 27.1 20.4 18.6 17.4 16.7 15.8 14.9 13.4 13.1 12.5 9.2 5 5 5 5 5 5];   %  Inflow (m3/s)\r\nt_correct = 0:dt:540;   %  Correct time (min)\r\nO_correct = [5.000 6.424 15.930 23.650 20.977 19.035 17.713 16.841 15.948 14.981 13.746 13.187 12.289 9.465 6.074 5.258 5.062 5.015 5.004];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n\r\n%%  Homework problem 44b1\r\nK = 35;         %  Time parameter (min)\r\nX = 0.3;        %  Weighting parameter \r\ndt = 35;        %  Time step (min)\r\nt = 0:30:540;   %  Time (min)\r\nI = [5 17.5 27.1 20.4 18.6 17.4 16.7 15.8 14.9 13.4 13.1 12.5 9.2 5 5 5 5 5 5];   %  Inflow (m3/s)\r\nt_correct = 0:dt:540;   %  Correct time (min)\r\nO_correct = [5 7.350 18.103 22.845 19.774 17.965 16.839 15.781 14.614 13.436 12.489 9.898 6.283 5.214 5.036 5.006];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n\r\n%%  Homework problem 44b2\r\nK = 35;         %  Time parameter (min)\r\nX = 0.3;        %  Weighting parameter \r\ndt = 10;        %  Time step (min)\r\nt = 0:30:540;   %  Time (min)\r\nI = [5 17.5 27.1 20.4 18.6 17.4 16.7 15.8 14.9 13.4 13.1 12.5 9.2 5 5 5 5 5 5];   %  Inflow (m3/s)\r\nt_correct = 0:dt:540;   %  Correct time (min)\r\nO_correct = [5.000 4.223 5.122 7.129 10.048\t13.062 16.139 20.271 22.245 22.793 22.094 21.428 20.785 20.119 19.543 19.027 18.519 18.104 17.751 17.450 17.150 16.850 16.550 16.250 15.950 15.687 15.344 14.948 14.442 14.073 13.796 13.597 13.398 13.199 13.167 12.773 12.140 11.404 10.444 9.334 7.865 6.894 6.252 5.827 5.547 5.362 5.239 5.158 5.104 5.069 5.046 5.030 5.020 5.013 5.009];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(~dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n\r\n%%  Homework problem 44c\r\nK = 35;         %  Time parameter (min)\r\nX = 0.6;        %  Weighting parameter \r\ndt = 45;        %  Time step (min)\r\nt = 0:30:540;   %  Time (min)\r\nI = [5 17.5 27.1 20.4 18.6 17.4 16.7 15.8 14.9 13.4 13.1 12.5 9.2 5 5 5 5 5 5];   %  Inflow (m3/s)\r\nt_correct = 0:dt:540;   %  Correct time (min)\r\nO_correct = [5 5.711 26.085 18.977 17.719 16.407 15.024 12.997 12.606 8.234 4.247 5.175 4.959];  %  Outflow (m3/s)\r\n[t2,O,dtOK] = Muskingum(t,I,K,X,dt);\r\nassert(~dtOK)\r\nassert(all(abs(t2-t_correct)\u003c1e-3))\r\nassert(all(abs(O-O_correct)\u003c1e-3))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2023-04-02T23:02:55.000Z","deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-04-02T16:23:33.000Z","updated_at":"2024-11-11T12:36:59.000Z","published_at":"2023-04-02T16:31:14.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eProblem statement \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\u003eWrite a function that routes a hydrograph through a river section using the Muskingum method. The input to the function will be the inflow hydrograph \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"I(t)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eI(t)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the times \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"t\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at which the hydrograph is reported, the routing parameters \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"K\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eK\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"X\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eX\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and the desired time step \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"dt\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\Delta t\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. If the desired time step differs from the time step in the given inflow hydrograph, use linear interpolation to get the inflow hydrograph onto the new time base. Return the time base of the outflow hydrograph, the outflow hydrograph \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O(t)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO(t)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and a Boolean flag that says whether the time step is within the guidelines \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"2KX \u0026lt;= dt \u0026lt; 2K(1-X)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e2KX \\\\le \\\\Delta t \\\\le 2K(1-X)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBonus points to anyone who can solve this problem using the FILTER command. \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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eBackground\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\u003eHydrologic routing is used to predict the movement of a flood wave in a river. The Muskingum method is an example of hydrologic routing, in which the inflow \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"I\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eI\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and outflow \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e are connected to the storage \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"S\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e in a channel section through a conservation of mass (or volume), which states that the rate of change of storage is the difference between the inflow and outflow:\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"dS/dt = I - O\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\frac{dS}{dt} = I-O\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003eThis equation is written in discretized form as \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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"(S2-S1)/dt = (I1+I2)/2-(O1+O2)/2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\frac{S_2 – S_1}{\\\\Delta t} = \\\\frac{I_1+I_2}{2} - \\\\frac{O_1+O_2}{2}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003ewhere subscripts 1 and 2 denote the previous and current time steps, respectively. In applications, the inflow hydrograph (or flow as a function of time) is known, and we assume that everything at the previous time step is known. That assumption leaves two unknowns, the current outflow \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO_2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and the current storage \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"S2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS_2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn the Muskingum method, the storage, inflow, and outflow are further related by \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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"S = K[XI + (1-X)O]\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS = K[XI+(1-X)O]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003ewhere \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"K\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eK\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is a time scale related to travel time in the river section and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"X\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eX\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is a weighting factor. Substituting this relation into the discretized form of conservation of mass and rearranging gives\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O2 = C0 I2 + C1 I1 + C2 O1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO_2 = C_0 I_2 + C_1 I_1 + C_2 O_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003ewhere\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C0 = (dt - 2KX)/(2K(1-X)+dt)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_0 = \\\\frac{\\\\Delta t – 2KX}{2K(1-X)+\\\\Delta t}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C1 = (dt + 2KX)/(2K(1-X)+dt)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_1 = \\\\frac{\\\\Delta t + 2KX}{2K(1-X)+\\\\Delta t}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C2 = (2K(1-X)-dt)/(2K(1-X)+dt)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_2 = \\\\frac{2K(1-X)-\\\\Delta t}{2K(1-X)+\\\\Delta t}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\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\u003eNotice that \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C0+C1+C2 = 1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_0+C_1+C_2 = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. With the assumption that the first value of the outflow equals the first value of the inflow, this equation for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"O2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eO_2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e can be used to compute the outflow hydrograph. The guideline for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"dt\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\Delta t\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e above ensures that the coefficients \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"C2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e are positive.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":909,"title":"Image Processing 003: Interferometer Data Interpolation","description":"This Challenge is to correct a 2-D Interferometer data set for drop-outs.\r\n\r\nInterferometer data is notorious for drop-outs which result in values of zero.\r\n\r\nExamples of Pre and Post WFE drop-out correction:\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Inter_2D_Drop_250.jpg\u003e\u003e\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Inter_2D_Fix_250.jpg\u003e\u003e\r\n\r\n*surf layed flat*\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Inter_3D_Drop_250.jpg\u003e\u003e\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Inter_3D_Fix_250.jpg\u003e\u003e\r\n\r\n*3-D surf*\r\n\r\n\u003c\u003chttps://sites.google.com/site/razapor/matlab_cody/Challenge_WF_500.jpg\u003e\u003e\r\n\r\n*Challenge WFE :Pre Drop-Out insertion*\r\n\r\n\r\n*Input:* \r\n\r\n2-D square array representing surface z-values(NaNs in WFE array)\r\n\r\nCorrupted data points(Drop-Outs) are represented by having the value 0.000\r\n\r\n*Output:*\r\n\r\nsame size 2-D square array as input with Drop-Outs corrected, approximately. \r\n\r\n*Hint:* \r\n\r\nTriScatteredInterp allows for interpolation onto a grid given a non-grid set of (x,y,z) points.  \r\n\r\n*Follow-Up:* Re-sampling to a grid, Convolving with an Optical Transfer Function and finally Calculating MTF","description_html":"\u003cp\u003eThis Challenge is to correct a 2-D Interferometer data set for drop-outs.\u003c/p\u003e\u003cp\u003eInterferometer data is notorious for drop-outs which result in values of zero.\u003c/p\u003e\u003cp\u003eExamples of Pre and Post WFE drop-out correction:\u003c/p\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Inter_2D_Drop_250.jpg\"\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Inter_2D_Fix_250.jpg\"\u003e\u003cp\u003e\u003cb\u003esurf layed flat\u003c/b\u003e\u003c/p\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Inter_3D_Drop_250.jpg\"\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Inter_3D_Fix_250.jpg\"\u003e\u003cp\u003e\u003cb\u003e3-D surf\u003c/b\u003e\u003c/p\u003e\u003cimg src=\"https://sites.google.com/site/razapor/matlab_cody/Challenge_WF_500.jpg\"\u003e\u003cp\u003e\u003cb\u003eChallenge WFE :Pre Drop-Out insertion\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e\u003c/p\u003e\u003cp\u003e2-D square array representing surface z-values(NaNs in WFE array)\u003c/p\u003e\u003cp\u003eCorrupted data points(Drop-Outs) are represented by having the value 0.000\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e\u003c/p\u003e\u003cp\u003esame size 2-D square array as input with Drop-Outs corrected, approximately.\u003c/p\u003e\u003cp\u003e\u003cb\u003eHint:\u003c/b\u003e\u003c/p\u003e\u003cp\u003eTriScatteredInterp allows for interpolation onto a grid given a non-grid set of (x,y,z) points.\u003c/p\u003e\u003cp\u003e\u003cb\u003eFollow-Up:\u003c/b\u003e Re-sampling to a grid, Convolving with an Optical Transfer Function and finally Calculating MTF\u003c/p\u003e","function_template":"function out = Fix_interferometer(z)\r\n% z is square with a linear square grid\r\n% w=size(z,1) % for square data set\r\n% [xmesh ymesh]=meshgrid(1:w);\r\n% xyz(:,1),xyz(:,2) are subsets of xmesh,ymesh\r\n% size of xyz is [z_nonzero_values,3], [xmesh_subset ymesh_subset z~=0] \r\n% FZ=TriScatteredInterp(xyz(:,1),xyz(:,2),xyz(:,3),'mode');%linear natural\r\n% out=FZ(xmesh,ymesh);\r\n\r\n  out = z;\r\nend","test_suite":"w=100;\r\n[xm ym]=meshgrid(1:w);\r\n% simple ellipsoid\r\nz(xm(:)+(ym(:)-1)*w)=sqrt(1-(xm(:)/142).^2-(ym(:)/142).^2);\r\nz=reshape(z,w,w);\r\nz_orig=z; % used for performance check\r\n%figure(42);surf(z,'LineStyle','none')\r\n\r\n% or ellipsoid by for loops\r\n%for i=1:w\r\n% for j=1:w\r\n%  z(i,j)=sqrt(1-(i/142)^2-(j/142)^2);\r\n% end\r\n%end\r\n\r\nz(50,50)=0;\r\n%figure(43);surf(z,'LineStyle','none')\r\n\r\ntic\r\nout = Fix_interferometer(z);\r\ntoc\r\ndelta=abs(out-z_orig);\r\n\r\nfprintf('Max delta=%e\\n',max(delta(:)))\r\n\r\nassert(max(delta(:))\u003c1e-4,sprintf('Max delta=%f\\n',max(delta(:))))\r\n%%\r\n% Load a real Interferometry Profile\r\n%   Previously TriScatteredInterp corrected\r\n% Randomly induce Drop-Outs\r\n\r\ntic\r\nurlwrite('http://tinyurl.com/matlab-interferometer','Inter_zN.mat')\r\nload Inter_zN.mat\r\ntoc\r\n\r\nzN_orig=zN;\r\n%figure(44);surf(zN_orig,'LineStyle','none')\r\n\r\nzN_idx=find(~isnan(zN));\r\n\r\nfor i=1:20\r\n zN(zN_idx(randi(size(zN_idx,1))))=0;\r\nend\r\n%figure(45);surf(zN,'LineStyle','none')\r\n\r\ntic\r\nout = Fix_interferometer(zN);\r\ntoc\r\ndelta=abs(out-zN_orig);\r\n\r\nfprintf('Max delta=%e\\n',max(delta(:)))\r\n\r\n% Threshold based on a handful of test cases\r\nassert(max(delta(:))\u003c5e-7,sprintf('Max delta=%f\\n',max(delta(:))))\r\n\r\n\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":4,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":0,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2012-08-13T02:35:40.000Z","updated_at":"2026-03-29T19:25:41.000Z","published_at":"2012-10-13T21:05:14.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\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.JPEG\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/media/image2.JPEG\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId3\",\"target\":\"/media/image3.JPEG\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId4\",\"target\":\"/media/image4.JPEG\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId5\",\"target\":\"/media/image5.JPEG\"}],\"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 Challenge is to correct a 2-D Interferometer data set for drop-outs.\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\u003eInterferometer data is notorious for drop-outs which result in values of zero.\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\u003eExamples of Pre and Post WFE drop-out correction:\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\u003esurf layed flat\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId3\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId4\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\u003e3-D surf\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId5\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\u003eChallenge WFE :Pre Drop-Out insertion\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\u003eInput:\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\u003e2-D square array representing surface z-values(NaNs in WFE array)\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\u003eCorrupted data points(Drop-Outs) are represented by having the value 0.000\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\u003eOutput:\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\u003esame size 2-D square array as input with Drop-Outs corrected, approximately.\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\u003eHint:\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\u003eTriScatteredInterp allows for interpolation onto a grid given a non-grid set of (x,y,z) points.\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\u003eFollow-Up:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Re-sampling to a grid, Convolving with an Optical Transfer Function and finally Calculating MTF\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\"},{\"partUri\":\"/media/image1.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,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\"},{\"partUri\":\"/media/image2.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,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\"},{\"partUri\":\"/media/image3.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,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\"},{\"partUri\":\"/media/image4.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,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\"},{\"partUri\":\"/media/image5.JPEG\",\"contentType\":\"image/JPEG\",\"content\":\"data:image/JPEG;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAGqAfADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA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\"}]}"},{"id":970,"title":"Piecewise linear interpolation","description":"Given an Mx2 vector and a row of M-1 integers, output a two column vector that linearly interpolates Y times between each successive pair of values in X.  Any consecutive duplicate points are to be removed.\r\n\r\nFor example\r\n\r\n  x = [1 1 ; 3 0 ; 1 1]\r\n  y = [5 3]\r\n\r\nYour output will be a two column vector that interpolates 5 times between [1 1] and [3 0] (including the boundaries in those five points), and then 3 times between [3 0] and [1 1].  The output should be:\r\n\r\n   1   1\r\n   1.5 0.75\r\n   2   0.5\r\n   2.5 0.25\r\n   3   0\r\n   2   0.5\r\n   1   1\r\n\r\nThere are Y(1)=5 points between the first two coordinate pairs of X [(1,1) and (3,0)], and Y(2)=3 points between the second and third coordinate pairs of X [(3,0) and (2 0.5)].  Notice that there is only one output point for (3,0).\r\n\r\nYou can assume that there will be no complex numbers, Inf, or NaN in x, and Y\u003e=3 for all values of Y.  Good luck!","description_html":"\u003cp\u003eGiven an Mx2 vector and a row of M-1 integers, output a two column vector that linearly interpolates Y times between each successive pair of values in X.  Any consecutive duplicate points are to be removed.\u003c/p\u003e\u003cp\u003eFor example\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ex = [1 1 ; 3 0 ; 1 1]\r\ny = [5 3]\r\n\u003c/pre\u003e\u003cp\u003eYour output will be a two column vector that interpolates 5 times between [1 1] and [3 0] (including the boundaries in those five points), and then 3 times between [3 0] and [1 1].  The output should be:\u003c/p\u003e\u003cpre\u003e   1   1\r\n   1.5 0.75\r\n   2   0.5\r\n   2.5 0.25\r\n   3   0\r\n   2   0.5\r\n   1   1\u003c/pre\u003e\u003cp\u003eThere are Y(1)=5 points between the first two coordinate pairs of X [(1,1) and (3,0)], and Y(2)=3 points between the second and third coordinate pairs of X [(3,0) and (2 0.5)].  Notice that there is only one output point for (3,0).\u003c/p\u003e\u003cp\u003eYou can assume that there will be no complex numbers, Inf, or NaN in x, and Y\u0026gt;=3 for all values of Y.  Good luck!\u003c/p\u003e","function_template":"function out=tracers(x,y)\r\n\r\n% x is an Mx2 vector, and y is a row of M-1 numbers.\r\n% Tracers linearly interpolates y(1) points between x(1,:) and x(2,:),\r\n% followed by y(2) points between x(2,:) and x(3,:), and so on...\r\n% The resultant output is a two column vector with consecutive\r\n% duplicate points are removed.\r\n\r\nout=3\r\n\r\nend","test_suite":"%%\r\nx=[1 1 ; 3 0 ; 1 1];\r\ny=[5 3];\r\ny_correct=[1 1 ; 1.5 0.75 ; 2 0.5 ; 2.5 0.25 ; 3 0 ; 2 0.5 ; 1 1];\r\nassert(all(all(abs(tracers(x,y)-y_correct)\u003c1e-9)))\r\n%%\r\nx=[1 1 ; 2 3 ; 4 2 ; 5 -2];\r\ny=[6 5 3];\r\ny_correct=[1 1 ; 1.2 1.4 ; 1.4 1.8 ; 1.6 2.2 ; 1.8 2.6 ; 2 3 ; 2.5 2.75 ; 3 2.5 ; 3.5 2.25 ; 4 2 ; 4.5 0 ; 5 -2];\r\nassert(all(all(abs(tracers(x,y)-y_correct)\u003c1e-9)))\r\n%%\r\na=ceil(100*rand)+10;\r\nx=[0 0 ; a a];\r\ny=a+1;\r\ny_correct=[0:a ; 0:a]';\r\nassert(all(all(abs(tracers(x,y)-y_correct)\u003c1e-9)))","published":true,"deleted":false,"likes_count":9,"comments_count":3,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":616,"test_suite_updated_at":"2018-04-10T19:49:22.000Z","rescore_all_solutions":true,"group_id":12,"created_at":"2012-10-03T16:25:33.000Z","updated_at":"2026-04-01T14:23:33.000Z","published_at":"2012-10-03T16:31:44.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 Mx2 vector and a row of M-1 integers, output a two column vector that linearly interpolates Y times between each successive pair of values in X. Any consecutive duplicate points are to be removed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x = [1 1 ; 3 0 ; 1 1]\\ny = [5 3]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour output will be a two column vector that interpolates 5 times between [1 1] and [3 0] (including the boundaries in those five points), and then 3 times between [3 0] and [1 1]. The output should be:\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[   1   1\\n   1.5 0.75\\n   2   0.5\\n   2.5 0.25\\n   3   0\\n   2   0.5\\n   1   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\u003eThere are Y(1)=5 points between the first two coordinate pairs of X [(1,1) and (3,0)], and Y(2)=3 points between the second and third coordinate pairs of X [(3,0) and (2 0.5)]. Notice that there is only one output point for (3,0).\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 can assume that there will be no complex numbers, Inf, or NaN in x, and Y\u0026gt;=3 for all values of Y. Good luck!\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":652,"title":"Put two time series onto the same time basis","description":"Use interpolation to align two time series onto the same time vector.\r\n\r\nThis is a problem that comes up in \u003chttp://www.mathworks.com/matlabcentral/trendy/plots Trendy\u003e whenever you want to do mathematical operations on two trends (see for example the \u003chttp://www.mathworks.com/matlabcentral/trendy/plots/763 Ramen-to-Sushi Index\u003e).\r\n\r\nGiven two time series defined by the vector pairs (t1,d1) and (t2,d2), come up with a single new time vector tn such that (tn,d1n) and (tn,d2n) form consistent vector pairs.\r\n\r\nSpecifically, the new time vector should extend only to portions covered by both series (i.e. no extrapolation). Within this common interval, tn should contain all the time points from both time vectors. With this new time basis, use linear interpolation to generate two new data series.\r\n\r\nExample 1:\r\n\r\n t1 = [1 3 5]\r\n d1 = [2 4 2]\r\n t2 = [2 4]\r\n d2 = [1 5]\r\n\r\n tn =  [2 3 4]\r\n d1n = [3 4 3]\r\n d2n = [1 3 5]\r\n\r\nExample 2:\r\n\r\n t1 = [1 2 3 4 5]\r\n d1 = [2 3 5 6 3]\r\n t2 = [2 3.5 4 4.5 5 6]\r\n d2 = [3 9   8 2   0 1]\r\n \r\n tn  = [2 3 3.5 4 4.5 5]\r\n d1n = [3 5 5.5 6 4.5 3]\r\n d2n = [3 7 9   8 2   0]","description_html":"\u003cp\u003eUse interpolation to align two time series onto the same time vector.\u003c/p\u003e\u003cp\u003eThis is a problem that comes up in \u003ca href=\"http://www.mathworks.com/matlabcentral/trendy/plots\"\u003eTrendy\u003c/a\u003e whenever you want to do mathematical operations on two trends (see for example the \u003ca href=\"http://www.mathworks.com/matlabcentral/trendy/plots/763\"\u003eRamen-to-Sushi Index\u003c/a\u003e).\u003c/p\u003e\u003cp\u003eGiven two time series defined by the vector pairs (t1,d1) and (t2,d2), come up with a single new time vector tn such that (tn,d1n) and (tn,d2n) form consistent vector pairs.\u003c/p\u003e\u003cp\u003eSpecifically, the new time vector should extend only to portions covered by both series (i.e. no extrapolation). Within this common interval, tn should contain all the time points from both time vectors. With this new time basis, use linear interpolation to generate two new data series.\u003c/p\u003e\u003cp\u003eExample 1:\u003c/p\u003e\u003cpre\u003e t1 = [1 3 5]\r\n d1 = [2 4 2]\r\n t2 = [2 4]\r\n d2 = [1 5]\u003c/pre\u003e\u003cpre\u003e tn =  [2 3 4]\r\n d1n = [3 4 3]\r\n d2n = [1 3 5]\u003c/pre\u003e\u003cp\u003eExample 2:\u003c/p\u003e\u003cpre\u003e t1 = [1 2 3 4 5]\r\n d1 = [2 3 5 6 3]\r\n t2 = [2 3.5 4 4.5 5 6]\r\n d2 = [3 9   8 2   0 1]\u003c/pre\u003e\u003cpre\u003e tn  = [2 3 3.5 4 4.5 5]\r\n d1n = [3 5 5.5 6 4.5 3]\r\n d2n = [3 7 9   8 2   0]\u003c/pre\u003e","function_template":"function [tn,d1n,d2n] = align_time_series(t1,d1,t2,d2)\r\n  tn = 0;\r\n  d1n = 0;\r\n  d2n = 0;\r\nend","test_suite":"%%\r\nt1 = [1 2 3 4 5];\r\nd1 = [2 3 5 6 3];\r\nt2 = [2 3.5 4 4.5 5 6];\r\nd2 = [3 9 8 2 0 1];\r\n[tn,d1n,d2n] = align_time_series(t1,d1,t2,d2);\r\ntnc  = [2 3 3.5 4 4.5 5];\r\nd1nc = [3 5 5.5 6 4.5 3];\r\nd2nc = [3 7 9 8 2 0];\r\n\r\nassert(isequal(tn,tnc))\r\nassert(isequal(d1n,d1nc))\r\nassert(isequal(d2n,d2nc))\r\n\r\n%%\r\n\r\nt1 = [1 3 5];\r\nd1 = [2 4 2];\r\nt2 = [2 4];\r\nd2 = [1 5];\r\n[tn,d1n,d2n] = align_time_series(t1,d1,t2,d2);\r\ntnc =  [2 3 4];\r\nd1nc = [3 4 3];\r\nd2nc = [1 3 5];\r\n\r\nassert(isequal(tn,tnc))\r\nassert(isequal(d1n,d1nc))\r\nassert(isequal(d2n,d2nc))\r\n\r\n%%\r\n\r\nt1 = 0:2:20;\r\nd1 = t1.^2 - 12;\r\nt2 = [2 3 5 7 11 13 17 19];\r\nd2 = 4*t2 - 6;\r\n[tn,d1n,d2n] = align_time_series(t1,d1,t2,d2);\r\ntnc =  [2 3 4 5 6 7 8 10 11 12 13 14 16 17 18 19];\r\nd1nc = [-8 -2 4 14 24 38 52 88 110 132 158 184 244 278 312 350];\r\nd2nc = [2 6 10 14 18 22 26 34 38 42 46 50 58 62 66 70];\r\n\r\nassert(isequal(tn,tnc))\r\nassert(isequal(d1n,d1nc))\r\nassert(isequal(d2n,d2nc))\r\n\r\n%%\r\n\r\nt1 = [1 3 5 6 7 8 9];\r\nd1 = [2 4 2 1 1 1 1];\r\nt2 = [2 4];\r\nd2 = [1 5];\r\n[tn,d1n,d2n] = align_time_series(t1,d1,t2,d2);\r\ntnc =  [2 3 4];\r\nd1nc = [3 4 3];\r\nd2nc = [1 3 5];\r\n\r\nassert(isequal(tn,tnc))\r\nassert(isequal(d1n,d1nc))\r\nassert(isequal(d2n,d2nc))\r\n","published":true,"deleted":false,"likes_count":6,"comments_count":4,"created_by":7,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":350,"test_suite_updated_at":"2012-05-04T14:23:48.000Z","rescore_all_solutions":false,"group_id":12,"created_at":"2012-05-03T14:53:17.000Z","updated_at":"2026-02-10T12:13:03.000Z","published_at":"2012-05-03T15:52:48.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\u003eUse interpolation to align two time series onto the same time vector.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis is a problem that comes up in\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/trendy/plots\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTrendy\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e whenever you want to do mathematical operations on two trends (see for example the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/trendy/plots/763\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eRamen-to-Sushi Index\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\u003eGiven two time series defined by the vector pairs (t1,d1) and (t2,d2), come up with a single new time vector tn such that (tn,d1n) and (tn,d2n) form consistent vector pairs.\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\u003eSpecifically, the new time vector should extend only to portions covered by both series (i.e. no extrapolation). Within this common interval, tn should contain all the time points from both time vectors. With this new time basis, use linear interpolation to generate two new data series.\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[ t1 = [1 3 5]\\n d1 = [2 4 2]\\n t2 = [2 4]\\n d2 = [1 5]\\n\\n tn =  [2 3 4]\\n d1n = [3 4 3]\\n d2n = [1 3 5]]]\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[ t1 = [1 2 3 4 5]\\n d1 = [2 3 5 6 3]\\n t2 = [2 3.5 4 4.5 5 6]\\n d2 = [3 9   8 2   0 1]\\n\\n tn  = [2 3 3.5 4 4.5 5]\\n d1n = [3 5 5.5 6 4.5 3]\\n d2n = [3 7 9   8 2   0]]]\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":43648,"title":"Arc length of points interpolation","description":"Given a n by m matrix representing m vectors in n dimensions. Calculate the \u003chttps://en.wikipedia.org/wiki/Arc_length arc length\u003e of the closed loop curve going though these points in the order that they are given. The parametric curve, |c(t)| , between points |p(k)| and |p(k+1)| is defined as,\r\n\r\n|c(t) = p(k-1) * (-t/2+t^2-t^3/2) + p(k) * (1-5/2*t^2+3/2*t^3) + p(k+1) * (t/2+2*t^2-3/2*t^3) + p(k+2) * (-t^2/2+t^3/2)|,\r\n\r\nwhere |t| goes from 0 to 1. These interpolation polynomials can also be found using the constraints |c(0)=p(k)|, |c(1)=p(k+1)|, |c'(0)=(p(k+1)-p(k-1))/2| and |c'(1)=(p(k+2)-p(k))/2|.\r\n\r\nFor example for the points\r\n\r\n  points = [[1; 0] [0; 1] [-1; 0] [0; -1]];\r\n\r\nwould yield to following curve: \r\n\r\n\u003c\u003chttp://i.imgur.com/CIb8jFU.png\u003e\u003e","description_html":"\u003cp\u003eGiven a n by m matrix representing m vectors in n dimensions. Calculate the \u003ca href = \"https://en.wikipedia.org/wiki/Arc_length\"\u003earc length\u003c/a\u003e of the closed loop curve going though these points in the order that they are given. The parametric curve, \u003ctt\u003ec(t)\u003c/tt\u003e , between points \u003ctt\u003ep(k)\u003c/tt\u003e and \u003ctt\u003ep(k+1)\u003c/tt\u003e is defined as,\u003c/p\u003e\u003cp\u003e\u003ctt\u003ec(t) = p(k-1) * (-t/2+t^2-t^3/2) + p(k) * (1-5/2*t^2+3/2*t^3) + p(k+1) * (t/2+2*t^2-3/2*t^3) + p(k+2) * (-t^2/2+t^3/2)\u003c/tt\u003e,\u003c/p\u003e\u003cp\u003ewhere \u003ctt\u003et\u003c/tt\u003e goes from 0 to 1. These interpolation polynomials can also be found using the constraints \u003ctt\u003ec(0)=p(k)\u003c/tt\u003e, \u003ctt\u003ec(1)=p(k+1)\u003c/tt\u003e, \u003ctt\u003ec'(0)=(p(k+1)-p(k-1))/2\u003c/tt\u003e and \u003ctt\u003ec'(1)=(p(k+2)-p(k))/2\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eFor example for the points\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003epoints = [[1; 0] [0; 1] [-1; 0] [0; -1]];\r\n\u003c/pre\u003e\u003cp\u003ewould yield to following curve:\u003c/p\u003e\u003cimg src = \"http://i.imgur.com/CIb8jFU.png\"\u003e","function_template":"function dist = arcLength(points)\r\n    dist = 1;\r\nend","test_suite":"%%\r\npoints = [[1; 0] [0; 1] [-1; 0] [0; -1]];\r\ndist_correct = 5.945066529883204;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\npoints = eye(2);\r\ndist_correct = 2 * sqrt(2);\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\npoints = [cos(2*pi/500*(1:500)); sin(2*pi/500*(1:500))];\r\ndist_correct = 6.283185305221142;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\npoints = [[0 0 0]' [1 0 0]' [1 0 1]' [0 0 1]' [0 1 1]' [1 1 1]' [1 1 0]' [0 1 0]'];\r\ndist_correct = 8.367321074314315;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\npoints = [6 -8 -7 -7 3 5;8 -4 9 -1 -9 5;-7 1 9 8 7 -2;8 9 0 6 8 3;3 9 6 9 3 -6];\r\ndist_correct = 101.32625280165301;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)\r\n\r\n%%\r\nw = 0.887321243287836;\r\npoints = [-w  0  w  1 1 1 w 0 -w -1 -1 -1; -1 -1 -1 -w 0 w 1 1  1  w  0 -w];\r\ndist_correct = 8;\r\nassert(abs(arcLength(points) - dist_correct) \u003c 1e-6)","published":true,"deleted":false,"likes_count":0,"comments_count":3,"created_by":40782,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2016-12-14T19:45:19.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2016-10-30T02:02:55.000Z","updated_at":"2016-12-14T19:45:19.000Z","published_at":"2016-10-30T02:03:39.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\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"}],\"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 a n by m matrix representing m vectors in n dimensions. Calculate the\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=\\\"https://en.wikipedia.org/wiki/Arc_length\\\"\u003e\u003cw:r\u003e\u003cw:t\u003earc length\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e of the closed loop curve going though these points in the order that they are given. The parametric curve,\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\u003ec(t)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e , between points\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\u003ep(k)\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ep(k+1)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is defined as,\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ec(t) = p(k-1) * (-t/2+t^2-t^3/2) + p(k) * (1-5/2*t^2+3/2*t^3) + p(k+1) * (t/2+2*t^2-3/2*t^3) + p(k+2) * (-t^2/2+t^3/2)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ewhere\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\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e goes from 0 to 1. These interpolation polynomials can also be found using the constraints\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\u003ec(0)=p(k)\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: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\u003ec(1)=p(k+1)\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: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\u003ec'(0)=(p(k+1)-p(k-1))/2\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:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ec'(1)=(p(k+2)-p(k))/2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example for the points\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[points = [[1; 0] [0; 1] [-1; 0] [0; -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\u003ewould yield to following curve:\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\"}]}"}],"term":"tag:\"interpolation\"","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:\"interpolation\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"interpolation\"","","\"","interpolation","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f104809b370\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f104809b2d0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f104809a8d0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f104809b5f0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f104809b550\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f104809b4b0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f104809b410\u003e":"tag:\"interpolation\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f104809b410\u003e":"tag:\"interpolation\""},"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:\"interpolation\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"interpolation\"","","\"","interpolation","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f104809b370\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f104809b2d0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f104809a8d0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f104809b5f0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f104809b550\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f104809b4b0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f104809b410\u003e":"tag:\"interpolation\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f104809b410\u003e":"tag:\"interpolation\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":42990,"difficulty_rating":"easy"},{"id":43221,"difficulty_rating":"easy"},{"id":47563,"difficulty_rating":"easy"},{"id":42992,"difficulty_rating":"easy-medium"},{"id":1017,"difficulty_rating":"easy-medium"},{"id":1011,"difficulty_rating":"easy-medium"},{"id":378,"difficulty_rating":"easy-medium"},{"id":72,"difficulty_rating":"medium"},{"id":44828,"difficulty_rating":"medium"},{"id":1015,"difficulty_rating":"medium"},{"id":57879,"difficulty_rating":"medium"},{"id":909,"difficulty_rating":"medium"},{"id":970,"difficulty_rating":"medium"},{"id":652,"difficulty_rating":"medium"},{"id":43648,"difficulty_rating":"unrated"}]}}