* {********************************************************************* File: var/matrix/writemat.cm This file shows how functions for writing matrix variables to the output file and standard output work. Author: Igor Gresovnik, May 1998 ************************************************************************} setfile{outfile writemat.ct} *{ We make a matrix variable which can hold 2x3x2 matrices and then make all matrices in its value table so that they have 2 rows and 4 columns: } newmatrix{mat[2 3 2]} ={i:1} while{(i<=2) [ ={j:1} while{(j<=3) [ ={k:1} while{(k<=2) [ setmatrix{mat[$i,$j,$k] 2 4} ={k:k+1} ]} ={j:j+1} ]} ={i:i+1} ]} setmatrixcomponents{mat 100*varindex[1]+10*varindex[2]+varindex[3]+ 0.1*varcomponent[1]+0.01*varcomponent[2]} write{\n"************ FUNCTIONS printmatrixvar and fprintmatrixvar ************"\n\n} fwrite{\n"************ FUNCTIONS printmatrixvar and fprintmatrixvar * ************"\n\n} *{ Functions printmatrixvar and fprintmatrixvar vrite all data for a matrix variable and its contents: } printmatrixvar{mat} fprintmatrixvar{mat} write{\n"************ FUNCTIONS printmatrix and fprintmatrix ************"\n\n} fwrite{\n"************ FUNCTIONS printmatrix and fprintmatrix * ************"\n\n} *{ Functions printmatrix and fprintmatrix can vrite one matrix or a subset of matrices on the matrix value table at once: } write{"Writing one matrix from variable mat (mat[1 3 2]):"\n} fwrite{"Writing one matrix from variable mat (mat[1 3 2]):"\n} printmatrix{mat[1 3 2]} fprintmatrix{mat[1 3 2]} write{"Writing a subset of matrices from variable mat (mat[2]):"\n} fwrite{"Writing a subset of matrices from variable mat (mat[2]):"\n} printmatrix{mat[2]} fprintmatrix{mat[2]} write{"Writing a subset of matrices from variable mat (mat[2]):"\n} fwrite{"Writing one matrix from variable mat (mat[2]):"\n} printmatrix{mat} fprintmatrix{mat}