PatrickT

Dr. Patrick T

2108 Reputation

18 Badges

16 years, 305 days

MaplePrimes Activity


These are replies submitted by PatrickT

If I'm looking at the right thing, I think you want to use implicitplot,

implicitplot(expr, w=-1..1, kk=-1..1);

but it looks like you've got a bb in there too (if I'm looking at the right expression), in which case you may either fix bb,

bb:=1;

or use implicitplot3d,

implicitplot3d(expr, w=-1..1, kk=-1..1,bb=-1..1);

and you need this at the top of your worksheet:

with(plots);

or:

with(plots,implicitplot);

or you can use, instead:

plots:-implicitplot3d(expr, w=-1..1, kk=-1..1,bb=-1..1);

I do not know where to find a list of these, perhaps this post could serve to generate a "user favorites" list. I for one recommend Env_in_maplet.

Here is a list of predefined environment variables (a very small subset!):


%

%%

%%%

Digits

UseHardwareFloats

index/newtable

mod

Normalizer

NumericEventHandlers

Order

printlevel

Rounding

Testzero

I hadn't been able to go much beyond t=5 with the following adaptation of Leigh Becker's procedure detailed in http://www.maplesoft.com/view.aspx?SF=33093/135070%5CMethodSteps.mw


SimpleMethodOfSteps := proc (T)
  local i, y, DDE, IC, Sol, s, X; 
  global x; 
    s[0] := t -> f(t);
  for i from 0 to T-1 do 
    DDE := diff(y(t), t) = y(t)*(1-s[i](t-1)); 
    IC := y(1+i) = s[i](1+i); 
    Sol := dsolve({DDE, IC}, y(t)); 
    s[i+1] := unapply(rhs(Sol), t); 
    X := t -> s[0](t)+sum((s[j+1]-s[j])(t)*Heaviside(t-1-j), j = 0 .. T-1);
  end do; 
    x := unapply(simplify(convert(X(t), piecewise, t)), t); 
    plot(x(t), t = 0 .. 1+T, discont = true, labels = [t, x]);
end proc:
f := t -> 1/2: # can be changed to other initial conditions, such as 1/2+t
SimpleMethodOfSteps(5); # procedure very slow beyond t=5

I hadn't been able to go much beyond t=5 with the following adaptation of Leigh Becker's procedure detailed in http://www.maplesoft.com/view.aspx?SF=33093/135070%5CMethodSteps.mw


SimpleMethodOfSteps := proc (T)
  local i, y, DDE, IC, Sol, s, X; 
  global x; 
    s[0] := t -> f(t);
  for i from 0 to T-1 do 
    DDE := diff(y(t), t) = y(t)*(1-s[i](t-1)); 
    IC := y(1+i) = s[i](1+i); 
    Sol := dsolve({DDE, IC}, y(t)); 
    s[i+1] := unapply(rhs(Sol), t); 
    X := t -> s[0](t)+sum((s[j+1]-s[j])(t)*Heaviside(t-1-j), j = 0 .. T-1);
  end do; 
    x := unapply(simplify(convert(X(t), piecewise, t)), t); 
    plot(x(t), t = 0 .. 1+T, discont = true, labels = [t, x]);
end proc:
f := t -> 1/2: # can be changed to other initial conditions, such as 1/2+t
SimpleMethodOfSteps(5); # procedure very slow beyond t=5

This very enlightening discussion should have been mentioned at the top of this thread:

http://www.orcca.on.ca/TechReports/TechReports/2005/TR-05-02.pdf

while this answers your question directly:

http://www.maplesoft.com/view.aspx?SF=33093/135070%5CMethodSteps.mw

This very enlightening discussion should have been mentioned at the top of this thread:

http://www.orcca.on.ca/TechReports/TechReports/2005/TR-05-02.pdf

while this answers your question directly:

http://www.maplesoft.com/view.aspx?SF=33093/135070%5CMethodSteps.mw

of course, you've reminded me of this several times in the past but I keep forgetting: Maple assumes complex, stubbornly I assume real...

thanks jakubi.

of course, you've reminded me of this several times in the past but I keep forgetting: Maple assumes complex, stubbornly I assume real...

thanks jakubi.

I see, but do x and y also need to be explicit rather than symbolic?

 

params := [m=3,n=4,d=5]:
combine( x^(m/d)*y^(n/d), radical );
combine( eval( x^(m/d)*y^(n/d), params ) , radical);
combine( eval( eval( x^(m/d)*y^(n/d), params ), {x=2,y=3}  ) , radical);

                             (m/d)  (n/d)
                            x      y


                             (3/5)  (4/5)
                            x      y


                                  (1/5)
                               648



I see, but do x and y also need to be explicit rather than symbolic?

 

params := [m=3,n=4,d=5]:
combine( x^(m/d)*y^(n/d), radical );
combine( eval( x^(m/d)*y^(n/d), params ) , radical);
combine( eval( eval( x^(m/d)*y^(n/d), params ), {x=2,y=3}  ) , radical);

                             (m/d)  (n/d)
                            x      y


                             (3/5)  (4/5)
                            x      y


                                  (1/5)
                               648



enlightening discussion, thanks for dropping by pagan, ;-)

The main transformation made by combine/radical is
  ... * x^(m/d)*y^(n/d) * ...  ==>  ... * (x^m*y^n)^(1/d) * ...         
where x and y are both positive, (i.e. signum(x)=signum(y)=1) and 0<m, n<d where m, n, d are integers.
For example: 2^(1/2)*3^(1/2) ==> 6^(1/2)

 

combine(2^(1/2)*3^(1/2),radical);

                                  1/2
                                 6

combine(2^(1/8)*3^(1/8)*35^(1/8),radical);

                                  (1/8)
                               210

combine(2^(7/8)*3^(1/8)*35^(1/8),radical);

                                   (1/8)
                              13440

combine(2^(7/8)*3^(1/4)*35^(1/8),radical);

                            (1/4)     (1/8)
                           3      4480
Doesn't the above satisfy the conditions stated in the Help? e.g. n<d

combine(x^(m/d)*y^(n/d),radical) assuming x::positive,y::positive,m::integer,n::integer,d::integer,n<d;

                             (m/d)  (n/d)
                            x      y

Shouldn't the last line be ?
                               m  n (1/d)
                             (x  y )

combine(x^(m/d)*y^(n/d),radical) assuming n::posint,m::posint,d::posint, n=m;

                             (m/d)  (n/d)
                            x      y

maybe I'm not using asssuming properly here, am I?
First 67 68 69 70 71 72 73 Last Page 69 of 93