{"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":42463,"title":"Calculate trends in time series","description":"Create a new variable that has trends in input series. If _t+1_ is bigger than or equal to _t_, than trend in _t_ will be 1, otherwise 0. The end value of trend will always be zero\r\n\r\nx = [2; 3; 0; 1; 2; 2; 1; 5; 6; 3];\r\n\r\ny = [1; 0; 1; 1; 1; 0; 1; 1; 0; 0];\r\n\r\n\r\n","description_html":"\u003cp\u003eCreate a new variable that has trends in input series. If \u003ci\u003et+1\u003c/i\u003e is bigger than or equal to \u003ci\u003et\u003c/i\u003e, than trend in \u003ci\u003et\u003c/i\u003e will be 1, otherwise 0. The end value of trend will always be zero\u003c/p\u003e\u003cp\u003ex = [2; 3; 0; 1; 2; 2; 1; 5; 6; 3];\u003c/p\u003e\u003cp\u003ey = [1; 0; 1; 1; 1; 0; 1; 1; 0; 0];\u003c/p\u003e","function_template":"function y = calcTrend(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [2; 3];\r\ny_correct = [1; 0];\r\nassert(isequal(calcTrend(x),y_correct))\r\n\r\n%%\r\nx = [2; 2];\r\ny_correct = [1; 0];\r\nassert(isequal(calcTrend(x),y_correct))\r\n\r\n%%\r\nx = [2; 2];\r\ny_correct = [1; 0];\r\nassert(isequal(calcTrend(x),y_correct))\r\n\r\n%%\r\nx = [2; 3; 0; 1; 2; 2; 1; 5; 6; 3];\r\ny_correct = [1; 0; 1; 1; 1; 0; 1; 1; 0; 0];\r\nassert(isequal(calcTrend(x),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":1,"created_by":8703,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":53,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-07-25T08:27:05.000Z","updated_at":"2025-12-20T17:02:24.000Z","published_at":"2015-07-25T08:27:05.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\u003eCreate a new variable that has trends in input series. 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\u003et+1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is bigger than or equal to\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\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, than trend in\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\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e will be 1, otherwise 0. The end value of trend will always be 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\u003ex = [2; 3; 0; 1; 2; 2; 1; 5; 6; 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\u003ey = [1; 0; 1; 1; 1; 0; 1; 1; 0; 0];\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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":42463,"title":"Calculate trends in time series","description":"Create a new variable that has trends in input series. If _t+1_ is bigger than or equal to _t_, than trend in _t_ will be 1, otherwise 0. The end value of trend will always be zero\r\n\r\nx = [2; 3; 0; 1; 2; 2; 1; 5; 6; 3];\r\n\r\ny = [1; 0; 1; 1; 1; 0; 1; 1; 0; 0];\r\n\r\n\r\n","description_html":"\u003cp\u003eCreate a new variable that has trends in input series. If \u003ci\u003et+1\u003c/i\u003e is bigger than or equal to \u003ci\u003et\u003c/i\u003e, than trend in \u003ci\u003et\u003c/i\u003e will be 1, otherwise 0. The end value of trend will always be zero\u003c/p\u003e\u003cp\u003ex = [2; 3; 0; 1; 2; 2; 1; 5; 6; 3];\u003c/p\u003e\u003cp\u003ey = [1; 0; 1; 1; 1; 0; 1; 1; 0; 0];\u003c/p\u003e","function_template":"function y = calcTrend(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [2; 3];\r\ny_correct = [1; 0];\r\nassert(isequal(calcTrend(x),y_correct))\r\n\r\n%%\r\nx = [2; 2];\r\ny_correct = [1; 0];\r\nassert(isequal(calcTrend(x),y_correct))\r\n\r\n%%\r\nx = [2; 2];\r\ny_correct = [1; 0];\r\nassert(isequal(calcTrend(x),y_correct))\r\n\r\n%%\r\nx = [2; 3; 0; 1; 2; 2; 1; 5; 6; 3];\r\ny_correct = [1; 0; 1; 1; 1; 0; 1; 1; 0; 0];\r\nassert(isequal(calcTrend(x),y_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":1,"created_by":8703,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":53,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-07-25T08:27:05.000Z","updated_at":"2025-12-20T17:02:24.000Z","published_at":"2015-07-25T08:27:05.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\u003eCreate a new variable that has trends in input series. 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\u003et+1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is bigger than or equal to\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\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, than trend in\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\u003et\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e will be 1, otherwise 0. The end value of trend will always be 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\u003ex = [2; 3; 0; 1; 2; 2; 1; 5; 6; 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\u003ey = [1; 0; 1; 1; 1; 0; 1; 1; 0; 0];\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\"}]}"}],"term":"tag:\"time series\"","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:\"time series\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"time series\"","","\"","time series","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f102b70f700\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f102b70f660\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f102b70eda0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f102b70f980\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f102b70f8e0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f102b70f840\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f102b70f7a0\u003e":"tag:\"time series\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f102b70f7a0\u003e":"tag:\"time series\""},"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:\"time series\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"time series\"","","\"","time series","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f102b70f700\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f102b70f660\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f102b70eda0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f102b70f980\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f102b70f8e0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f102b70f840\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f102b70f7a0\u003e":"tag:\"time series\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f102b70f7a0\u003e":"tag:\"time series\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":42463,"difficulty_rating":"easy"},{"id":652,"difficulty_rating":"medium"}]}}