Formatted input and output to files.

See also the Euler core functions for file input and output in Euler Core.

For files of unknown sources getmatrix() or getvector() should be used to read the numerical content. For output, writematrix() is the easiest choice.

The functions work either for files opened with open(), or for a file name provided as a parameter, or for terminal output.

For Latex, writelatex() can be used.

functioncomment setdecimaldot(s)

Set the decimal dot. Returns the current value of the decimal dot. >dd=setdecimaldot(","); >... >setdecimaldot(dd);

functiondecimalcomma()

Use a decimal comma for matrix input Returns the previous value.

functionoverwrite getvector(n, comma=0)

Read at most numbers from an input file A file must be opened for this to work. The function returns a vector of numbers. The numbers in the file can be separated by any character. See:

getvectorline (Elementary File Input and Output),

open (Euler Core),

close (Euler Core),

close (Maxima Documentation)

functionoverwrite getvectorline(n, comma=0)

Read at most numbers from an input line A file must be opened for this to work. The function returns a vector of numbers. The numbers in the file can be separated by any character. See:

getmatrix (Elementary File Input and Output),

readmatrix (Elementary File Input and Output)

functiongetmatrix(n:real scalar, m:real scalar, filename:string="", comma=0)

Read a real nxm Matrix from the file. If the filename is "", the file must be opened before. Else the file will open and close for read. Matrix values must be decimal fix point numbers with a dot (or a comma, if set). They must be stored row after row. comma : use decimal comma See:

getvector (Elementary File Input and Output),

open (Euler Core),

readmatrix (Elementary File Input and Output)

functionreadmatrix(filename:string="", max=1000, expand=false, comma=false)

Read a real matrix from the file. The matrix is stored row by row in lines, with an empty line ending the matrix. If the filename is not empty, the function will open the file for reading, and close it after reading. Otherwise, it will use the provided file name. max : the maximimal number of columns. expand : incomplete lines will filled with 0. comma : use decimal comma instead of dot To import matrices from Excel, export to CSV (comma separated values). These files can be read directly. On German systems, enable the decimal comma with >comma. See:

writematrix (Elementary File Input and Output),

open (Euler Core),

close (Euler Core),

close (Maxima Documentation),

getmatrix (Elementary File Input and Output)

functiongetmatrixlines(filename:string="", max=1000, expand=0)

Obsolete. Use readmatrix. See:

readmatrix (Elementary File Input and Output)

functionwritematrix(v:real, file:string=none, format:string="%0.16g", separator=none, comma=false)

Write a real nxm Matrix to the file row after row. v : real matrix file : filename format : C type format, see printf separator : Separator string comma : >comma uses a decimal comma. If the filename is not "", the file will be created (beware!), opened, and closed after writing. If the filename is "", a file opened with open(filename,"w") will be used, or the terminal. For cvs output (comma separated values), set the separator to "," and use a filename with extension "csv". For German files, set the use ";" and enable >comma. These files can be opened directly in Excel. See:

readmatrix (Elementary File Input and Output),

open (Euler Core),

printf (Basic Utilities),

printf (Maxima Documentation)

functionwriteform(x, format="%0.16g")

Converts x in the specified format to a string

functionwritevar(x,s="",filename="",newlines=0)

Write a variable Euler syntax. If a filename is given, or a file is open, it will be used, otherwise the function will write to the command line. s : the name of the variable filename : a file to write to newlines : flag for newlines to separate elements in a row

functionwriteformat(x,f:string="%g",sep1=", ",sep2=";", writereal=1,ibracket1="~",ibracket2="~",perline=100)

Print the vector x formatted with format f. The format is applied to real and imaginary part, or lower and upper part of the elements of x. writereal : Complex and interval values become two real values. Rows are separated with sep2. If a file is open, the function will write to that file. See:

writevar (Elementary File Input and Output)

Latex is a text system for mathematical texts. Sometimes, you may wish to output Euler matrices in Latex. Symbolic matrices can be printed using the latex command of Maxima.

functionwritelatex(x,f="%g",environment="pmatrix",perline=100)

Write x for AMS latex matrix environment This function can output an Euler matrix for the AMS Latex environment pmatrix, or any other environment. The open file is used, or the terminal. perline: Maximal number of items per line See:

writeformat (Elementary File Input and Output),

open (Euler Core),

latex (Plot Functions)

Use the dir command to get a listing of the files in the active directory. This is the directory, where the notebook is stored. It can be changed using the changedir command in Euler Core.

functionoverwrite dir(pattern:string=none, dirs:integer=false)

vector of strings with matching file names or subdirectories. The pattern can be something like "*.en" or "file?.dat" If dirs==true, then only directories will be listed. Directories are listed with a "/" at the end. See:

changedir (Euler Core),

searchfile (Euler Core)

functionprintfile(filename:string, lines:index=100)

Print the first lines of a file See:

open (Euler Core),

close (Euler Core),

close (Maxima Documentation)

functionprinthexfile(filename:string, n:index=1024)

Print the first bytes of a file in hex