From: Andrew on 28 Dec 2009 08:30 "Andrew " <removethis(a)removethis.com> wrote in message <hfu5i3$pa8$1(a)fred.mathworks.com>... > "Steven Lord" <slord(a)mathworks.com> wrote in message <hfu3b4$4c9$1(a)fred.mathworks.com>... > > > > "Andrew " <removethis(a)removethis.com> wrote in message > > news:hftok5$rpb$1(a)fred.mathworks.com... > > > "Andrew " <removethis(a)removethis.com> wrote in message > > > <hft9k1$5hj$1(a)fred.mathworks.com>... > > >> "Andrew " <removethis(a)removethis.com> wrote in message > > >> <hfjqpl$sb4$1(a)fred.mathworks.com>... > > >> > Three exact differential equations ... with simple by-hand solutions. > > >> > > > >> > dsolve('2*x*y + (x^2 + y^2)*Dy = 0','x') > > >> > dsolve('1 + log(x) + 2*x*log(y) + (x^2/y - 2*y)*Dy = 0','x') > > >> > dsolve('Dy + (6*x^2*y + y^3 + 5*x^4)/(2*x^3 + 3*x*y^2 + 12*y^3)=0','x') > > >> > > > >> > Matlab gives quite nutty answers ... one including the Wright omega > > >> > function. > > >> > > > >> > What am I doing wrong? This does not seem to be a case of some constant > > >> > terms here and there that aren't 'summed up'. > > >> > > > >> > Thanks for any insight! > > >> > > > >> > Andrew > > >> > > >> Any of you experts out there able to help? Is this something that I > > >> shouldn't expect to work? > > > > > > The correct answers are provided by the free Maxima by the way ... for > > > example > > > > > > depends(y,x); > > > (2*x^3 + 3*x*y^2 + 12 *y^3)*diff(y,x) + (6*x^2*y + y^3 + 5*x^4) = 0; > > > ode2(%,y,x); > > > > > > Anyone spot something wrong? Or should I be just filing a bug report? > > > > Yes, please file a bug report via Technical Support. > > > > -- > > Steve Lord > > slord(a)mathworks.com > > comp.soft-sys.matlab (CSSM) FAQ: http://matlabwiki.mathworks.com/MATLAB_FAQ > > Thanks, have done, Steve. At least I know it's not me making a mistake. > > Cheers. Famous last words!!! Of course it's going to be making a mistake :-) Just to close this thread, I found out some more information after raising a bug report and thought I would report back. The answers Matlab gives *are* correct. They are in explicit form. Matlab always provides an explicit solution if it can. Sometimes the explicit form is cumbersome but is normally what's required. In the cases I presented, the implicit form is nicer looking as a final result. There is currently no way to specify to Matlab to return the implicit form or convert between explicit and implicit. An enhancement request has been raised by support. However, if you have the symbolic math toolbox, then it possible in this case to directly integrate and the result of the integration is the preferred implicit form. This can be done by using MuPAD, for example eq = 1 + ln(x) + 2*x*ln(y(x)) + (x^2/y(x) - 2*y(x))*diff(y(x), x) int(eq, x) = c gives the implicit result x^2*ln(y(x)) - y(x)^2 + x*ln(x) = c. Finally, I just want to add that the support engineer who helped me was fantastic, found out what I was really after, provided the above workaround after talking with the development team and gave me lots of useful surrounding information. I am very impressed with the Mathworks team! Happy new year (if using the Gregorian calendar!), Andrew
First
|
Prev
|
Pages: 1 2 Prev: Matched Filter design with blood vessel detection Next: 2-D Edge curvature calculation |