home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / sci / math / symbolic / 3307 < prev    next >
Encoding:
Text File  |  1992-12-17  |  2.6 KB  |  72 lines

  1. Newsgroups: sci.math.symbolic
  2. Path: sparky!uunet!utcsri!torn!watserv2.uwaterloo.ca!watdragon.uwaterloo.ca!watdragon!drclark
  3. From: drclark@daisy.uwaterloo.ca (David R. Clark)
  4. Subject: Re: dumb maple question -- differential equations
  5. In-Reply-To: bagchi@eecs.umich.edu's message of Wed, 16 Dec 1992 23:40:06 GMT
  6. Message-ID: <DRCLARK.92Dec17110649@daisy.uwaterloo.ca>
  7. Sender: news@watdragon.uwaterloo.ca (USENET News System)
  8. Organization: University of Waterloo, Waterloo, Ontario, Canada
  9. References: <BAGCHI.92Dec16184006@quip.eecs.umich.edu>
  10. Date: Thu, 17 Dec 1992 16:06:49 GMT
  11. Lines: 59
  12.  
  13. In article <BAGCHI.92Dec16184006@quip.eecs.umich.edu> bagchi@eecs.umich.edu (Ranjan Drzzzzt!  Bagchi) writes:
  14.  
  15.    From: bagchi@eecs.umich.edu (Ranjan Drzzzzt!  Bagchi)
  16.    Subject: dumb maple question -- differential equations
  17.  
  18.    ...   (header and sample session deleted)
  19.  
  20.    There are several things I'd like to do with this data which 
  21.    I haven't had much luck with:
  22.  
  23.    1)  I'd like to break v1(t), v2(t), pr(t) into separate functions.  While
  24.    this sounds trivial, the only way I've been able to do it is with 
  25.  
  26.    V1 proc(t) op(2,op(2,pv(t))) end;
  27.  
  28.    which looks fairly inelegant.
  29.  
  30. Unfortunately, because Maple's sets are unordered, the hardcoded "2" in
  31. the first op call above will cause problems.  A more robust, but uglier,
  32. version is:
  33. V1 := proc(p)
  34.         local i,v;
  35.            v := pv(p);
  36.            for i in v do
  37.               if op(1,i) = 'v1(t)' then RETURN(op(2,i)) fi
  38.            od;
  39.            ERROR(`Could not find v1`);
  40.       end;
  41.  
  42.    2)  I'd like to collect a large (say 10000 point) array of data from each
  43.    of the functions.  Any attempt at this has taken what seems to be
  44.    an unbearably long time.  I've been using a do loop and putting data
  45.    in each array bucket.
  46.  
  47. Generating 10000 points from dsolve will take a long time.  We are working
  48. on speeding this up.  The only suggestion I can make is to generate the 
  49. points in order so that no unnecessarily large changes occur in the parameter
  50. value.
  51.  
  52.    3) I'd like to plot these derived function.  In the V1 I defined above, 
  53.    I get the following errors:
  54.  
  55.    > plot(V1,0..10);
  56.    Error, (in f) wrong number (or type) of parameters in function type;
  57.  
  58. I could not actually duplicate this error, but because of the set ordering
  59. problem I mention above the resulting plot was not useful.  There is a 
  60. command odeplot in the plots package for plotting the output of dsolve.
  61.  
  62.    help??
  63.  
  64.        -rj
  65.    --
  66.    Ranjan Bagchi                           Ranjan.Bagchi@umich.edu
  67.    oo   oooo  o oo   ooo oo oo   oo       o o  oooo ooo o       o        oooooooo
  68.  
  69. We, the SCG group at UW, are working on the dsolve package.
  70.  
  71. David Clark
  72.