Re: Plot3D
- To: mathgroup at smc.vnet.net
- Subject: [mg74014] Re: Plot3D
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Mon, 5 Mar 2007 04:59:23 -0500 (EST)
- Organization: The Open University, Milton Keynes, UK
- References: <es910n$2po$1@smc.vnet.net> <esb39l$339$1@smc.vnet.net>
Jean-Marc Gulliet wrote: > yjkingma at telus.net wrote: >> For the system below I would like to generate a 3D plot of i[t] when the p= >> arameter b takes >> values from say .2 to 3. Please help. >> jack >> a==.0002; b==1; c==1; d==.002; >> >> so==NDSolve[{s'[t]====-a*s[t]*i[t]-s[t]*i[t]*d*UnitStep[t-b]*(1-Exp[-.1(t-b= >> )]), >> >> i'[t]Sa*s[t]*i[t]-c*i[t],r'[t]Sc*i[t], >> >> s[0]S10000,i[0]S1,r[0]====0},{s[t],i[t],r[t]}, >> >> {t,0,10},MaxSteps=AE1000,StartingStepSize=AE.001]; >> >> f==Plot[Evaluate[{s[t],i[t],(10000-.5 r[t])}/.so],{t,0,10},PlotPoints=AE500= >> ,GridLines=AEAutomatic,PlotStyle=AE{{Thickness[.008],RGBColor[1,0,0]},{Thic= >> kness[.008],RGBColor[0,1,0]},{Thickness[.008],RGBColor[0,0,1]}},Frame=AETru= >> e] >> > > Could you, please, post some syntacticly correct code? > > Regards, > Jean-Marc > On 3/3/07, yj kingma <yjkingma at hotmail.com> wrote: > Hi Jean Marc, > hope this is clearer. > this is a modified SIR model of an epidemic. > with given parameters it gives the numbers of susceptibles, infected > individuals and > the remaining individuals. works fine. > now i want to run a 3D plot of i[t] as one of the parameters is varied over > a desired range. > have not been able to accomplish this. can you? > regards,jack. > > > > a=.0002; b=1; c=1; d=.002; > so=NDSolve[{s'[t]==-a*s[t]*i[t]-s[t]*i[t]*d*UnitStep[t-b]*(1-Exp[-.1(t-b)]),i'[t]Å a*s[t]*i[t]-c*i[t],r'[t]Å c*i[t], > s[0]Å 10000,i[0]Å 1,r[0]==0},{s[t],i[t],r[t]}, > {t,0,10},MaxSteps(r)1000,StartingStepSize(r).001]; > f=Plot[Evaluate[{s[t],i[t],(10000-.5 > r[t])}/.so],{t,0,10},PlotPoints(r)500,GridLines(r)Automatic,PlotStyle(r){{Thickness[.008],RGBColor[1,0,0]},{Thickness[.008],RGBColor[0,1,0]},{Thickness[.008],RGBColor[0,0,1]}},Frame(r)True] > [I have posted the re-corrected to MathGroup.] Here is the above code in plain ASCII and InputForm. In[1]:= a = 0.0002; b = 1; c = 1; d = 0.002; so = NDSolve[{Derivative[1][s][t] == (-a)*s[t]*i[t] - s[t]*i[t]*d*UnitStep[t - b]* (1 - Exp[-0.1*(t - b)]), Derivative[1][i][t] == a*s[t]*i[t] - c*i[t], Derivative[1][r][t] == c*i[t], s[0] == 10000, i[0] == 1, r[0] == 0}, {s[t], i[t], r[t]}, {t, 0, 10}, MaxSteps -> 1000, StartingStepSize -> 0.001]; f = Plot[Evaluate[{s[t], i[t], 10000 - 0.5*r[t]} /. so], {t, 0, 10}, PlotPoints -> 500, GridLines -> Automatic, PlotStyle -> {{Thickness[0.008], RGBColor[1, 0, 0]}, {Thickness[0.008], RGBColor[0, 1, 0]}, {Thickness[0.008], RGBColor[0, 0, 1]}}, Frame -> True]; Regards, Jean-Marc P.S. One should use the *InputForm* when copying an expression from a Mathematica notebook to an email client. To do so, select the cell(s) one wants to include in one's email, then within the *Cell* menu select either *Convert To* or *Display As* and choose *InputForm*. Finally, copy and paste as usual.