{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":54000,"title":"Solve an ODE: first-order linear equation","description":"In the fall semester of [redacted], my professor for a course on ordinary differential equations said, “There are two groups of people in the world: those who can solve first-order linear ordinary differential equations and those who can’t. By the end of this lecture, you will be in the first group.” \r\nI clearly remember appreciating the cleverness of the integrating factor that we learned that day. I also recall the professor exhorting us not to memorize the final formula but to remember the approach.\r\nWrite a function to solve an equation of the form\r\n\r\nwith the condition . The function should return the values of  at the specified values of .\r\nAlthough MATLAB ODE functions are allowed, I would like someone to demonstrate how to implement the analytical approach using an integrating factor in MATLAB. Those who can will received the coveted unscored bonus points. ","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: 256px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 128px; transform-origin: 407px 128px; 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: 383.767px 8px; transform-origin: 383.767px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn the fall semester of [redacted], my professor for a course on ordinary differential equations said, “There are two groups of people in the world: those who can solve first-order linear ordinary differential equations and those who can’t. By the end of this lecture, you will be in the first group.” \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; 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: 378.725px 8px; transform-origin: 378.725px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eI clearly remember appreciating the cleverness of the integrating factor that we learned that day. I also recall the professor exhorting us not to memorize the final formula but to remember the approach.\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: 148.45px 8px; transform-origin: 148.45px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to solve an equation of the form\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=\"y' + p(x) y = q(x)\" style=\"width: 113px; height: 18.5px;\" width=\"113\" height=\"18.5\"\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=\"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: 56.0167px 8px; transform-origin: 56.0167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewith the condition \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y(x0) = y0\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 128.742px 8px; transform-origin: 128.742px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. The function should return the values of \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);\"\u003ey\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: 80.9px 8px; transform-origin: 80.9px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at the specified values of \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: 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: 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: 361.233px 8px; transform-origin: 361.233px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAlthough MATLAB ODE functions are allowed, I would like someone to demonstrate how to implement the analytical approach using an integrating factor in MATLAB. Those who can will received the coveted unscored bonus points. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = firstOrderLinearODE(x,p,q,x0,y0)\r\n%  ODE y' + p(x) y = q(x) with y(x0) = y0\r\n  y = exp(integral(p,0,x));\r\nend","test_suite":"%%\r\np = @(x) x;\r\nq = @(x) 0;\r\nx0 = 0;\r\ny0 = 1;\r\nx = 0.1:0.1:0.9;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = exp(-x.^2/2);\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%%\r\np = @(x) 0;\r\nq = @(x) cos(x);\r\nx0 = 0;\r\ny0 = 1;\r\nx = linspace(pi/51,pi/4);\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = sin(x)+1;\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%%\r\np = @(x) 1;\r\nq = @(x) exp(x);\r\nx0 = 0;\r\ny0 = 1;\r\nx = 0:0.5:4;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = cosh(x);\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%%\r\np = @(x) -3./x;\r\nq = @(x) x.^2;\r\nx0 = 1;\r\ny0 = 10;\r\nx = 2:0.2:4;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = x.^3.*(10+log(x));\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\np = @(x) 2*x;\r\nq = @(x) x;\r\nx0 = 0;\r\ny0 = -2;\r\nx = 0:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = (1/2)*(1-5*exp(-x.^2));\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\np = @(x) 1./(1+x);\r\nq = @(x) cos(x)./(1+x);\r\nx0 = 0;\r\ny0 = 1;\r\nx = 0:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = (1+sin(x))./(1+x);\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\np = @(x) -2*x;\r\nq = @(x) 1;\r\nx0 = 0;\r\ny0 = 5*rand();\r\nx = 0:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = exp(x.^2).*(y0+(sqrt(pi)/2)*erf(x));\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\np = @(x) 1./x;\r\nq = @(x) sin(x)./x.^2;\r\nx0 = 1;\r\ny0 = 2;\r\nx = 1:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = [];\r\nfor k = 1:length(x)\r\n    y_correct(k) = (1/x(k))*(2+integral(@(t) sin(t)./t,1,x(k)));\r\nend\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\nm = randi(4);\r\nn = randi(4); \r\np = @(x) n./x;\r\nq = @(x) x.^m;\r\nx0 = 1;\r\ny0 = 7*rand();\r\nx = 1:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = (x.^(m+1)-x.^(-n))/(m+n+1)+y0./x.^n;\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%%\r\nfiletext = fileread('firstOrderLinearODE.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp') || contains(filetext, 'system'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2022-04-16T18:17:22.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-02-10T04:06:17.000Z","updated_at":"2025-09-02T13:10:46.000Z","published_at":"2022-02-10T04:42:41.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\u003eIn the fall semester of [redacted], my professor for a course on ordinary differential equations said, “There are two groups of people in the world: those who can solve first-order linear ordinary differential equations and those who can’t. By the end of this lecture, you will be in the first group.” \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\u003eI clearly remember appreciating the cleverness of the integrating factor that we learned that day. I also recall the professor exhorting us not to memorize the final formula but to remember the approach.\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 to solve an equation of the form\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=\\\"y' + p(x) y = q(x)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\\\\prime+p(x)y = q(x)\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\u003ewith the condition \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=\\\"y(x0) = y0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_0) = y_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. The function should return the values of \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=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at the specified values of \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.\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\u003eAlthough MATLAB ODE functions are allowed, I would like someone to demonstrate how to implement the analytical approach using an integrating factor in MATLAB. Those who can will received the coveted unscored bonus points. \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":51745,"title":"Solve an ODE: equation A","description":"Write a function to solve the following ordinary differential equation: \r\n\r\nwith  and . The function should return the values of  at the specified values of . One application of this equation involves the propagation of internal gravity waves in a fluid with variable density gradient.","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: 118.6px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 59.3px; transform-origin: 407px 59.3px; 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: 209.417px 8px; transform-origin: 209.417px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to solve the following ordinary differential equation: \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 36.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 18.3px; text-align: left; transform-origin: 384px 18.3px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-16px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y\u0026quot;-xy = 0\" style=\"width: 74px; height: 36.5px;\" width=\"74\" height=\"36.5\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 43px; 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 21.5px; text-align: left; transform-origin: 384px 21.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: 14.3917px 8px; transform-origin: 14.3917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewith \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y(x0) = y0\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 15.5583px 8px; transform-origin: 15.5583px 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,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\" alt=\"y(x1) = y1\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 128.742px 8px; transform-origin: 128.742px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. The function should return the values of \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);\"\u003ey\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: 80.9px 8px; transform-origin: 80.9px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at the specified values of \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: 62.2333px 8px; transform-origin: 62.2333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. One application of this equation involves the propagation of internal gravity waves in a fluid with variable density gradient.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = solveODEA(x,x0,y0,x1,y1)\r\n  y(x0) = y0; \r\n  y(x1) = y1; \r\n  y = f(x,x0,y0,x1,y1);\r\nend","test_suite":"%%\r\nx0 = -3; \r\ny0 = 1;\r\nx1 = 3;\r\ny1 = 0.2;\r\nx  = linspace(x0,x1,7);\r\ny  = solveODEA(x,x0,y0,x1,y1);\r\ny_correct = [1 -0.608544735138462 -1.416513846161609 -0.930561687980622 -0.339539877942166 -0.041385541117497 0.2];\r\nassert(all(abs(y-y_correct) \u003c 1e-13))\r\n\r\n%%\r\nx0 = -5; \r\ny0 = 2;\r\nx1 = 5;\r\ny1 = 0;\r\nx  = linspace(x0,x1,11);\r\ny  = solveODEA(x,x0,y0,x1,y1);\r\ny_correct = [2 -0.400646543833150 -2.159956361501116 1.296651996575315 3.053707895612597 2.024329503005815 0.771421025528832 0.199130370987114 0.037568752980204 0.005346964905914 0];\r\nassert(all(abs(y-y_correct) \u003c 1e-13))\r\n\r\n%%\r\nx0 = -4; \r\ny0 = -1;\r\nx1 = 2;\r\ny1 = 0.3;\r\nx  = linspace(x0,x1,6);\r\ny  = solveODEA(x,x0,y0,x1,y1);\r\ny_correct = [-1 -4.088820829832713 5.996215644909088 6.297137060461841 2.304927532867409 0.3];\r\nassert(all(abs(y-y_correct) \u003c 1e-13))\r\n\r\n%%\r\nx0 = -7; \r\ny0 = 0;\r\nx1 = 3;\r\ny1 = 0.1;\r\nx  = linspace(x0,x1,6);\r\ny  = solveODEA(x,x0,y0,x1,y1);\r\ny_correct = [0 -0.004972738967217 0.002891447704152 -0.005345046731767 0.007070410943182 0.1];\r\nassert(all(abs(y-y_correct) \u003c 1e-14))\r\n\r\n%% anti-cheating--product of two values\r\nx0 = -2; \r\ny0 = 1;\r\nx1 = 2;\r\ny1 = 0.1;\r\nx  = [-1 1];\r\nz  = prod(solveODEA(x,x0,y0,x1,y1));  \r\nz_correct = 1.336786968358133;\r\nassert(all(abs(z-z_correct) \u003c 1e-13))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":3,"created_by":46909,"edited_by":46909,"edited_at":"2022-06-15T13:16:15.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2021-05-14T12:28:46.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2021-05-11T04:16:02.000Z","updated_at":"2025-09-02T13:25:13.000Z","published_at":"2021-05-11T04:19:47.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\u003eWrite a function to solve the following ordinary differential equation: \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=\\\"y\u0026quot;-xy = 0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\frac{d^2y}{dx^2} – x y = 0\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\u003ewith \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=\\\"y(x0) = y0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_0) = y_0\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=\\\"y(x1) = y1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_1) = y_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. The function should return the values of \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=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at the specified values of \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. One application of this equation involves the propagation of internal gravity waves in a fluid with variable density gradient.\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":51815,"title":"Solve an ODE: equation C","description":"Write a function to solve the following ordinary differential equation: \r\n\r\nwith  and . The parameter  is a constant. The function should return the values of  at the specified values of .","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: 118.583px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 59.2917px; transform-origin: 407px 59.2917px; 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: 209.417px 7.91667px; transform-origin: 209.417px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to solve the following ordinary differential equation: \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 37.3333px; 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.6667px; text-align: left; transform-origin: 384px 18.6667px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-16px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"(1-x^2) y\u0026quot; - x y' + a^2 y = 0\" style=\"width: 179.5px; height: 37.5px;\" width=\"179.5\" height=\"37.5\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42.25px; 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 21.125px; text-align: left; transform-origin: 384px 21.125px; 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: 14.3917px 7.91667px; transform-origin: 14.3917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewith \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIEAAAAoCAYAAADZs5l2AAADyElEQVR4nO2ba5GDMBSFjwcc1EANoKAKcIADHNQCGioBD7VQDVjo/ghnSMNNCCG8Zu8309lOabkhObkvWEBRFEVRFEVRDuAJ4L6jvQZAuaM9ZYYWQLWzzQLA6wC7ikALsyuPoADwBvA4yL4CoIZZhCO5AeiHv8rO3AB8cY643ADojh7Ef6TFeSa+gBGk5gc7Qi9wpljc4vjQ9K94wojgTDxgxrRnmXppCphY/oCJp1JSxWPSpH6wLBSUw7kkd10FxrAEhoSjKpUUSoxzI+VW9+FYdo9Lox3MpH1hdrYLj31gJpgwFMRMNvOGj3U+iorlHT9vF16HxFJx2jQZXrE5yW34fovx+qVQZq/RZh6ORnr8LjRgLkg6Vg6f1wvs8De2eDoY8VXD+xxq72DGm8I3w+uVYLexfu96gzvM9WxahTGO+jJrqfTioJcOihfzGs6RMmFzvJCeq+TwBClCZhjzecMS8ibNChdHGkCL6Y5PFQEXqIdx21vAsV0tOeTcSPNSYZsN8wPjkhv7i+EzN2FLFUGNsNexecB4oAYmVsYme6ljOxqGXknAUqi8wwjjORxvsdJT2AOwJ6+BnDCmTvTdshNym+75KcaY3XBVETDZdhPuEtOEsRS+98J0EycPgK7f5wWA9Im2xearBDgWNw+hF5mLufRqKexZHUiwgrLFLnmBD6Y5AjeYtGmTB/AMnJDJ5JIk6D7YoB1fTsAmlGub6p8r/1jtpHBUdUDcsPzA1Atw7qVykmNYPYA3xrLE51qoutg4zX5Ajd+8QPIyXERJYPxdyOW9cWyfYE2Za3vKG4wYXG9LLyxt0NDcLR7AG/NurUe86luM7t/OC2ijxnhRoZzBV0u731nlEg/EDstvyCGTCx0SQXLH1F6cmJ3Uwu/S2fx5Qr6pw5K0gxGAfZ4YEfiUnhKmzgbnxueJY0SwahPQeEyNHbpZY7c6pYy1DRxfI4Intus/7AXnzueJdxHBklbwB7LLYl+8hqzmAmN+4B7nTkgRQY9r3TyS6BAOs2wqbSKCesa4xAP525mpiWGFlXXyCWAFFbqGzRLDMsK4jxfy3P0jvEh3R7NElEqjAkaMV84F2JeZ672ESuWY6kmE6kvtted+2neuWSSFK7ZPrwrnMLbRxF6LDRP7KG/OZkyH0YWubbHeMPYXcuBrG3eYqrxGXk+0B0yqPzBrwB5KLL62cfQT10wsOIhcC1fALFKu81GgvOXcQH7e4YoewG6Y9UhrNZcYbxzxFf1kFjPzrZ7K3TMxu/L/GVTwV0+KoiiKoiiKoiiKsgV/hX6t8LbVD54AAAAASUVORK5CYII=\" alt=\"y(x0) = y0\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 15.5583px 7.91667px; transform-origin: 15.5583px 7.91667px; 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,iVBORw0KGgoAAAANSUhEUgAAAIEAAAAoCAYAAADZs5l2AAADf0lEQVR4nO2b25GqQBRFVw5kYAImQARGYAZkYAamQAyEQA6mYAyk4P1odtFyG6TbBqTmrCprpmSkH2z2eeCAYRiGYRiGYezAHThvON4NKDccz/hADVw3HrMAmh3GNQLUuLtyDwrgAVx2Gt8AKtxF2JMT0PU/jY05AS9+Iy7fgHbvSfxFan5n4wucIC0/2BC5wC/F4pr9Q9Of4o4TwS9xwc1pyzL10BS4WH7BxdNQUqVjoU19EhcKyv5cIbu+zswhBoWEvSqVFEqGvQnlVuf+WHbH1aAtbtNeuDt7jI49cRssFAqWbLbyhqd3PolK5Z3eryPXESJWnD63DK+lOcmp//uaYf2hUOZfo9UcToN0vF9ocAsKHSv796uIcfQZXzwtTnzX/vccam9x803hleHVJIx78z4/doMzbj2rVmGKo1OZdaj00qRjJ6XFNP05UjbsEw3puUoOJ0gRssLYlBuWhG/SrOjihCZQ8/8dnyoCXaAOZ9troLkdLTnU3oT25co6N8wbikvj2F/0740TtlQRVMy7zpiC+LIvdW57o9AbEvBcqLyRySX8CfibdyOcMKZu9NkbZ842C4Z29FTCNMVRRaBke5xwl4TXL3fQZ74WgT8BWf+UC0D6Rvtim6sEin5cJZMxIpCrpbBldRBCFZRv/VMuILfIJoLQBO6EXQCGZDImCTr3Y2icJTlBighU7aSwV3UgxmH5wue1ZxWBJvBgKEumTixbX9qUUT+g4j0v+NQcShHBg337BN+Uub5TnnBi+OS2WUXgT+DBZ1vrWK76msH+/bxAY1SEXSdFBFONryPgh+UHy5pnWUXgX5wld1LNtKWr+XMnnN2rJG1xApg6T6wIUsLUr6G9WZrxZxWBTtixrMaee1jjtzrHZSe8t0pDx0WsCO6s13/YCu3d0gRzFRHEtIKfhC1LffGK8ORUAk4dF7Ei6DjWw6MQLXHJZVYRVJGDg3ODNduZMSK4Mu8qR0AVVMwasomgTBhcNOR5+hdiqQgKnBiPnAuoLxPbe8kiAqkvtde+5rd9l4qg4bgVAQx7mNJoShKBvhHUMljoty3WE0N/ISdKPudEULGeE62F1vXEXQP1UGLxnz5GicDvN3/jAKEJtZnOVzBsjt9PH5/7yjEdwG+YdaQ5wIX3a9kQcTMrM1/rW7lbJmZH/j+DK5+rI8MwDMMwDMMwDMPIyT8ZjIEuGJbJhgAAAABJRU5ErkJggg==\" alt=\"y(x1) = y1\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 51.725px 7.91667px; transform-origin: 51.725px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. The parameter \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);\"\u003ea\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: 169.967px 7.91667px; transform-origin: 169.967px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a constant. The function should return the values of \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);\"\u003ey\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: 50.95px 7.91667px; transform-origin: 50.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at the specified values of \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: 1.94167px 7.91667px; transform-origin: 1.94167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = solveODEC(x,a,Xbc,bc)\r\n%  y   = values of the function\r\n%  x   = independent variable\r\n%  a   = parameter in the equation\r\n%  Xbc = [x0 x1], values of x where the boundary conditions are specified\r\n%  bc  = [y0 y1], values of the function at x0 and x1, respectively\r\n\r\n   y = f(x,a,Xbc,bc);\r\nend","test_suite":"%% \r\nx   = [-1/3 -1/4 0 1/4 1/3];\r\na   = 1;\r\nXbc = [-1/2 1/2];\r\nbc  = [2 4];\r\ny   = solveODEC(x,a,Xbc,bc);\r\ny_correct = [2.599319657044238 2.854101966249684 3.464101615137754 3.854101966249684 3.932652990377571];\r\nassert(all(abs(y-y_correct)\u003c1e-13))\r\n\r\n%% \r\nx   = [-0.6 -0.2 -0.05 0.12 0.2];\r\na   = sqrt(3);\r\nXbc = [-0.7 0.3];\r\nbc  = [0 1];\r\ny   = solveODEC(x,a,Xbc,bc);\r\ny_correct = [0.237055225759061 0.877546669526703 0.995431932094838 1.046546024897035 1.039090864471318];\r\nassert(all(abs(y-y_correct)\u003c1e-13))\r\n\r\n%% \r\nx   = [-0.8 -0.6 -0.3 -0.15 0.1 0.25 0.375];\r\na   = 2;\r\nXbc = [-0.8 0.4];\r\nbc  = [-1 3];\r\ny   = solveODEC(x,a,Xbc,bc);\r\ny_correct = [-1 1.68647951290722 4.138417234449975 4.687455882945745 4.630189304757032 4.024530246664777 3.199461161409147];\r\nassert(all(abs(y-y_correct)\u003c1e-13))\r\n\r\n%% \r\nx   = [-0.7 -0.45 -0.2 0.05 0.3 0.55 0.8];\r\na   = pi;\r\nXbc = [-0.9 0.9];\r\nbc  = [-1 1];\r\ny   = solveODEC(x,a,Xbc,bc);\r\ny_correct = [1.764854605944604 2.706629373469937 1.6090059417224112 -0.4259046519843118 -2.225041323571773 -2.630850806938173 -0.6162122684969365];\r\nassert(all(abs(y-y_correct)\u003c1e-13))\r\n\r\n%%\r\na   = 5;\r\nXbc = [-1/2 1/2]; \r\nbc  = [-1 1];\r\ny   = 1;\r\nx   = fzero(@(z) solveODEC(z,a,Xbc,bc)-y,0);\r\nx_correct = 0.104528463267653;\r\nassert(abs(x-x_correct)\u003c1e-13)\r\n\r\n%%\r\na   = 5;\r\nXbc = [-1/2 1/2]; \r\nbc  = [-1 1];\r\ny   = 1;\r\nx   = fzero(@(z) solveODEC(z,a,Xbc,bc)-y,0);\r\nx_correct = 0.104528463267653;\r\nassert(abs(x-x_correct)\u003c1e-13)\r\n\r\n%%\r\na   = 2*randi(4)+1;\r\nXbc = [-3/4 3/4]; \r\nbc  = [-2 2];\r\nx   = rand-3/4;\r\nym  = solveODEC(-x,a,Xbc,bc);\r\nyp  = solveODEC(x,a,Xbc,bc);\r\nassert(abs(ym+yp)\u003c1e-13)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-05-25T04:18:45.000Z","updated_at":"2021-05-25T04:23:56.000Z","published_at":"2021-05-25T04:23:56.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\u003eWrite a function to solve the following ordinary differential equation: \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=\\\"(1-x^2) y\u0026quot; - x y' + a^2 y = 0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e(1-x^2)\\\\frac{d^2y}{dx^2} -x \\\\frac{dy}{dx}+a^2 y = 0\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\u003ewith \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=\\\"y(x0) = y0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_0) = y_0\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=\\\"y(x1) = y1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_1) = y_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. The parameter \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\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is a constant. The function should return the values of \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=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at the specified values of \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.\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":53995,"title":"Solve an ODE: nonlinear third-order equation","description":"Write a function to solve the ordinary differential equation\r\n\r\non the domain  with , , and either  or . The input variable ord indicates the order (either 1 or 2) of the specified derivative. The function should return the values of  at the requested values of the independent variable .","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: 124px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407.5px 62px; transform-origin: 407.5px 62px; 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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 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: 176.35px 7.66667px; transform-origin: 176.35px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to solve the ordinary differential equation\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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 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,iVBORw0KGgoAAAANSUhEUgAAAI4AAAAkCAYAAABfegKAAAAEYElEQVR4Xu1bOYsWQRDd/QkekRh5BEaKKCYaGHklgoKKIAbiFRiJogYGoqJoIuIBBpuICoKRogYaaCIaaGTgERp54C/Q92BqaXr7m+7pr3q+GrYHHgvf9FR3v3pTXdU9Oz1Vr8pABgPTGc/URyoDU1U4VQRZDFThZNFWH6rCqRrIYqAKJ4u2+lBp4TwHxSuADcCvAnTH7C9Dny+BD8DeAv1bNanByylM7gqwBvjkT7SkcFajs4/AH2BlAeGk2D+Cfu8AL4CtVr2sPC4tXn5jXAuATcDbPoVzEZ2dBS4B55TJobkU++/Rbh2wA3hWYAwWTWrwsh0TewowUq8PTbJkxPmKDhc2jvtegOGYfS5T39omX2BMFkxq8HILEznW9sKVEo44rVS0SbHPnObBPIs2WrxQfEwxgtGGb0cp4TC3uFww2qTYf4j+l7dN3kJ4UB6DBi+SI7Uu76WEw6z+CXBXmRgxl2L/HxoHK4JCY7JgVoMXVlNrgdYqNEU4i2BkFfAZ8EtqhsYl3j22fwd0KcE3ov0PwM+FpG/3Xop9JncHYpO34OnIGCbBCwuKQ8CcEtwd6yjhcMDbACZILMl4HQ1EECnZWO7ub4RFx1I0bVUMBbcbOAxwOeH1KOBoLjd7AK63rI4orFT7FPScMjLiKLktgk1sPrJZ6GVos2mBF0Ya8t56xSKOvN10LisUP4pI9s1OFjfCifXp3xdx8Hd/aZEEl/f6LKn54rzpOpFA+9DLlmrWIi+zY48Jhw1d54U2gygeZt8jM/AIU1IJsNlp4KrXXvrPFWaqo9x2TBC5azrudQMGcvePLPLSSTiMOj+bJ0LlNTec/gYc3oV02agLbTgxXzkBzJedX5c3s7ykRBxORMImHUsHukkya/5dQGsyFVGRHA2wGZdFN0lmRKPtUhVaF4H33dYsL6nCcSfg5iFcRnYC4x4gyt4BHePmBQzXFCt3oOfjZZaXVOG4E9jXRCA6UiPaiCCkQruNH443P04q2kyqqgq9HJZ4mR1fqnD4gD8BRqHNCtFGBuMvh0tx4/WEoo2FqsoiL1nC8R37BVZkb0VjGXGXQ1ZQ94EZJ7pp9JFqw0JVJWO1xEuWcGQC3Izjx1Hc19H8XMJdDrlcjVPipwpkCO1M8tJlqXLDN0XDL/u0L54vyeVXV9p9DcmeOV66CIdEywRK7eLykG4LUOpzjCGJxR2rOV5yhONWPdqOkG9lS0Qz7bH2ac8cL12Ew6VqptASRSewBNZOuPt0bqm+TPKSKhzZiNOsonyiub1+HYiezJbykFG7JnlJEQ4Vz1B5Hsg9sIv5hBt9rNY0q7RYn0O4b5aXkHB4fHAQeAU8BvidzD1A66xI9kh4HnUNOAnwSGHcY4shCKFtjIPiJSQcyeBlku4Rg4Zz5B+9xFbJZFtjvH3ZGBQvIeFQ+WcAHjEwImj/awuXvgtNlLmJv7lf6fXl0L76GRQvKTlOX8TVfgbEQBXOgJxlaahVOJa8MaCx/Ac8ViI0v+/5OwAAAABJRU5ErkJggg==\" alt=\"y'y'' = y'''\" style=\"width: 71px; height: 18px;\" width=\"71\" height=\"18\"\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: 384.5px 32px; text-align: left; transform-origin: 384.5px 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: 46.2917px 7.66667px; transform-origin: 46.2917px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eon the domain \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAAkCAYAAACkATUaAAAEKklEQVR4Xu1aOc9OQRT+vh8g1kolaCSEBNEgoUAoSRCNRGJNFIhdZ4keoVCKJWohCgWNECEKhaWR6Cz/gOeRmeTkmrlz75yZu3jnJiff+71z5yzPM3PmzMw7PVWeiUNgeuIiLgFPFdIncBAU0gvpE4jABIZcZnoh3YvAQrTMN60vJhCnsYQ8F47OhHypczg003eh80XIa8gbyAIIvzsDeQj5PhY0/nM/SfY+yGnDza1Y0m+g4yHIZcg5oeQAPt+EPIHs6YH4rbD5sge7ucaNNp6ThuzZxsGD+BtFuiX2MxSscQD8GN9tdgyIXMBQr806i/B5BeRdTmMd6NbGwyWXs/s9ZL2ZoHQ7inSmio8QjpzqLLdY0OG75p/cBEhwaPI+5Cykdt3qgLRYEzniWQtnnmtmup3l1LEN8sgRHUcZswAf38CIBUUOLNYTnNmW7Gv4MNZC0kV2qnjUpL8CsKsM0ATcN6N+oI3ZgOQv1jIs+ucEJ6GbjVV1EY+a9N8mnJ/4O6cmNLuu85W6wdEEHVt97u9oZtPeEsg3x6Beju9mKDNK1/GoSGfAbyNI9y0DIcLlVsNWn1yzU6U9aZ+2jkE2iUwmdyBsvwNhgconJqYu45GxqUiXndvM9GDFWGG/D3DkwYXdjtItW4hyWeNSNcsQ36ZA7SOeLKRzxnE98j3cH141jW1IZ6F4BWJnNmcbC7YuCzQ5uHfD9jLjz+GaeH1NQ4snyEX1RE6CQTK21IBwCW3cOvEJGhJ6WPmfgPDgxz7cAdyGdLkNs7ULTxv5rI4gnF2GEM8o0jvBcqXELsmXhWibVO4bG33GoyKdAcVU7xrQ+gJLLk/zEHeqe4Q+4lGT/gkAcAvWtJDje9zXa1OzD6wH0J3jyFUeQq2DjdQ1RZfxqEl3VbaulCbXxNj10KXXtcdlfXEqIflya0ofcp0qymVMnkGkjkdNerWyvedgRoLWpohrWytVT7NSgMVBxVu685C9EO7LWcylHLi+OHPEQ1tq0qnEFjm+Ct5W7r5buLbkht6vgqWpITiI6Tevi13rOtP+V4jrziHkZ9P2lPEkI53bEI5+7qWrAMtbuBxrYR1wFqztLVI976uXQjiASShjs1vRalaj7eMdzXraionHhU+SmU7FTOHPjIUNBmQCxkMbFm4xx5RNZ0LoPfrRtHC0tQd1ujKTvTjytYd8SdHeJp6qPU7C65CdpoH8HIF4dyOhn0tR4Q4ISefx5C8zEJ62AD0FKBodTOEbjb8XHGAwExytadfYzt3Xxla1Q5748zYeeP1Dfoj0HE7bWyyN7g91I1mjOKLv6OLpg3R5EhaB8d8umkIu1qav3+ji6YN0Vv4rlcjzYqTpmq40Few+unj6ID2IYnkhLwKF9Lz4DlJ7IX2QtOR1qpCeF99Bai+kD5KWvE4V0vPiO0jtfwC9TyI0o8V1UAAAAABJRU5ErkJggg==\" alt=\"0 \u003c= x \u003c= 1\" style=\"width: 62.5px; height: 18px;\" width=\"62.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: 16.3333px 7.66667px; transform-origin: 16.3333px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e with \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAoCAYAAAA16j4lAAAFR0lEQVR4Xu1auYoVQRR1/sAtMhKXwEgRl0QDDVxBBBUVE8HAJVUUFTFxwSV1A4NJREUFE3fQQBNRRCMDF/wA1y/Qc6DvUK+mlltd3f1mym44zPC6qrrqnLpL3e6RKf1VNAMjRa+uX9yUXuDCN0EvcC9w4QwUvrwuLXgGuLwBHAE+NMDrHIxxucHxGpjSxBuiK4FTxKVwsyqqXkUo47ivgS0NbZqJp1DmjLoQmCI8Bk4CDwPz3YF7p4C3wDtgNsDfjgJ3gR+evgvx+z1geaBNJk2Tt3sXAtONTq/E8jHFNvuBM8Bxo9Fe/H8VeALsCgh4GPdWA+smrxTtzLxtgVdg2i+BucBXzxJExC8eK6T1r3WIbw/3GT9cAK61Q9XkHLVtgSkOhT3goYfu+xMwLSAg3fTNqv8i/PUlaNwoZ4H5AUufnCplzLpNgcV6Y6LQBfPaCLhiNJMuWjcv24WbS+dm+Q7sBG5lcFJU1zYFZlyl9TH++q43uLGkuhly4z/RhlZOoecFxqPHoNBLi1IpYzEagUnYAuAjYGeycqRx3aMoTyuRfVP8W934FdkIEofZPLQRmGydA2Y65ppBU+td63IcnZhPYLrX9QAzW1oOr32AncCIZdlZLo8u7wEWNc57ZiFteDtFYJ8r5zgbgAfASiB2hranZZ6/o8QFGrg2u6t5LseqOcYsWAoJtBpXlivHGz7MtBohOhQPJUanCuzaaLJYGTO0sXzEiPWriAs0CuUcrm51OVbNMyYwBzGzWJdlUGTGPDPuCVkhSzIFvl09R0N+SGBJyOoIzHXuVrEWbsQTg+9I6OtZh2PVVDUCS3bKAV1Z7Gn8/gcwXXGqwHTxoSIFn3GsWlFIYDZhXI+NpyKnw0Z1OFZNTyMwB+KxYzvAMiKFMJMtFhjsWnCqwCkxuESB63DcqMBSbeKgZoyha9kM8K95aQQWa+PfFIFjMY4WHHP5KnI6blSH48WYI3OjNYCz1q+1YDPjNRMnl/WSF63A7M8ETisw2/Hc7Itxmuzdp1vXWbQ9jxSOeWxkPYDCkgvpO867aQXmZORIdAX/M5HgjlvlsF62lQQqVlUys/CQZcp5mSEiVMSQ58bcuEvkYWXR5lw0HEtCZieSEkYHagApAttxmDVknzVps1kzk/ZtBnNnx4STxdc5Bw8zixaRNRxL9c+uB8gGHRA+RWCJEXSTrFDR95uv9myroPslYq/wpErly3wlg/a9bTKfK21T1uVz2cP4XcOxeDO7WifGMuDlUogwrS1WEyY5JJuVsFAtmu1o7ZwUK2a2mzbfNmmskhuKY9lJ3zDEqvPMGMfmfZ/AfO6YrikCs6PsnlC5UBYmrlXb9kXVkXGdrwQpPLNhhgHNGBIWNG3rkN9VnxDHWoHHxK8jsCRZmgXT/f5WWhStdStAgadW/Sj6M0BTGaLH4Fk99LZJM+dht6HAPo5bFZiDjyYSKFYcO7vmkiqufBMGSn3JkPvsJvvHODYTzpCLTrZgiZOhM6hvoV18L8Xsk0cM35cjTYrQ1lhajhtPsrRfRYYWzvPuN8D36jCHNCZUBwG7hJozZtd9UziWU4eddMoxaeB9gSsGy3nwOVbJz1WZ6FwHcj5m4wIuAfeBJj+nocviC/7QF5ddi6V5Xg7HsULHQDh0CWx+PcHJxqpRmgVJGyZCj4Am4iRd2iHgBOD7Zjplbl22zeWY/ZcB8oGhxOZxb/tcArMxPzZnTLsIaDLYLskp4Vm5HNMj7gG2AXcAfhM+6vKOqcekEsj9r9bQC1y43L3AvcCFM1D48noL7gUunIHCl9dbcOEC/wOUqXs4kXcIuQAAAABJRU5ErkJggg==\" alt=\"y(0) = y0\" style=\"width: 60px; height: 20px;\" width=\"60\" 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 7.66667px; transform-origin: 3.88333px 7.66667px; 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,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAoCAYAAAA16j4lAAAEgklEQVR4Xu1auaoVQRB97xNcIkOXQBAUVEw0UBA3EEFBxUQwcEkVV0REVFxSNzAwERUUTFwDE00UBQXBwAU/wPUL9ByZgn7jzHRVd8/KXDi85dbUdJ/T1VVdM5MT42fQDEwOenbj5CZGgQe+CEaBR4EHzsDAp9dkBM8AlzeBQ8C7BLzOho/LCf0lGFL3XDQlcIi4FPA38L2CNvp9CWxOtGi6p1DkiJoQmCI8Bk4ADxXjpbAHgL3AIoVwC2FzD1jmWQyKWw/PpAmBuY1OB7Z56ONCOJUJK6YagWl7EFgFrB2eRHEzqlvg5Rjec2AO8KViqOvx3QLgPXASWJLZagWm+SfgAnAtjpJhXV23wNyaKew+A22MxnMBAu/GNWeBeUBV3jYMpf+mdQos0WuJQtluQwTmFv8N2A7c7r80aWZQp8DMvcy7zL+WT2gE8x7cMSj0UssNh2yrEZiEzQc+FGx9rHhnlXz3A/9/mols4TBGYLl2Zs+26VCOvbyWCcztdR3Ao8q0zMse/MwXMBSR3z8Bdjik8ujyFmBT47x3FFMNYgRmsfYAWAG8MN5XFqvxsv/MiwKhyGcsx6px+iJYGgmsgj8D+bMmt2EuAn7cqBGiQ/JhjMCS92MXloq8EiNrzRHKsWqMPoHphHn0VuatKDIoMnOem/dEpJBIihGYUciFGCIw57lTxVq1EU8MVUfCoqtDOFYNVSOwVKd0eAY4lvN8Gn+zpehuxW0JzKH9AZgy+tT0COE4mcB0xGPHVuB1Rpx7zmSDId8LHgVW0T/FyMqx6g6aCKYjNhGuZh7dHMOtZROQb0O2LfCdgjGpCGnRyMoxh8pilj2DNwU767+paAWWqpjXuIVTUfTSpi2BY6r3pqvo/FqycMyxbgEOAzzFFKVOk8A0liPRFfzOQoIrbmVJpEg121YVXXSk8wWnW9z5bKu+t1bRri8tx/IodVcWwUkEzueIj3DOhwJFFWNMNRtTRUs1GlK9t1lFi8gWjt2dMonAkiN+wjM7VDyO5CtqdzVy+yas1WyMwKzojwLa1BMTqXVca+VYuEoisGy7nBjFneuZIclmE6TJXjQXFCt937PnOsRJ4dPKcVKBOQGeMfnZAPjezpCiQWMr5HBr5+7Azhk/loaFpAXL/VKIktqHheNaBJYiSzMxPt35pYgoisOCYXGBU+Z4vqTne5DPHYNndd/Oohl3mzYUWMtxUoG5fdwwEihRHFNZashmJ4hF30bA+pBB478pGyvHyQRmhDG3lVXNVQQ08b4Uq08eMSxvjjQlmvY+IRwnEdj6VmTRhPhA4itgfXSoIYcF1X6A1XpfX9UJ5ThIYDkPPgNhdwG2/a4DvhxYJQYncAm4D6R8nUZade6zaM2iaNsmFcdBArMwWuMwENKNKiOQhdCjRHlS3p8+3sPITcWxnPtN52BGxZEsp13ET+uzzbajow/3j+WYi3s1wLdI2Ytm84n1x6u8Xn3t+PRBxE6McRS4EzLUN4hR4Pq47YTnUeBOyFDfIEaB6+O2E55HgTshQ32DGAWuj9tOeP4LNsE7ONE1ag4AAAAASUVORK5CYII=\" alt=\"y(1) = y1\" style=\"width: 60px; height: 20px;\" width=\"60\" 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: 36.95px 7.66667px; transform-origin: 36.95px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, and either \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y'(0) = y'0\" style=\"width: 70px; height: 20px;\" width=\"70\" 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: 10.1083px 7.66667px; transform-origin: 10.1083px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e or \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y''(0) = y''0\" style=\"width: 78.5px; height: 20px;\" width=\"78.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: 61.4583px 7.66667px; transform-origin: 61.4583px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. The input variable \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; perspective-origin: 11.55px 7.66667px; transform-origin: 11.55px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 11.55px 8px; transform-origin: 11.55px 8px; \"\u003eord\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; perspective-origin: 31.5083px 7.66667px; transform-origin: 31.5083px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e indicates the order (either 1 or 2) of the specified derivative. The function should return the values of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAlCAYAAAAeJYohAAADt0lEQVRoQ+2YOc9NQRjH3/cTiKVSWgoVBdFQUFgTkSgQjc5SaAhBRCGIrbQlCo0gSDTWQkNBoqBSWOIDWOMD8P/dnOfNZDLbuXPPzY17T/LPe98zM888/2edOdNTY/ZMjxnfqQnh/93jEw936OG5kn1LOCK8H8A+CyTjSlt5w/LwoMmavZD7RthWasRhEEapp8JJ4fEAPOuLWKoXD4SVwvec/GEQJuzmCDtyylSMH9batcKGnIyuCa+SAi+FhcKXnDKV45+0/oJwPSWna8KEMkT3V5IpWb5Hk84Ki1Oh3SVh8+6y0oJSwioxh1rxTdgp3InN65IwuUvekr/DeogoiK+oIYyAJcKHQKjQC+dHxn7o/fOGdBvCKZlEzZ9ExFC8zgnzYmEd8zCCNwr7hNmNtnv11y8IkGL8mbDL2YRW8U7gkHG+gC3zycF1AgWO54xwvPltrYexn8JyIVQEN+n9I2G18Cq0by6krbGz0WfB73WELUbhca1qGyfzyVEIr/5uDEa1dfebpf/fCleF7QIpEksTqxtRQ+cIoxN5eLtRLmQ5SJMzbt5YaEUtHbJ+887W8i/E7wqXhGgh8gyHY6oIW/VDrhtmts/pxjtu6NYQNi8hH89SByy0E3aaGfqrX6RY8BBS4mEkYV3CCQUQ5B7hCEH/LFtDmP1Qmod8bVvlB0KYgnKtUcLtq4T7VsE/NtYSpr2sbwwcbTERd0OYNAgeZUs9bFWXPdxCFPIuc2oJW0Th4eTJySOd7Q6lhJFrLYhqyVERr6+JWNLysLRKu3q70cT7zULpLcv2DbXQ3h5tCPt5/FHrY/2QNpOslpFwNA9ZW2JaqFBGls90lL77cMjyhBmVE0Kp6km4g+yVrdnEev6BxqOhPKYFXhRiNy86xrGUI9t42G0XkF0UM3Pzns05lKSqLOHL81q4IdwTrL35/fiQxjB2zsh0kujduw1hFLN2UZJXFp6xua4Bke1XVrdQhsZ9e1saJXXrh7AVrYyDe8OE5a+IxQnhUwKKvnA868q1LxmxcXcuEcVZIRl5bQjjkZs5gZ4VzEtd34kxHkV0ixC8NJhepYTxArkRq8opbxd/byoJmcgcOghtM/tlpYTwIL46Ul2/RsK2gmdvKQXqoOAfeYNyQ4QRsFsgb+4LFBMqaPLjWEZrjHZZeCiU3HpKjUDKcOF37+LJtSHC1v9sYT+npdimFJYnQjLPCtmSZrSqE0L2e7TJDBHGakcFciLV5Av1Gq1pJTk8WhpXajMhXGnAkV8+dh7+B4Vl2SZvhV5OAAAAAElFTkSuQmCC\" alt=\"y(x)\" 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: 84.4px 7.66667px; transform-origin: 84.4px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at the requested values of the independent variable \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: 1.94167px 7.66667px; transform-origin: 1.94167px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = solve3ordNLODE(x,y0,y1,yd,ord)\r\n%  x = requested values of the independent variable\r\n%  y = values of function at the requested values of x\r\n%  y0, y1 = values of the function at x = 0 and x = 1\r\n%  yd = value of either y'(0) or y''(0)\r\n%  ord = 1 if yd is the first derivative or 2 if it is the second derivative\r\n\r\n   y = A1*exp(r1*x)+A2*exp(r2*x)+A3*exp(r3*x);\r\nend","test_suite":"%%\r\ny0 = 2.231252941;\r\ny1 = 6.297567308;\r\nyd = 1.557407725;\r\nord = 1;\r\nx  = [0.3 0.5 0.8];\r\ny_correct = [2.790588219 3.308319582 4.544300275];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 2.231252941;\r\ny1 = 6.297567308;\r\nyd = 1.71275941;\r\nord = 2;\r\nx  = [0.3 0.5 0.8];\r\ny_correct = [2.790588219 3.308319582 4.544300275];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 3.287682072;\r\ny1 = 9.107569130;\r\nyd = 1.154700538;\r\nord = 1;\r\nx  = 0.25:0.25:0.75;\r\ny_correct = [3.669824691 4.306714708 5.456245713];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 3.287682072;\r\ny1 = 9.107569130;\r\nyd = 8/3;\r\nord = 2;\r\nx  = 0.25:0.25:0.75;\r\ny_correct = [3.669824691 4.306714708 5.456245713];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 3.693147181;\r\ny1 = 3.046411846;\r\nyd = -2;\r\nord = 1;\r\nx  = 0.2:0.2:0.8;\r\ny_correct = [3.36426198 3.152361229 3.034571214 3.000213221];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 0.722781494;\r\ny1 = 2.637280183;\r\nyd = 1.030077779;\r\nord = 2;\r\nx  = 0.2:0.2:0.8;\r\ny_correct = [0.950884887 1.231252941 1.581096155 2.030246566];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-02-07T03:08:13.000Z","updated_at":"2022-02-07T13:11:31.000Z","published_at":"2022-02-07T03:11:39.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\u003eWrite a function to solve the ordinary differential equation\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=\\\"y'y'' = y'''\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\\\\prime y\\\\prime\\\\prime = y\\\\prime\\\\prime\\\\prime\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\u003eon the domain \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=\\\"0 \u0026lt;= x \u0026lt;= 1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e0 \\\\le x \\\\le 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e with \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=\\\"y(0) = y0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(0) = y_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=\\\"y(1) = y1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(1) = y_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and either \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=\\\"y'(0) = y'0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\\\\prime(0) = y\\\\prime\\n_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e or \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=\\\"y''(0) = y''0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\\\\prime\\\\prime(0) = y\\\\prime\\n\\\\prime_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. The input variable \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\u003eord\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e indicates the order (either 1 or 2) of the specified derivative. The function should return the values of \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=\\\"y(x)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at the requested values of the independent variable \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.\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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":54000,"title":"Solve an ODE: first-order linear equation","description":"In the fall semester of [redacted], my professor for a course on ordinary differential equations said, “There are two groups of people in the world: those who can solve first-order linear ordinary differential equations and those who can’t. By the end of this lecture, you will be in the first group.” \r\nI clearly remember appreciating the cleverness of the integrating factor that we learned that day. I also recall the professor exhorting us not to memorize the final formula but to remember the approach.\r\nWrite a function to solve an equation of the form\r\n\r\nwith the condition . The function should return the values of  at the specified values of .\r\nAlthough MATLAB ODE functions are allowed, I would like someone to demonstrate how to implement the analytical approach using an integrating factor in MATLAB. Those who can will received the coveted unscored bonus points. ","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: 256px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 128px; transform-origin: 407px 128px; 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: 383.767px 8px; transform-origin: 383.767px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn the fall semester of [redacted], my professor for a course on ordinary differential equations said, “There are two groups of people in the world: those who can solve first-order linear ordinary differential equations and those who can’t. By the end of this lecture, you will be in the first group.” \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; 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: 378.725px 8px; transform-origin: 378.725px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eI clearly remember appreciating the cleverness of the integrating factor that we learned that day. I also recall the professor exhorting us not to memorize the final formula but to remember the approach.\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: 148.45px 8px; transform-origin: 148.45px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to solve an equation of the form\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=\"y' + p(x) y = q(x)\" style=\"width: 113px; height: 18.5px;\" width=\"113\" height=\"18.5\"\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=\"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: 56.0167px 8px; transform-origin: 56.0167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewith the condition \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y(x0) = y0\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 128.742px 8px; transform-origin: 128.742px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. The function should return the values of \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);\"\u003ey\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: 80.9px 8px; transform-origin: 80.9px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at the specified values of \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: 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: 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: 361.233px 8px; transform-origin: 361.233px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAlthough MATLAB ODE functions are allowed, I would like someone to demonstrate how to implement the analytical approach using an integrating factor in MATLAB. Those who can will received the coveted unscored bonus points. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = firstOrderLinearODE(x,p,q,x0,y0)\r\n%  ODE y' + p(x) y = q(x) with y(x0) = y0\r\n  y = exp(integral(p,0,x));\r\nend","test_suite":"%%\r\np = @(x) x;\r\nq = @(x) 0;\r\nx0 = 0;\r\ny0 = 1;\r\nx = 0.1:0.1:0.9;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = exp(-x.^2/2);\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%%\r\np = @(x) 0;\r\nq = @(x) cos(x);\r\nx0 = 0;\r\ny0 = 1;\r\nx = linspace(pi/51,pi/4);\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = sin(x)+1;\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%%\r\np = @(x) 1;\r\nq = @(x) exp(x);\r\nx0 = 0;\r\ny0 = 1;\r\nx = 0:0.5:4;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = cosh(x);\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%%\r\np = @(x) -3./x;\r\nq = @(x) x.^2;\r\nx0 = 1;\r\ny0 = 10;\r\nx = 2:0.2:4;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = x.^3.*(10+log(x));\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\np = @(x) 2*x;\r\nq = @(x) x;\r\nx0 = 0;\r\ny0 = -2;\r\nx = 0:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = (1/2)*(1-5*exp(-x.^2));\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\np = @(x) 1./(1+x);\r\nq = @(x) cos(x)./(1+x);\r\nx0 = 0;\r\ny0 = 1;\r\nx = 0:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = (1+sin(x))./(1+x);\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\np = @(x) -2*x;\r\nq = @(x) 1;\r\nx0 = 0;\r\ny0 = 5*rand();\r\nx = 0:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = exp(x.^2).*(y0+(sqrt(pi)/2)*erf(x));\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\np = @(x) 1./x;\r\nq = @(x) sin(x)./x.^2;\r\nx0 = 1;\r\ny0 = 2;\r\nx = 1:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = [];\r\nfor k = 1:length(x)\r\n    y_correct(k) = (1/x(k))*(2+integral(@(t) sin(t)./t,1,x(k)));\r\nend\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%% \r\nm = randi(4);\r\nn = randi(4); \r\np = @(x) n./x;\r\nq = @(x) x.^m;\r\nx0 = 1;\r\ny0 = 7*rand();\r\nx = 1:0.1:3;\r\ny = firstOrderLinearODE(x,p,q,x0,y0);\r\ny_correct = (x.^(m+1)-x.^(-n))/(m+n+1)+y0./x.^n;\r\nassert(all(abs((y-y_correct)./y_correct)\u003c5e-3))\r\n\r\n%%\r\nfiletext = fileread('firstOrderLinearODE.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp') || contains(filetext, 'system'); \r\nassert(~illegal)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2022-04-16T18:17:22.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-02-10T04:06:17.000Z","updated_at":"2025-09-02T13:10:46.000Z","published_at":"2022-02-10T04:42:41.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\u003eIn the fall semester of [redacted], my professor for a course on ordinary differential equations said, “There are two groups of people in the world: those who can solve first-order linear ordinary differential equations and those who can’t. By the end of this lecture, you will be in the first group.” \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\u003eI clearly remember appreciating the cleverness of the integrating factor that we learned that day. I also recall the professor exhorting us not to memorize the final formula but to remember the approach.\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 to solve an equation of the form\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=\\\"y' + p(x) y = q(x)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\\\\prime+p(x)y = q(x)\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\u003ewith the condition \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=\\\"y(x0) = y0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_0) = y_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. The function should return the values of \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=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at the specified values of \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.\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\u003eAlthough MATLAB ODE functions are allowed, I would like someone to demonstrate how to implement the analytical approach using an integrating factor in MATLAB. Those who can will received the coveted unscored bonus points. \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":51745,"title":"Solve an ODE: equation A","description":"Write a function to solve the following ordinary differential equation: \r\n\r\nwith  and . The function should return the values of  at the specified values of . One application of this equation involves the propagation of internal gravity waves in a fluid with variable density gradient.","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: 118.6px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 59.3px; transform-origin: 407px 59.3px; 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: 209.417px 8px; transform-origin: 209.417px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to solve the following ordinary differential equation: \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 36.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 18.3px; text-align: left; transform-origin: 384px 18.3px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-16px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y\u0026quot;-xy = 0\" style=\"width: 74px; height: 36.5px;\" width=\"74\" height=\"36.5\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 43px; 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 21.5px; text-align: left; transform-origin: 384px 21.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: 14.3917px 8px; transform-origin: 14.3917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewith \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y(x0) = y0\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 15.5583px 8px; transform-origin: 15.5583px 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,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\" alt=\"y(x1) = y1\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 128.742px 8px; transform-origin: 128.742px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. The function should return the values of \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);\"\u003ey\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: 80.9px 8px; transform-origin: 80.9px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at the specified values of \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: 62.2333px 8px; transform-origin: 62.2333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. One application of this equation involves the propagation of internal gravity waves in a fluid with variable density gradient.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = solveODEA(x,x0,y0,x1,y1)\r\n  y(x0) = y0; \r\n  y(x1) = y1; \r\n  y = f(x,x0,y0,x1,y1);\r\nend","test_suite":"%%\r\nx0 = -3; \r\ny0 = 1;\r\nx1 = 3;\r\ny1 = 0.2;\r\nx  = linspace(x0,x1,7);\r\ny  = solveODEA(x,x0,y0,x1,y1);\r\ny_correct = [1 -0.608544735138462 -1.416513846161609 -0.930561687980622 -0.339539877942166 -0.041385541117497 0.2];\r\nassert(all(abs(y-y_correct) \u003c 1e-13))\r\n\r\n%%\r\nx0 = -5; \r\ny0 = 2;\r\nx1 = 5;\r\ny1 = 0;\r\nx  = linspace(x0,x1,11);\r\ny  = solveODEA(x,x0,y0,x1,y1);\r\ny_correct = [2 -0.400646543833150 -2.159956361501116 1.296651996575315 3.053707895612597 2.024329503005815 0.771421025528832 0.199130370987114 0.037568752980204 0.005346964905914 0];\r\nassert(all(abs(y-y_correct) \u003c 1e-13))\r\n\r\n%%\r\nx0 = -4; \r\ny0 = -1;\r\nx1 = 2;\r\ny1 = 0.3;\r\nx  = linspace(x0,x1,6);\r\ny  = solveODEA(x,x0,y0,x1,y1);\r\ny_correct = [-1 -4.088820829832713 5.996215644909088 6.297137060461841 2.304927532867409 0.3];\r\nassert(all(abs(y-y_correct) \u003c 1e-13))\r\n\r\n%%\r\nx0 = -7; \r\ny0 = 0;\r\nx1 = 3;\r\ny1 = 0.1;\r\nx  = linspace(x0,x1,6);\r\ny  = solveODEA(x,x0,y0,x1,y1);\r\ny_correct = [0 -0.004972738967217 0.002891447704152 -0.005345046731767 0.007070410943182 0.1];\r\nassert(all(abs(y-y_correct) \u003c 1e-14))\r\n\r\n%% anti-cheating--product of two values\r\nx0 = -2; \r\ny0 = 1;\r\nx1 = 2;\r\ny1 = 0.1;\r\nx  = [-1 1];\r\nz  = prod(solveODEA(x,x0,y0,x1,y1));  \r\nz_correct = 1.336786968358133;\r\nassert(all(abs(z-z_correct) \u003c 1e-13))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":3,"created_by":46909,"edited_by":46909,"edited_at":"2022-06-15T13:16:15.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":"2021-05-14T12:28:46.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2021-05-11T04:16:02.000Z","updated_at":"2025-09-02T13:25:13.000Z","published_at":"2021-05-11T04:19:47.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\u003eWrite a function to solve the following ordinary differential equation: \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=\\\"y\u0026quot;-xy = 0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\frac{d^2y}{dx^2} – x y = 0\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\u003ewith \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=\\\"y(x0) = y0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_0) = y_0\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=\\\"y(x1) = y1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_1) = y_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. The function should return the values of \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=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at the specified values of \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. One application of this equation involves the propagation of internal gravity waves in a fluid with variable density gradient.\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":51815,"title":"Solve an ODE: equation C","description":"Write a function to solve the following ordinary differential equation: \r\n\r\nwith  and . The parameter  is a constant. The function should return the values of  at the specified values of .","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: 118.583px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 59.2917px; transform-origin: 407px 59.2917px; 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: 209.417px 7.91667px; transform-origin: 209.417px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to solve the following ordinary differential equation: \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 37.3333px; 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.6667px; text-align: left; transform-origin: 384px 18.6667px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-16px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"(1-x^2) y\u0026quot; - x y' + a^2 y = 0\" style=\"width: 179.5px; height: 37.5px;\" width=\"179.5\" height=\"37.5\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42.25px; 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 21.125px; text-align: left; transform-origin: 384px 21.125px; 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: 14.3917px 7.91667px; transform-origin: 14.3917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ewith \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIEAAAAoCAYAAADZs5l2AAADyElEQVR4nO2ba5GDMBSFjwcc1EANoKAKcIADHNQCGioBD7VQDVjo/ghnSMNNCCG8Zu8309lOabkhObkvWEBRFEVRFEVRDuAJ4L6jvQZAuaM9ZYYWQLWzzQLA6wC7ikALsyuPoADwBvA4yL4CoIZZhCO5AeiHv8rO3AB8cY643ADojh7Ef6TFeSa+gBGk5gc7Qi9wpljc4vjQ9K94wojgTDxgxrRnmXppCphY/oCJp1JSxWPSpH6wLBSUw7kkd10FxrAEhoSjKpUUSoxzI+VW9+FYdo9Lox3MpH1hdrYLj31gJpgwFMRMNvOGj3U+iorlHT9vF16HxFJx2jQZXrE5yW34fovx+qVQZq/RZh6ORnr8LjRgLkg6Vg6f1wvs8De2eDoY8VXD+xxq72DGm8I3w+uVYLexfu96gzvM9WxahTGO+jJrqfTioJcOihfzGs6RMmFzvJCeq+TwBClCZhjzecMS8ibNChdHGkCL6Y5PFQEXqIdx21vAsV0tOeTcSPNSYZsN8wPjkhv7i+EzN2FLFUGNsNexecB4oAYmVsYme6ljOxqGXknAUqi8wwjjORxvsdJT2AOwJ6+BnDCmTvTdshNym+75KcaY3XBVETDZdhPuEtOEsRS+98J0EycPgK7f5wWA9Im2xearBDgWNw+hF5mLufRqKexZHUiwgrLFLnmBD6Y5AjeYtGmTB/AMnJDJ5JIk6D7YoB1fTsAmlGub6p8r/1jtpHBUdUDcsPzA1Atw7qVykmNYPYA3xrLE51qoutg4zX5Ajd+8QPIyXERJYPxdyOW9cWyfYE2Za3vKG4wYXG9LLyxt0NDcLR7AG/NurUe86luM7t/OC2ijxnhRoZzBV0u731nlEg/EDstvyCGTCx0SQXLH1F6cmJ3Uwu/S2fx5Qr6pw5K0gxGAfZ4YEfiUnhKmzgbnxueJY0SwahPQeEyNHbpZY7c6pYy1DRxfI4Intus/7AXnzueJdxHBklbwB7LLYl+8hqzmAmN+4B7nTkgRQY9r3TyS6BAOs2wqbSKCesa4xAP525mpiWGFlXXyCWAFFbqGzRLDMsK4jxfy3P0jvEh3R7NElEqjAkaMV84F2JeZ672ESuWY6kmE6kvtted+2neuWSSFK7ZPrwrnMLbRxF6LDRP7KG/OZkyH0YWubbHeMPYXcuBrG3eYqrxGXk+0B0yqPzBrwB5KLL62cfQT10wsOIhcC1fALFKu81GgvOXcQH7e4YoewG6Y9UhrNZcYbxzxFf1kFjPzrZ7K3TMxu/L/GVTwV0+KoiiKoiiKoiiKsgV/hX6t8LbVD54AAAAASUVORK5CYII=\" alt=\"y(x0) = y0\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 15.5583px 7.91667px; transform-origin: 15.5583px 7.91667px; 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,iVBORw0KGgoAAAANSUhEUgAAAIEAAAAoCAYAAADZs5l2AAADf0lEQVR4nO2b25GqQBRFVw5kYAImQARGYAZkYAamQAyEQA6mYAyk4P1odtFyG6TbBqTmrCprpmSkH2z2eeCAYRiGYRiGYezAHThvON4NKDccz/hADVw3HrMAmh3GNQLUuLtyDwrgAVx2Gt8AKtxF2JMT0PU/jY05AS9+Iy7fgHbvSfxFan5n4wucIC0/2BC5wC/F4pr9Q9Of4o4TwS9xwc1pyzL10BS4WH7BxdNQUqVjoU19EhcKyv5cIbu+zswhBoWEvSqVFEqGvQnlVuf+WHbH1aAtbtNeuDt7jI49cRssFAqWbLbyhqd3PolK5Z3eryPXESJWnD63DK+lOcmp//uaYf2hUOZfo9UcToN0vF9ocAsKHSv796uIcfQZXzwtTnzX/vccam9x803hleHVJIx78z4/doMzbj2rVmGKo1OZdaj00qRjJ6XFNP05UjbsEw3puUoOJ0gRssLYlBuWhG/SrOjihCZQ8/8dnyoCXaAOZ9troLkdLTnU3oT25co6N8wbikvj2F/0740TtlQRVMy7zpiC+LIvdW57o9AbEvBcqLyRySX8CfibdyOcMKZu9NkbZ842C4Z29FTCNMVRRaBke5xwl4TXL3fQZ74WgT8BWf+UC0D6Rvtim6sEin5cJZMxIpCrpbBldRBCFZRv/VMuILfIJoLQBO6EXQCGZDImCTr3Y2icJTlBighU7aSwV3UgxmH5wue1ZxWBJvBgKEumTixbX9qUUT+g4j0v+NQcShHBg337BN+Uub5TnnBi+OS2WUXgT+DBZ1vrWK76msH+/bxAY1SEXSdFBFONryPgh+UHy5pnWUXgX5wld1LNtKWr+XMnnN2rJG1xApg6T6wIUsLUr6G9WZrxZxWBTtixrMaee1jjtzrHZSe8t0pDx0WsCO6s13/YCu3d0gRzFRHEtIKfhC1LffGK8ORUAk4dF7Ei6DjWw6MQLXHJZVYRVJGDg3ODNduZMSK4Mu8qR0AVVMwasomgTBhcNOR5+hdiqQgKnBiPnAuoLxPbe8kiAqkvtde+5rd9l4qg4bgVAQx7mNJoShKBvhHUMljoty3WE0N/ISdKPudEULGeE62F1vXEXQP1UGLxnz5GicDvN3/jAKEJtZnOVzBsjt9PH5/7yjEdwG+YdaQ5wIX3a9kQcTMrM1/rW7lbJmZH/j+DK5+rI8MwDMMwDMMwDMPIyT8ZjIEuGJbJhgAAAABJRU5ErkJggg==\" alt=\"y(x1) = y1\" style=\"width: 64.5px; height: 20px;\" width=\"64.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: 51.725px 7.91667px; transform-origin: 51.725px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. The parameter \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);\"\u003ea\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: 169.967px 7.91667px; transform-origin: 169.967px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a constant. The function should return the values of \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);\"\u003ey\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: 50.95px 7.91667px; transform-origin: 50.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at the specified values of \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: 1.94167px 7.91667px; transform-origin: 1.94167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = solveODEC(x,a,Xbc,bc)\r\n%  y   = values of the function\r\n%  x   = independent variable\r\n%  a   = parameter in the equation\r\n%  Xbc = [x0 x1], values of x where the boundary conditions are specified\r\n%  bc  = [y0 y1], values of the function at x0 and x1, respectively\r\n\r\n   y = f(x,a,Xbc,bc);\r\nend","test_suite":"%% \r\nx   = [-1/3 -1/4 0 1/4 1/3];\r\na   = 1;\r\nXbc = [-1/2 1/2];\r\nbc  = [2 4];\r\ny   = solveODEC(x,a,Xbc,bc);\r\ny_correct = [2.599319657044238 2.854101966249684 3.464101615137754 3.854101966249684 3.932652990377571];\r\nassert(all(abs(y-y_correct)\u003c1e-13))\r\n\r\n%% \r\nx   = [-0.6 -0.2 -0.05 0.12 0.2];\r\na   = sqrt(3);\r\nXbc = [-0.7 0.3];\r\nbc  = [0 1];\r\ny   = solveODEC(x,a,Xbc,bc);\r\ny_correct = [0.237055225759061 0.877546669526703 0.995431932094838 1.046546024897035 1.039090864471318];\r\nassert(all(abs(y-y_correct)\u003c1e-13))\r\n\r\n%% \r\nx   = [-0.8 -0.6 -0.3 -0.15 0.1 0.25 0.375];\r\na   = 2;\r\nXbc = [-0.8 0.4];\r\nbc  = [-1 3];\r\ny   = solveODEC(x,a,Xbc,bc);\r\ny_correct = [-1 1.68647951290722 4.138417234449975 4.687455882945745 4.630189304757032 4.024530246664777 3.199461161409147];\r\nassert(all(abs(y-y_correct)\u003c1e-13))\r\n\r\n%% \r\nx   = [-0.7 -0.45 -0.2 0.05 0.3 0.55 0.8];\r\na   = pi;\r\nXbc = [-0.9 0.9];\r\nbc  = [-1 1];\r\ny   = solveODEC(x,a,Xbc,bc);\r\ny_correct = [1.764854605944604 2.706629373469937 1.6090059417224112 -0.4259046519843118 -2.225041323571773 -2.630850806938173 -0.6162122684969365];\r\nassert(all(abs(y-y_correct)\u003c1e-13))\r\n\r\n%%\r\na   = 5;\r\nXbc = [-1/2 1/2]; \r\nbc  = [-1 1];\r\ny   = 1;\r\nx   = fzero(@(z) solveODEC(z,a,Xbc,bc)-y,0);\r\nx_correct = 0.104528463267653;\r\nassert(abs(x-x_correct)\u003c1e-13)\r\n\r\n%%\r\na   = 5;\r\nXbc = [-1/2 1/2]; \r\nbc  = [-1 1];\r\ny   = 1;\r\nx   = fzero(@(z) solveODEC(z,a,Xbc,bc)-y,0);\r\nx_correct = 0.104528463267653;\r\nassert(abs(x-x_correct)\u003c1e-13)\r\n\r\n%%\r\na   = 2*randi(4)+1;\r\nXbc = [-3/4 3/4]; \r\nbc  = [-2 2];\r\nx   = rand-3/4;\r\nym  = solveODEC(-x,a,Xbc,bc);\r\nyp  = solveODEC(x,a,Xbc,bc);\r\nassert(abs(ym+yp)\u003c1e-13)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-05-25T04:18:45.000Z","updated_at":"2021-05-25T04:23:56.000Z","published_at":"2021-05-25T04:23:56.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\u003eWrite a function to solve the following ordinary differential equation: \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=\\\"(1-x^2) y\u0026quot; - x y' + a^2 y = 0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e(1-x^2)\\\\frac{d^2y}{dx^2} -x \\\\frac{dy}{dx}+a^2 y = 0\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\u003ewith \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=\\\"y(x0) = y0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_0) = y_0\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=\\\"y(x1) = y1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x_1) = y_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. The parameter \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\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is a constant. The function should return the values of \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=\\\"y\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at the specified values of \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.\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":53995,"title":"Solve an ODE: nonlinear third-order equation","description":"Write a function to solve the ordinary differential equation\r\n\r\non the domain  with , , and either  or . The input variable ord indicates the order (either 1 or 2) of the specified derivative. The function should return the values of  at the requested values of the independent variable .","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: 124px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407.5px 62px; transform-origin: 407.5px 62px; 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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 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: 176.35px 7.66667px; transform-origin: 176.35px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to solve the ordinary differential equation\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: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 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,iVBORw0KGgoAAAANSUhEUgAAAI4AAAAkCAYAAABfegKAAAAEYElEQVR4Xu1bOYsWQRDd/QkekRh5BEaKKCYaGHklgoKKIAbiFRiJogYGoqJoIuIBBpuICoKRogYaaCIaaGTgERp54C/Q92BqaXr7m+7pr3q+GrYHHgvf9FR3v3pTXdU9Oz1Vr8pABgPTGc/URyoDU1U4VQRZDFThZNFWH6rCqRrIYqAKJ4u2+lBp4TwHxSuADcCvAnTH7C9Dny+BD8DeAv1bNanByylM7gqwBvjkT7SkcFajs4/AH2BlAeGk2D+Cfu8AL4CtVr2sPC4tXn5jXAuATcDbPoVzEZ2dBS4B55TJobkU++/Rbh2wA3hWYAwWTWrwsh0TewowUq8PTbJkxPmKDhc2jvtegOGYfS5T39omX2BMFkxq8HILEznW9sKVEo44rVS0SbHPnObBPIs2WrxQfEwxgtGGb0cp4TC3uFww2qTYf4j+l7dN3kJ4UB6DBi+SI7Uu76WEw6z+CXBXmRgxl2L/HxoHK4JCY7JgVoMXVlNrgdYqNEU4i2BkFfAZ8EtqhsYl3j22fwd0KcE3ov0PwM+FpG/3Xop9JncHYpO34OnIGCbBCwuKQ8CcEtwd6yjhcMDbACZILMl4HQ1EECnZWO7ub4RFx1I0bVUMBbcbOAxwOeH1KOBoLjd7AK63rI4orFT7FPScMjLiKLktgk1sPrJZ6GVos2mBF0Ya8t56xSKOvN10LisUP4pI9s1OFjfCifXp3xdx8Hd/aZEEl/f6LKn54rzpOpFA+9DLlmrWIi+zY48Jhw1d54U2gygeZt8jM/AIU1IJsNlp4KrXXvrPFWaqo9x2TBC5azrudQMGcvePLPLSSTiMOj+bJ0LlNTec/gYc3oV02agLbTgxXzkBzJedX5c3s7ykRBxORMImHUsHukkya/5dQGsyFVGRHA2wGZdFN0lmRKPtUhVaF4H33dYsL6nCcSfg5iFcRnYC4x4gyt4BHePmBQzXFCt3oOfjZZaXVOG4E9jXRCA6UiPaiCCkQruNH443P04q2kyqqgq9HJZ4mR1fqnD4gD8BRqHNCtFGBuMvh0tx4/WEoo2FqsoiL1nC8R37BVZkb0VjGXGXQ1ZQ94EZJ7pp9JFqw0JVJWO1xEuWcGQC3Izjx1Hc19H8XMJdDrlcjVPipwpkCO1M8tJlqXLDN0XDL/u0L54vyeVXV9p9DcmeOV66CIdEywRK7eLykG4LUOpzjCGJxR2rOV5yhONWPdqOkG9lS0Qz7bH2ac8cL12Ew6VqptASRSewBNZOuPt0bqm+TPKSKhzZiNOsonyiub1+HYiezJbykFG7JnlJEQ4Vz1B5Hsg9sIv5hBt9rNY0q7RYn0O4b5aXkHB4fHAQeAU8BvidzD1A66xI9kh4HnUNOAnwSGHcY4shCKFtjIPiJSQcyeBlku4Rg4Zz5B+9xFbJZFtjvH3ZGBQvIeFQ+WcAHjEwImj/awuXvgtNlLmJv7lf6fXl0L76GRQvKTlOX8TVfgbEQBXOgJxlaahVOJa8MaCx/Ac8ViI0v+/5OwAAAABJRU5ErkJggg==\" alt=\"y'y'' = y'''\" style=\"width: 71px; height: 18px;\" width=\"71\" height=\"18\"\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: 384.5px 32px; text-align: left; transform-origin: 384.5px 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: 46.2917px 7.66667px; transform-origin: 46.2917px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eon the domain \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAAkCAYAAACkATUaAAAEKklEQVR4Xu1aOc9OQRT+vh8g1kolaCSEBNEgoUAoSRCNRGJNFIhdZ4keoVCKJWohCgWNECEKhaWR6Cz/gOeRmeTkmrlz75yZu3jnJiff+71z5yzPM3PmzMw7PVWeiUNgeuIiLgFPFdIncBAU0gvpE4jABIZcZnoh3YvAQrTMN60vJhCnsYQ8F47OhHypczg003eh80XIa8gbyAIIvzsDeQj5PhY0/nM/SfY+yGnDza1Y0m+g4yHIZcg5oeQAPt+EPIHs6YH4rbD5sge7ucaNNp6ThuzZxsGD+BtFuiX2MxSscQD8GN9tdgyIXMBQr806i/B5BeRdTmMd6NbGwyWXs/s9ZL2ZoHQ7inSmio8QjpzqLLdY0OG75p/cBEhwaPI+5Cykdt3qgLRYEzniWQtnnmtmup3l1LEN8sgRHUcZswAf38CIBUUOLNYTnNmW7Gv4MNZC0kV2qnjUpL8CsKsM0ATcN6N+oI3ZgOQv1jIs+ucEJ6GbjVV1EY+a9N8mnJ/4O6cmNLuu85W6wdEEHVt97u9oZtPeEsg3x6Beju9mKDNK1/GoSGfAbyNI9y0DIcLlVsNWn1yzU6U9aZ+2jkE2iUwmdyBsvwNhgconJqYu45GxqUiXndvM9GDFWGG/D3DkwYXdjtItW4hyWeNSNcsQ36ZA7SOeLKRzxnE98j3cH141jW1IZ6F4BWJnNmcbC7YuCzQ5uHfD9jLjz+GaeH1NQ4snyEX1RE6CQTK21IBwCW3cOvEJGhJ6WPmfgPDgxz7cAdyGdLkNs7ULTxv5rI4gnF2GEM8o0jvBcqXELsmXhWibVO4bG33GoyKdAcVU7xrQ+gJLLk/zEHeqe4Q+4lGT/gkAcAvWtJDje9zXa1OzD6wH0J3jyFUeQq2DjdQ1RZfxqEl3VbaulCbXxNj10KXXtcdlfXEqIflya0ofcp0qymVMnkGkjkdNerWyvedgRoLWpohrWytVT7NSgMVBxVu685C9EO7LWcylHLi+OHPEQ1tq0qnEFjm+Ct5W7r5buLbkht6vgqWpITiI6Tevi13rOtP+V4jrziHkZ9P2lPEkI53bEI5+7qWrAMtbuBxrYR1wFqztLVI976uXQjiASShjs1vRalaj7eMdzXraionHhU+SmU7FTOHPjIUNBmQCxkMbFm4xx5RNZ0LoPfrRtHC0tQd1ujKTvTjytYd8SdHeJp6qPU7C65CdpoH8HIF4dyOhn0tR4Q4ISefx5C8zEJ62AD0FKBodTOEbjb8XHGAwExytadfYzt3Xxla1Q5748zYeeP1Dfoj0HE7bWyyN7g91I1mjOKLv6OLpg3R5EhaB8d8umkIu1qav3+ji6YN0Vv4rlcjzYqTpmq40Few+unj6ID2IYnkhLwKF9Lz4DlJ7IX2QtOR1qpCeF99Bai+kD5KWvE4V0vPiO0jtfwC9TyI0o8V1UAAAAABJRU5ErkJggg==\" alt=\"0 \u003c= x \u003c= 1\" style=\"width: 62.5px; height: 18px;\" width=\"62.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: 16.3333px 7.66667px; transform-origin: 16.3333px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e with \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAoCAYAAAA16j4lAAAFR0lEQVR4Xu1auYoVQRR1/sAtMhKXwEgRl0QDDVxBBBUVE8HAJVUUFTFxwSV1A4NJREUFE3fQQBNRRCMDF/wA1y/Qc6DvUK+mlltd3f1mym44zPC6qrrqnLpL3e6RKf1VNAMjRa+uX9yUXuDCN0EvcC9w4QwUvrwuLXgGuLwBHAE+NMDrHIxxucHxGpjSxBuiK4FTxKVwsyqqXkUo47ivgS0NbZqJp1DmjLoQmCI8Bk4CDwPz3YF7p4C3wDtgNsDfjgJ3gR+evgvx+z1geaBNJk2Tt3sXAtONTq/E8jHFNvuBM8Bxo9Fe/H8VeALsCgh4GPdWA+smrxTtzLxtgVdg2i+BucBXzxJExC8eK6T1r3WIbw/3GT9cAK61Q9XkHLVtgSkOhT3goYfu+xMwLSAg3fTNqv8i/PUlaNwoZ4H5AUufnCplzLpNgcV6Y6LQBfPaCLhiNJMuWjcv24WbS+dm+Q7sBG5lcFJU1zYFZlyl9TH++q43uLGkuhly4z/RhlZOoecFxqPHoNBLi1IpYzEagUnYAuAjYGeycqRx3aMoTyuRfVP8W934FdkIEofZPLQRmGydA2Y65ppBU+td63IcnZhPYLrX9QAzW1oOr32AncCIZdlZLo8u7wEWNc57ZiFteDtFYJ8r5zgbgAfASiB2hranZZ6/o8QFGrg2u6t5LseqOcYsWAoJtBpXlivHGz7MtBohOhQPJUanCuzaaLJYGTO0sXzEiPWriAs0CuUcrm51OVbNMyYwBzGzWJdlUGTGPDPuCVkhSzIFvl09R0N+SGBJyOoIzHXuVrEWbsQTg+9I6OtZh2PVVDUCS3bKAV1Z7Gn8/gcwXXGqwHTxoSIFn3GsWlFIYDZhXI+NpyKnw0Z1OFZNTyMwB+KxYzvAMiKFMJMtFhjsWnCqwCkxuESB63DcqMBSbeKgZoyha9kM8K95aQQWa+PfFIFjMY4WHHP5KnI6blSH48WYI3OjNYCz1q+1YDPjNRMnl/WSF63A7M8ETisw2/Hc7Itxmuzdp1vXWbQ9jxSOeWxkPYDCkgvpO867aQXmZORIdAX/M5HgjlvlsF62lQQqVlUys/CQZcp5mSEiVMSQ58bcuEvkYWXR5lw0HEtCZieSEkYHagApAttxmDVknzVps1kzk/ZtBnNnx4STxdc5Bw8zixaRNRxL9c+uB8gGHRA+RWCJEXSTrFDR95uv9myroPslYq/wpErly3wlg/a9bTKfK21T1uVz2cP4XcOxeDO7WifGMuDlUogwrS1WEyY5JJuVsFAtmu1o7ZwUK2a2mzbfNmmskhuKY9lJ3zDEqvPMGMfmfZ/AfO6YrikCs6PsnlC5UBYmrlXb9kXVkXGdrwQpPLNhhgHNGBIWNG3rkN9VnxDHWoHHxK8jsCRZmgXT/f5WWhStdStAgadW/Sj6M0BTGaLH4Fk99LZJM+dht6HAPo5bFZiDjyYSKFYcO7vmkiqufBMGSn3JkPvsJvvHODYTzpCLTrZgiZOhM6hvoV18L8Xsk0cM35cjTYrQ1lhajhtPsrRfRYYWzvPuN8D36jCHNCZUBwG7hJozZtd9UziWU4eddMoxaeB9gSsGy3nwOVbJz1WZ6FwHcj5m4wIuAfeBJj+nocviC/7QF5ddi6V5Xg7HsULHQDh0CWx+PcHJxqpRmgVJGyZCj4Am4iRd2iHgBOD7Zjplbl22zeWY/ZcB8oGhxOZxb/tcArMxPzZnTLsIaDLYLskp4Vm5HNMj7gG2AXcAfhM+6vKOqcekEsj9r9bQC1y43L3AvcCFM1D48noL7gUunIHCl9dbcOEC/wOUqXs4kXcIuQAAAABJRU5ErkJggg==\" alt=\"y(0) = y0\" style=\"width: 60px; height: 20px;\" width=\"60\" 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 7.66667px; transform-origin: 3.88333px 7.66667px; 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,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAoCAYAAAA16j4lAAAEgklEQVR4Xu1auaoVQRB97xNcIkOXQBAUVEw0UBA3EEFBxUQwcEkVV0REVFxSNzAwERUUTFwDE00UBQXBwAU/wPUL9ByZgn7jzHRVd8/KXDi85dbUdJ/T1VVdM5MT42fQDEwOenbj5CZGgQe+CEaBR4EHzsDAp9dkBM8AlzeBQ8C7BLzOho/LCf0lGFL3XDQlcIi4FPA38L2CNvp9CWxOtGi6p1DkiJoQmCI8Bk4ADxXjpbAHgL3AIoVwC2FzD1jmWQyKWw/PpAmBuY1OB7Z56ONCOJUJK6YagWl7EFgFrB2eRHEzqlvg5Rjec2AO8KViqOvx3QLgPXASWJLZagWm+SfgAnAtjpJhXV23wNyaKew+A22MxnMBAu/GNWeBeUBV3jYMpf+mdQos0WuJQtluQwTmFv8N2A7c7r80aWZQp8DMvcy7zL+WT2gE8x7cMSj0UssNh2yrEZiEzQc+FGx9rHhnlXz3A/9/mols4TBGYLl2Zs+26VCOvbyWCcztdR3Ao8q0zMse/MwXMBSR3z8Bdjik8ujyFmBT47x3FFMNYgRmsfYAWAG8MN5XFqvxsv/MiwKhyGcsx6px+iJYGgmsgj8D+bMmt2EuAn7cqBGiQ/JhjMCS92MXloq8EiNrzRHKsWqMPoHphHn0VuatKDIoMnOem/dEpJBIihGYUciFGCIw57lTxVq1EU8MVUfCoqtDOFYNVSOwVKd0eAY4lvN8Gn+zpehuxW0JzKH9AZgy+tT0COE4mcB0xGPHVuB1Rpx7zmSDId8LHgVW0T/FyMqx6g6aCKYjNhGuZh7dHMOtZROQb0O2LfCdgjGpCGnRyMoxh8pilj2DNwU767+paAWWqpjXuIVTUfTSpi2BY6r3pqvo/FqycMyxbgEOAzzFFKVOk8A0liPRFfzOQoIrbmVJpEg121YVXXSk8wWnW9z5bKu+t1bRri8tx/IodVcWwUkEzueIj3DOhwJFFWNMNRtTRUs1GlK9t1lFi8gWjt2dMonAkiN+wjM7VDyO5CtqdzVy+yas1WyMwKzojwLa1BMTqXVca+VYuEoisGy7nBjFneuZIclmE6TJXjQXFCt937PnOsRJ4dPKcVKBOQGeMfnZAPjezpCiQWMr5HBr5+7Azhk/loaFpAXL/VKIktqHheNaBJYiSzMxPt35pYgoisOCYXGBU+Z4vqTne5DPHYNndd/Oohl3mzYUWMtxUoG5fdwwEihRHFNZashmJ4hF30bA+pBB478pGyvHyQRmhDG3lVXNVQQ08b4Uq08eMSxvjjQlmvY+IRwnEdj6VmTRhPhA4itgfXSoIYcF1X6A1XpfX9UJ5ThIYDkPPgNhdwG2/a4DvhxYJQYncAm4D6R8nUZade6zaM2iaNsmFcdBArMwWuMwENKNKiOQhdCjRHlS3p8+3sPITcWxnPtN52BGxZEsp13ET+uzzbajow/3j+WYi3s1wLdI2Ytm84n1x6u8Xn3t+PRBxE6McRS4EzLUN4hR4Pq47YTnUeBOyFDfIEaB6+O2E55HgTshQ32DGAWuj9tOeP4LNsE7ONE1ag4AAAAASUVORK5CYII=\" alt=\"y(1) = y1\" style=\"width: 60px; height: 20px;\" width=\"60\" 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: 36.95px 7.66667px; transform-origin: 36.95px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, and either \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y'(0) = y'0\" style=\"width: 70px; height: 20px;\" width=\"70\" 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: 10.1083px 7.66667px; transform-origin: 10.1083px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e or \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"y''(0) = y''0\" style=\"width: 78.5px; height: 20px;\" width=\"78.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: 61.4583px 7.66667px; transform-origin: 61.4583px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. The input variable \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; perspective-origin: 11.55px 7.66667px; transform-origin: 11.55px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 11.55px 8px; transform-origin: 11.55px 8px; \"\u003eord\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; perspective-origin: 31.5083px 7.66667px; transform-origin: 31.5083px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e indicates the order (either 1 or 2) of the specified derivative. The function should return the values of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAlCAYAAAAeJYohAAADt0lEQVRoQ+2YOc9NQRjH3/cTiKVSWgoVBdFQUFgTkSgQjc5SaAhBRCGIrbQlCo0gSDTWQkNBoqBSWOIDWOMD8P/dnOfNZDLbuXPPzY17T/LPe98zM888/2edOdNTY/ZMjxnfqQnh/93jEw936OG5kn1LOCK8H8A+CyTjSlt5w/LwoMmavZD7RthWasRhEEapp8JJ4fEAPOuLWKoXD4SVwvec/GEQJuzmCDtyylSMH9batcKGnIyuCa+SAi+FhcKXnDKV45+0/oJwPSWna8KEMkT3V5IpWb5Hk84Ki1Oh3SVh8+6y0oJSwioxh1rxTdgp3InN65IwuUvekr/DeogoiK+oIYyAJcKHQKjQC+dHxn7o/fOGdBvCKZlEzZ9ExFC8zgnzYmEd8zCCNwr7hNmNtnv11y8IkGL8mbDL2YRW8U7gkHG+gC3zycF1AgWO54xwvPltrYexn8JyIVQEN+n9I2G18Cq0by6krbGz0WfB73WELUbhca1qGyfzyVEIr/5uDEa1dfebpf/fCleF7QIpEksTqxtRQ+cIoxN5eLtRLmQ5SJMzbt5YaEUtHbJ+887W8i/E7wqXhGgh8gyHY6oIW/VDrhtmts/pxjtu6NYQNi8hH89SByy0E3aaGfqrX6RY8BBS4mEkYV3CCQUQ5B7hCEH/LFtDmP1Qmod8bVvlB0KYgnKtUcLtq4T7VsE/NtYSpr2sbwwcbTERd0OYNAgeZUs9bFWXPdxCFPIuc2oJW0Th4eTJySOd7Q6lhJFrLYhqyVERr6+JWNLysLRKu3q70cT7zULpLcv2DbXQ3h5tCPt5/FHrY/2QNpOslpFwNA9ZW2JaqFBGls90lL77cMjyhBmVE0Kp6km4g+yVrdnEev6BxqOhPKYFXhRiNy86xrGUI9t42G0XkF0UM3Pzns05lKSqLOHL81q4IdwTrL35/fiQxjB2zsh0kujduw1hFLN2UZJXFp6xua4Bke1XVrdQhsZ9e1saJXXrh7AVrYyDe8OE5a+IxQnhUwKKvnA868q1LxmxcXcuEcVZIRl5bQjjkZs5gZ4VzEtd34kxHkV0ixC8NJhepYTxArkRq8opbxd/byoJmcgcOghtM/tlpYTwIL46Ul2/RsK2gmdvKQXqoOAfeYNyQ4QRsFsgb+4LFBMqaPLjWEZrjHZZeCiU3HpKjUDKcOF37+LJtSHC1v9sYT+npdimFJYnQjLPCtmSZrSqE0L2e7TJDBHGakcFciLV5Av1Gq1pJTk8WhpXajMhXGnAkV8+dh7+B4Vl2SZvhV5OAAAAAElFTkSuQmCC\" alt=\"y(x)\" 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: 84.4px 7.66667px; transform-origin: 84.4px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at the requested values of the independent variable \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: 1.94167px 7.66667px; transform-origin: 1.94167px 7.66667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = solve3ordNLODE(x,y0,y1,yd,ord)\r\n%  x = requested values of the independent variable\r\n%  y = values of function at the requested values of x\r\n%  y0, y1 = values of the function at x = 0 and x = 1\r\n%  yd = value of either y'(0) or y''(0)\r\n%  ord = 1 if yd is the first derivative or 2 if it is the second derivative\r\n\r\n   y = A1*exp(r1*x)+A2*exp(r2*x)+A3*exp(r3*x);\r\nend","test_suite":"%%\r\ny0 = 2.231252941;\r\ny1 = 6.297567308;\r\nyd = 1.557407725;\r\nord = 1;\r\nx  = [0.3 0.5 0.8];\r\ny_correct = [2.790588219 3.308319582 4.544300275];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 2.231252941;\r\ny1 = 6.297567308;\r\nyd = 1.71275941;\r\nord = 2;\r\nx  = [0.3 0.5 0.8];\r\ny_correct = [2.790588219 3.308319582 4.544300275];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 3.287682072;\r\ny1 = 9.107569130;\r\nyd = 1.154700538;\r\nord = 1;\r\nx  = 0.25:0.25:0.75;\r\ny_correct = [3.669824691 4.306714708 5.456245713];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 3.287682072;\r\ny1 = 9.107569130;\r\nyd = 8/3;\r\nord = 2;\r\nx  = 0.25:0.25:0.75;\r\ny_correct = [3.669824691 4.306714708 5.456245713];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 3.693147181;\r\ny1 = 3.046411846;\r\nyd = -2;\r\nord = 1;\r\nx  = 0.2:0.2:0.8;\r\ny_correct = [3.36426198 3.152361229 3.034571214 3.000213221];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))\r\n\r\n%%\r\ny0 = 0.722781494;\r\ny1 = 2.637280183;\r\nyd = 1.030077779;\r\nord = 2;\r\nx  = 0.2:0.2:0.8;\r\ny_correct = [0.950884887 1.231252941 1.581096155 2.030246566];\r\nassert(all(abs(solve3ordNLODE(x,y0,y1,yd,ord)-y_correct)\u003c1e-6))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-02-07T03:08:13.000Z","updated_at":"2022-02-07T13:11:31.000Z","published_at":"2022-02-07T03:11:39.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\u003eWrite a function to solve the ordinary differential equation\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=\\\"y'y'' = y'''\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\\\\prime y\\\\prime\\\\prime = y\\\\prime\\\\prime\\\\prime\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\u003eon the domain \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=\\\"0 \u0026lt;= x \u0026lt;= 1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e0 \\\\le x \\\\le 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e with \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=\\\"y(0) = y0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(0) = y_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=\\\"y(1) = y1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(1) = y_1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and either \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=\\\"y'(0) = y'0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\\\\prime(0) = y\\\\prime\\n_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e or \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=\\\"y''(0) = y''0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey\\\\prime\\\\prime(0) = y\\\\prime\\n\\\\prime_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. The input variable \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\u003eord\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e indicates the order (either 1 or 2) of the specified derivative. The function should return the values of \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=\\\"y(x)\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ey(x)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e at the requested values of the independent variable \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.\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\"}]}"}],"term":"tag:\"boundary value problem\"","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:\"boundary value problem\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"boundary value problem\"","","\"","boundary value problem","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f9c4b301198\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f9c4b3010f8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f9c4b300838\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f9c4b301418\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f9c4b301378\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f9c4b3012d8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f9c4b301238\u003e":"tag:\"boundary value problem\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f9c4b301238\u003e":"tag:\"boundary value problem\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"boundary value problem\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"boundary value problem\"","","\"","boundary value problem","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f9c4b301198\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f9c4b3010f8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f9c4b300838\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f9c4b301418\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f9c4b301378\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f9c4b3012d8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f9c4b301238\u003e":"tag:\"boundary value problem\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f9c4b301238\u003e":"tag:\"boundary value problem\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":54000,"difficulty_rating":"easy-medium"},{"id":51745,"difficulty_rating":"medium"},{"id":51815,"difficulty_rating":"medium"},{"id":53995,"difficulty_rating":"medium-hard"}]}}