Make
Make [flags ] waveName [, waveName ]...
Make [flags ] waveName [= {n0,n1,...}]...
Make [flags ] waveName [= {{n0,n1,...},{n0,n1,...},...}]...
The Make operation creates the named waves. Use braces to assign data values when creating the wave.
Flags
| /B | Makes 8-bit signed integer or unsigned integer waves if /U is present. | |
| /C | Makes complex waves. | |
| /D | Makes double precision waves. | |
| /DF | Wave holds data folder references. | |
| See Data Folder References for more discussion. | ||
| /FREE[=nm] | Creates a free wave. Allowed only in functions and only if a simple name or wave reference structure field is specified. | |
| See Free Waves for further discussion. | ||
| If nm is present and non-zero, then waveName is used as the name for the free wave, overriding the default name '_free_'. The ability to specify the name of a free wave was added in Igor Pro 9.00 as a debugging aid - see Free Wave Names and Wave Tracking for details. | ||
| /I | Makes 32-bit signed integer or unsigned integer waves if /U is present. | |
| /L | Makes 64-bit signed integer or unsigned integer waves if /U is present. Requires Igor Pro 7.00 or later. | |
| /N=n | n is the number of points each wave will have. If n is an expression, it must be enclosed in parentheses: | |
Make/N=(myVar+1) aNewWave | ||
| /N=(n1, n2, n3, n4) | ||
| n1, n2, n3, n4 specify the number of rows, columns, layers and chunks each wave will have. Trailing zeros can be omitted (e.g., /N=(n1, n2, 0, 0) can be abbreviated as /N=(n1, n2)). | ||
| /O | Overwrites existing waves in case of a name conflict. After an overwrite, you cannot rely on the contents of the waves and you will need to reinitialize them or to assign appropriate starting values. | |
| /R | Makes real value waves (default). | |
| /T | Makes text waves. | |
| /T=size | Makes text waves with pre-allocated storage. | |
| size is the number of bytes preallocated by Igor for each element in each text wave. The waves are not initialized - it is up to you to initialize them. | ||
| Preallocation can dramatically speed up text wave assignment when the wave has a very large number of points but only when all strings assigned to the wave are exactly the same size as the preallocation size. | ||
| /U | Makes unsigned integer waves. | |
| /W | Makes 16-bit signed integer or unsigned integer waves if /U is present. | |
| /Y=type | See Wave Data Types below. | |
| /WAVE | Wave holds wave references. | |
| See Wave References for more discussion. | ||
Wave Data Types
You can use /Y=(numType) to set the data type instead of the /B, /C, /D, /I, /L, /R, /T, /U, and /W data type flags. See WaveType for numType values. The /Y flag overrides other type flags. You still need to use the explicit data type flags to control the automatic wave reference created by the compiler if you use the wave in an assignment statement in the same function; see Automatic Creation of WAVE References for details.
Details
Unless overridden by the flags, the created waves have the default length, type, precision, units and scaling:
| Property | Default |
|---|---|
| Number of points | 128 |
| Precision | Single precision floating point |
| Type | Real |
| x, y, z, and t scaling | x0=0, Δx=1 ("point scaling") |
| x, y, z, and t units | "" (blank) |
| Data Full Scale | 0, 0 |
| Data units | "" (blank) |
The maximum allowed number of elements (rows * columns * layers * chunks) in a wave is 214,700,000,000.
The preferred precision set by the Miscellaneous Settings dialog only presets the Make Waves dialog checkbox, and determines the precision of imported waves. It does not affect the Make operation.