gdaAppend#
Purpose#
Appends data to a variable in a GAUSS Data Archive.
Format#
- retcode = gdaAppend(filename, x, varname)#
- Parameters:
filename (string) – name of data file.
x (matrix or array, string or string array) – data to append.
varname (string) – variable name.
- Returns:
retcode (scalar) –
return code, 0 if successful, otherwise one of the following error codes:
1
Null file name.
2
File open error.
3
File write error.
4
File read error.
5
Invalid data file type.
8
Variable not found.
10
File contains no variables.
14
File too large to be read on current platform.
17
Type mismatch.
18
Argument wrong size.
19
Data must be real.
20
Data must be complex.
Examples#
// Generate random x matrix
x = rndn(100, 50);
/*
** Create a GDA named `myfile`
** and overwrite existing `myfile`
*/
retcode1 = gdaCreate("myfile.gda", 1);
/*
** Write x matrix to `myfile` GDA
** and name it x1
*/
retcode2 = gdaWrite("myfile.gda", x, "x1");
// Generate random y matrix
y = rndn(25, 50);
/*
** Append y to existing x1 variable
** in `myfile.gda`
*/
retcode3 = gdaAppend("myfile.gda", y, "x1");
// Check orders of x1
gdaGetOrders("myfile.gda", "x1");
This prints :
125.00000
50.000000
Appending the y
matrix to x1
adds \(25*50 = 1250\) elements to x1
, making it a 125x50 matrix.
Remarks#
This command appends the data contained in x to the variable varname in filename. Both x and the variable referenced by varname must be the same data type, and they must both contain the same number of columns.
Because gdaAppend()
increases the size of the variable, it moves the
variable to just after the last variable in the data file to make room
for the added data, leaving empty bytes in the variable’s old location.
It also moves the variable descriptor table, so it is not overwritten by
the variable data. This does not change the index of the variable
because variable indices are determined NOT by the order of the variable
data in a GDA, but by the order of the variable descriptors. Call
gdaPack()
to pack the data in a GDA, so it contains no empty bytes.
See also
Functions gdaWriteSome()
, gdaUpdate()
, gdaWrite()