

OutWave = InputWave1 + InputWave2 * InputWave3. If all points in the result wave directly correspond to points in each of the input waves, you can write caluclation with wave names as it they were numbers: Once you specified where to store the result you can specify what kind of calulation to perform. Value p is counted from zero at the beginning of the wave, i.e in the notation MyWavevalue of p will vary from 5 though 15.įor more information see Indexing and Subranges, Igor 5 Manual, volume II, p. For each iteration in this process Igor has symbolic value p, which contains number of a point in the output wave which is being processed at this moment. No matter how you find which points to assign, Igor will allways start with the smallest point number and increment it through the range while making assignment. a sub-range of points within a wave - MyWave=.You are writing to, or assigning values to points in, a wave when it is to the left of = sign. While it is more intuitive to read data you will be working with first, it is the output wave (where you put the result) that determines how many dimensions and points will be used in calculation. clb2pos( DataWave, ClbWave, Value ) does the same search, except that it returns a value in DataWave at found point reference or NaN if such value does not exist.įor more information see page on reading data.It returns NaN (not a number) if requested Value is outside the range of values in ClbWave. clb2pos( ClbWave, Value ) returns a point number of calibration value in ClbWave that is closest to Value.There are two user functions that allow to find position of a calibrated value: These situations are examples of addressing by calibrated value.īecause this method involves two separate waves, there is no built-in unary operation like MyWave above (sob!). In such cases point number position has no real world meaning. An example of this situation is looking for intensity at specific peak/trough wavelength values in an absorption spectrum or a particular shift in Raman spectrum. In many case, however, we need to access data in one wave that correspond to a particular value of calibration in another wave. It is best to take a custom of addressing waves by point number reference whenever possible - always use, unless you have specific reason to use scaled calibration.

This means that in most cases booth methods will yeild the same result. Default scaled calibration starts with zero and increments by one from point to point. Practically we rarely use scaled calibration in this group. To specify position by scaled calibration incude numbers in round brakets: MyWave(5) or MyWave(5,10).To specify position by point number incude that number in square brackets: MyWave or MyWave.See Calibrations for details on types of calibrations used below.Ī particular point or a range of points within a wave can be addressed by either their position in a sequence or by scaled value: How this is done depends on whether you are reading or writing a value and how do you specify the position(s).Īddressing by position, scaled or calibrated value: In many cases we need to access a particuar point or subrange of points within a wave. If waves are of different size, the smallest size will be copied entirely. Where every point from wave MyData is copied to MyResult if waves have the same size (number of points). See matrices for more details.Įntire array of data in a wave can be addressed and manipulated as one object by using wave name, such as: Matrix can be visualized as a grid of numbers. When several sequences of values are combined together they make a two-dimensional wave, or a matrix. Simple wave above is a one-dimensional wave (linear). Notation MyExperiment means that you need a value at 4th position in wave called MyExperiment. This means that for a wave containing 100 values, index can vary form 0 to 99. Indexing in Igor starts from 0, not from 1 as we normally count. To access specific value you need to indicate the name (nickname) of the wave and which number in the sequence you need. It can be visualized as one column in a spreadsheet. For our convenience waves are given nicknames in human language.Ī simple wave is a single string (or array) of numbers. Wave are collections of number that can be manipulated as a group - all numbers at once. Waves are Igor objects you are most likely to work with. For more details see Waveform model of data, Igor 5 Manual, volume II, p.
