thanks!
while these methods are working alone, they seem do not work in my problem:
plots[odeplot](solution,[[t, 100 * s(t), linestyle = DASH], [t, 100 * c, linestyle = DOT], [t, f(t), linestyle = SOLID], [t, h(t), linestyle = DASHDOT]], 0..20, title="calculation of cost", legend=["100*s(t)", "100*c", "f(t): total cost", "h(t): expense"]);
here s(t), f(t), h(t) are solutions of an ede equation, c is a constant. the above command draws 4 curves. I want to add a vertical line. Use the methods you told me I cannot do that.
more hints?
thanks.

(1) why do you suggest me reading ?dsolve/numeric. do that related to my post?
(2)for the same post, someone reply to me says the following. do you think he is correct? in my original code, 'solution' is reassigned each time after x is changed, but in his second example, 'solution' is not reassigned.
=========================
You need to call dsolve before you assign values to any parameters that
my vary. Perhaps the following example will illustrate what is going
on without need of much further comment.
restart;
Dsolve:= ()-> subs(_x= x, ()-> _x):
x:= 1: # Set parameter value before the call to Dsolve.
solution:= Dsolve();
solution := () -> 1
# The above shows that the 'solution' makes no reference to x. It
merely # uses the value of x.
solution();
1
x:= 2:
solution();
1
restart;
Dsolve:= ()-> subs(_x= x, ()-> _x):
solution:= Dsolve(); # Call Dsolve before setting x.
solution := () -> x
# The 'solution' explicitly refers to x.
x:= 1:
solution();
1
x:= 2:
solution();
2
==========================

this is very helpful. thanks a lot!

thanks. need sometime to think about your post. right now I try your suggestions:
> tau := x -> fsolve( S(t)=c, t );
> plot( tau, 500..5000 );
but it is a straigt horizontal line. that seems not correct, does it?

thanks!
(1)Doesn't maple help says: "Press ENTER to send the command to Maple; press SHIFT+ENTER to continue the command on the next line"? I use SHIFT+ENTER between commands; only the last is a ENTER. So each time after I change x, I only need to click ENTER on my keyboard and all commands will be executed sequentially. Isn't that right?
(2) did you mean the key F4? what is that? I didn't see any introduction about it in help.
(3)did you notice the value of tau? sometimes it doesn't change. plots are always correct, but tau doens't.

no. This is for my research and i am not a math student.

Thanks! it works for (1) and (2). But i still don't understand (3). x decides tau, so tau is a function of x. write it as tau(x). then f(tau)=f(tau(x)) is a function of x. denote it as g(x). we want to find the minimum of g(x), so it will help if we find g'(x)=0 first. But in you post you suggest me to solve f'(t)=0. is the independent variable t or x?
The only way i can think of to solve (3) is use a loop and let x loop from, say, 500 to 5000. and then pick the minimum.
any suggestions?

Thank you first!
I am pretty new to maple, so i have some questions
(1) what is _zi? is it a internal variable?
(2) can an expression containing Ei(a,z) been called closed form? Ei(a,z) seems so complex to me.
(3) with these solved s(t), f(t) and h(t), why cannot I evaluate them? say for t=5, maple doesn't return results for me s(5), f(5), or h(5)...

Thanks a lot! I haven't have time to check the details of your answer yet, but it seems very promising. will check at a later time. At current time I quickly give the values of parameters as follows, if you are interested in trying these values:
A := 100;
v := 50;
rho := 0.996;
r := 0.9;
theta := 0.993;
x :=5000; # change within 500..9000
c := 200;
m := 100000;
l := 5000;

Thanks for reply!
what? it can be solved symbolically? how?
The parameters are as follows:
A := 100;
v := 50;
rho := 0.996;
r := 0.9;
theta := 0.993;
x :=5000; # change within 500..9000
c := 200;
m := 100000;
l := 5000;