Path: news.mathworks.com!not-for-mail From: <HIDDEN> Newsgroups: comp.soft-sys.matlab Subject: Re: Problem solving bvp of Meniscus Date: Fri, 28 Oct 2011 18:06:13 +0000 (UTC) Organization: The MathWorks, Inc. Lines: 48 Message-ID: <j8equl$em1$1@newscl01ah.mathworks.com> References: <1207681.241.1319819354868.JavaMail.geo-discussion-forums@yqgn17> Reply-To: <HIDDEN> NNTP-Posting-Host: www-06-blr.mathworks.com Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: newscl01ah.mathworks.com 1319825173 15041 172.30.248.38 (28 Oct 2011 18:06:13 GMT) X-Complaints-To: news@mathworks.com NNTP-Posting-Date: Fri, 28 Oct 2011 18:06:13 +0000 (UTC) X-Newsreader: MATLAB Central Newsreader 1187260 Xref: news.mathworks.com comp.soft-sys.matlab:747522 AtaÃas Pereira Reis <ataiasreis@gmail.com> wrote in message <1207681.241.1319819354868.JavaMail.geo-discussion-forums@yqgn17>... > I've been trying to solve the following equation: > y''/(1+y'^2)^(3/2) = y + a > > and a is a constant value that should be determined after solving the equation. > > That's a boundary value problem, with the conditions: > > z(infinity) = 0, z'(infinity) = 0 and z'(0) = -cotg(theta) > ......... - - - - - - - - - - If by z(infinity) = 0, z'(infinity) = 0 you mean that these conditions apply to y = z, then you would also need y"(infinity) = 0. Any other value would make y'(infinity) = 0 impossible. This in turn implies that the quantity 'a' must be zero to satisfy your original differential equation. Hence you have just the equation y" = y*(1+y'^2)^(3/2) This is not really a boundary value problem if you do the following. Define v = y' = dy/dt Then y" = dv/dt = (dv/dy)*(dy/dt) = dv/dy * v = 1/2*dv^2/dy which gives you the equation 1/2*dv^2/dy = y*(1+v^2)^(3/2) or written as differentials 1/2*(1+v^2)^(-3/2)*dv^2 = y*dy Integrating this gives -(1+v^2)^(-1/2) = y^2/2 + C where C is the constant of integration. The condition y(infinity) = 0 and v(infinity) = 0 then implies that this constant must be C = -1, giving y'^2 = v^2 = 1/(1-y^2/2)^2 - 1 = (y^2-y^4/4)/(1-y^2/2)^2 or y' = (+ or -) sqrt((y^2-y^4/4)/(1-y^2/2)^2) This is then the equation you hand to one of matlab's ode functions. The only additional condition you need now is y(0) or y'(0) and the sign will immediately determine the sign needed in the equation for y'. Roger Stafford