Re: plot
- To: mathgroup at smc.vnet.net
- Subject: [mg58191] Re: plot
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 22 Jun 2005 01:55:34 -0400 (EDT)
- Organization: The Open University, Milton Keynes, England
- References: <d98pto$elv$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Bosch, Darrell wrote:
> Dear Group, Thanks to several of you for providing good suggestions to
> my previous inquiry. In the program below I am trying to solve an
> equation for v, derive the solution with respect to size, and plot the
> resulting solution. The problem I have is in running the plot command.
> I am trying to set numerical values for variables in the derivative
> (other than size) and plot the derivative for size, but Mathematica
> won't recognize the settings for the other values. Would appreciate any
> suggestions. Darrell
>
>
> sol=Log[v]==-0.829923*(Log[size])+0.05652*(Log[size])^2+.000737*(Lo=
> g[siz
> e])^3-.002805*pop+.288472*(Log[elev])-.020531*soil1-.086192*soil2-.10992
> 9*Log[x]+.15501*Log[y]-.192311*Log[mall]+.024088*Log[town]+.044958*year
>
> sol2=Solve[sol,v]
>
> sol3=D[v /. sol2[[1]],size]
>
> Plot [Evaluate[sol3/. elev(r)379.82, soil1(r)0,
> soil2(r)1,mall(r)8861.89,town(r)8828.68,pop(r)5.9,x(r)24888.27,y(r)16881
> ..90,year(r)0,{size,100,1000}]]
>
>
Hi Darrell,
Please find hereafter your code with some corrections and comments:
In[1]:=
Lo = g[size]
Out[1]=
g[size]
As a rule of thumb, I would avoid using assignment within assignment.
Since I do not know what the function g is, I just set it to the identity.
In[2]:=
Lo = 1
Out[2]=
1
In[3]:=
sol = Log[v] == -0.829923*Log[size] +
0.05652*Log[size]^2 + 0.000737*Lo^3 -
0.002805*pop + 0.288472*Log[elev] -
0.020531*soil1 - 0.086192*soil2 -
0.109929*Log[x] + 0.15501*Log[y] -
0.192311*Log[mall] + 0.024088*Log[town] +
0.044958*year
Out[3]=
Log[v] == 0.000737 - 0.002805*pop - 0.020531*soil1 -
0.086192*soil2 + 0.044958*year +
0.288472*Log[elev] - 0.192311*Log[mall] -
0.829923*Log[size] + 0.05652*Log[size]^2 +
0.024088*Log[town] - 0.109929*Log[x] +
0.15501*Log[y]
In[4]:=
sol2 = Solve[sol, v]
Out[4]=
{{v -> (1.0007372716512315*E^(-0.002805*pop -
0.020531*soil1 - 0.08619200000000002*soil2 +
0.044958000000000005*year +
0.05652*Log[size]^2)*
elev^
0.2884720000000000061923799421`15.954589770191\
005*town^
0.0240879999999999983018028615`15.954589770191\
005*
y^
0.1550100000000000088906659812`15.954589770191\
005)/
(mall^
0.1923110000000000097131191978`15.954589770191\
005*size^
0.8299229999999999662918526155`15.954589770191\
005*
x^
0.10992899999999999893773861`15.954589770191005)\
}}
In[5]:=
sol3 = D[v /. sol2[[1]], size]
Out[5]=
-((0.8305348787006049*E^(-0.002805*pop -
0.020531*soil1 - 0.08619200000000002*soil2 +
0.044958000000000005*year +
0.05652*Log[size]^2)*
elev^
0.2884720000000000061923799421`15.9545897701910\
05*town^
0.0240879999999999983018028615`15.9545897701910\
05*
y^
0.1550100000000000088906659812`15.954589770191005\
)/
(mall^
0.1923110000000000097131191978`15.9545897701910\
05*size^
1.8299229999999999662918526155`16.2979847854069\
46*
x^
0.10992899999999999893773861`15.954589770191005)) \
+ (0.1131233411874552*E^(-0.002805*pop -
0.020531*soil1 - 0.08619200000000002*soil2 +
0.044958000000000005*year +
0.05652*Log[size]^2)*
elev^
0.2884720000000000061923799421`15.95458977019100\
5*town^
0.0240879999999999983018028615`15.95458977019100\
5*y^0.1550100000000000088906659812`15.954589770191005*
Log[size])/
(mall^
0.1923110000000000097131191978`15.95458977019100\
5*size^
1.8299229999999999662918526155`16.29798478540694\
6*x^0.10992899999999999893773861`15.954589770191005)
In[6]:=
Plot[Evaluate[sol3 /. {elev -> 379.82, soil1 -> 0,
soil2 -> 1, mall -> 8861.89, town -> 8828.68,
pop -> 5.9, x -> 24888.27, y -> 16881*0.9,
year -> 0}, {size, 100, 1000}]];
In Mathematica, replacement rules are of the form expr1 -> expr2 and if
you have several of them, you just enclose them within curly braces.
Best regards,
/J.M.