Re: problems with DSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg99433] Re: problems with DSolve
- From: dh <dh at metrohm.com>
- Date: Tue, 5 May 2009 06:02:47 -0400 (EDT)
- References: <gtnk4s$3md$1@smc.vnet.net>
Hi, Plot has the attribute HoldAll. Therefore, DSolve is not evaluated before beeing fed to Plot. Plot will set "t" before evaluating DSolve, what gives the message. To override HoldAll, you may use "Evaluate" like: Plot[Evaluate[ x[t] /. DSolve[{x'[t] == y[t], y'[t] == -x[t], x[0] == 1, y[0] == 2}, {x, y}, t]], {t, 0, 5}] Daniel szymon.stoma at gmail.com wrote: > hello, > > i am new to mathematica, therefore sorry if my question is trivial. I > would like to understand why the following line does not work: > > Plot[(x[t] /. DSolve[{x'[t] == y[t], y'[t] == -x[t], x[0] == 1, y[0] > == 2}, {x, y}, t]), {t, 0, 5}] > > whereas after splitting into two lines it works: > sol = DSolve[{x'[t] == y[t], y'[t] == -x[t], x[0] == 1, y[0] == 2}, > {x, y}, t] > Plot[(x[t] /. sol), {t, 0, 5}] > > i would like to use Manipulate to play with boundary conditions, so > the first notation would be highly useful. > > thanks a lot for any feedback. >