Interpolate
Cory K
If I have a wave, for example:
10
20
30
40
50
Where is a function where I can interpolate more points?
The new wave would be :
10
20
30
40
50
60
70
80
90
100
... etc
I have tried the 'interpolate' function, but that adds points BETWEEN existing points rather than projecting farther.
Anyone know of a functiong that can do this?
And a simple though by no means foolproof method is "curve" fitting to a line.
Software Engineer, WaveMetrics, Inc.
February 25, 2009 at 01:29 pm - Permalink
Andy
February 25, 2009 at 08:57 pm - Permalink
We had some equipment reading to a data file, and the time stopped before all the data was done collecting.
So the time looked like :
....
760
770
780
0
0
0
0
....
But the data in the other columns continued. I just wanted to extrapolate the rest of the time values without having to go through and manually type them in (because there are many many points)
February 26, 2009 at 09:13 am - Permalink
DisplayHelpTopic "Waveform Arithmetic and Assignment"
at the command line.
For your specific case, you can make a wave assignment that multiplies the point number (which goes through 0,1,2,3,... for each point) by 10, and adds 10. Assuming that the wave that holds your time values is mytimewave, you would use
mytimewave = p * 10 + 10
This kind of wave arithmetic iterates over every point in the wave, and for each iteration sets p to be the point number.
If you wished to modify only a subset of the wave you would set a range on the left-hand-side:
mytimewave[100, 140] = p * 10 + 10
so only the values in the wave with point numbers from 100 to 140 would be changed.
February 26, 2009 at 11:28 am - Permalink
In this case, should your time increment be equal across all data points, you might instead consider using wave scaling on all the other waves that depend on it (ie, that might be plotted against it).
--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAH
February 27, 2009 at 03:55 pm - Permalink