|
From: Ethan A M. <merritt@u.washington.edu> - 2009-02-15 04:12:17
|
On Friday 13 February 2009, James R. Van Zandt wrote: > Though this code allows up to five independent variables, I would > really rather there was no fixed limit. There are at least a couple > of challenges in removing the limit: > > - df_readascii is set up to read a maximum of seven columns. That isn't quite true. The limit comes from the number of slots in each point's data structure. df_readascii itself is quite happy to read from as many columns as you like. It just cannot store all of them into the data structure belonging to a single point. There are already several plot styles or input modes that involve reading more data than fits into 7 slots. Plot "with vectors", for example, allocates two data structures for each point so that it can store values for each end of the vector. And the 'matrix' keyword allows reading an unlimited number of values per line (at least so far as I know). But I don't know if either of these is a useful model for what you want to do. Ethan > - For an arbitrary number of variables, we would also need a set of > dummy variable names that can be extended. For example: > > z > x:z > x:z:s > x:y:z:s > x:y:t1:z:s > x:y:t1:t2:z:s > x:y:t1:t2:t3:z:s > x:y:t1:t2:t3:t4:z:s > ... > > This would be incompatible with the names I have used. > > Or, we could decide that any user who wants more than five independent > variables would have to supply their own dummy variable names in range > specs. > > I noticed Z ranges were implemented in the code, but were not > documented or reported in the log file. The log file reported "using" > specs and the fit function. Also, if some range spec changed a dummy > variable name, the new name was not reported, making it hard to > interpret the reported range and fit function. I have fixed those > bugs. > > Every now and then while fitting, I have gotten an error message "No > data to fit" which brings me up short. So while I was working in the > area, I expanded the report like this: > > fit [-4:4][yaks=-2:2][4:4][0:22] a*x+b*yaks+c*t 'lin3.dat' u 1:2:3:4:5 via a,b,c > Read 64 points > Skipped 32 points outside range [x=-4:4] > Skipped 24 points outside range [yaks=-2:2] > Skipped 6 points outside range [t=4:4] > Skipped 2 points outside range [z=0:22] > No data to fit > > (If there are points to fit, nothing new is printed.) > > So, let me know what you think. > > - Jim Van Zandt -- Ethan A Merritt |