Re: Plotting a series of Roots
- To: mathgroup at smc.vnet.net
- Subject: [mg128694] Re: Plotting a series of Roots
- From: "djmpark" <djmpark at comcast.net>
- Date: Sun, 18 Nov 2012 03:57:18 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <26601221.26209.1353142348747.JavaMail.root@m06>
William, Have you looked at the pieces of your construction? Before compounding one complex expression inside another and then wondering why the whole thing doesn't work, why not look at the steps on their own, outside of the Manipulate? Looking at the beginning, s1 is just a simple straight line through the origin, and t1 is just a constant. I don't see what is interesting about that. Maybe something interesting comes later? It looks like you are "multiplying" a Plot times a Column and I don't understand what that could mean. I think you would make more progress if you developed the parts of your construction first and made sure they worked and returned the entities you were expecting and only then put together the Manipulate presentation. David Park djmpark at comcast.net http://home.comcast.net/~djmpark/index.html From: William Duhe [mailto:wjduhe at loyno.edu] Bellow is a program that solves a diff eq, then finds a particular valued root for that eq. What I want to do is be able to plot how the root changes as a function of Lambda. m = Manipulate[Module[ {ti, tf, s1}, imgSize = 375; ti = 0;(*initial time*) tf = 100;(*final plot time*) s1 = NDSolve[{x'[t] == lambda, x[0] == 0}, x, {t, ti, tf}][[1]]; t1 = FindRoot[x[t] == .1 /. s1, {t, tf}]; delta[lambda] := Module[{times, v, s = s1[lambda]}, times = Quiet[ Chop[FindRoot[x[t] == .1 /. s, {t, #}] & /@ {tf - 1, ti + 1}]]; v = Flatten[x[t] /. s /. times]; Subtract @@ v]; Plot[delta[lambda], {lambda, 0, .007}, Frame -> True, Axes -> False, FrameLabel -> {"lambda", "Change in value of root"}, ImageSize -> imgSize, Epilog -> {Text[ToString[pt, TraditionalForm], pt, {-1.25, 1}], Red, AbsolutePointSize[4], Point[pt]}] Column[{Plot[Evaluate[{Tooltip[x[t] /. s1, "x[t]"]}], {t, ti, tf}, PlotRange -> Automatic, AxesLabel -> {"Time", "functions"}, ImageSize -> 350, Exclusions -> Automatic], Row[{"x[t] = 1 when ", t1 = Quiet[Chop[ FindRoot[x[t] == .1 /. s1, {t, #}] & /@ {tf, ti}]]}], "\n\n"}]], {{lambda, .001}, 0.001, 0.007, Appearance -> "Labeled"}]