Skip to main content

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

/BMakes 8-bit signed integer or unsigned integer waves if /U is present.
/CMakes complex waves.
/DMakes double precision waves.
/DFWave 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.
/IMakes 32-bit signed integer or unsigned integer waves if /U is present.
/LMakes 64-bit signed integer or unsigned integer waves if /U is present. Requires Igor Pro 7.00 or later.
/N=nn 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)).
/OOverwrites 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.
/RMakes real value waves (default).
/TMakes text waves.
/T=sizeMakes 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.
/UMakes unsigned integer waves.
/WMakes 16-bit signed integer or unsigned integer waves if /U is present.
/Y=typeSee Wave Data Types below.
/WAVEWave 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:

PropertyDefault
Number of points128
PrecisionSingle precision floating point
TypeReal
x, y, z, and t scalingx0=0, Δx=1 ("point scaling")
x, y, z, and t units"" (blank)
Data Full Scale0, 0
Data units"" (blank)

The maximum allowed number of elements (rows * columns * layers * chunks) in a wave is 214,700,000,000.

note

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.

See Also

SetScale, Duplicate, Redimension