Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.5.2 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab Help >> Input/Output functions > save

save

Save a variable or a serie of variables in a binary file

Calling Sequence

save(filename [,x1,x2,...,xn])
save(fd [,x1,x2,...,xn])

Arguments

filename

Character string containing the path of the file

fd

A file descriptor given by a call to mopen

xi

Arbitrary Scilab variable(s)

Description

The save command can be used to save Scilab current variables in a binary file. If a variable is a graphic handle, the save function saves all the corresponding graphics_entities definition.

The file can be given either by its paths or by its descriptor previously given by mopen.

save(filename) saves all current variables in the file defined by filename.

save(fd) saves all current variables in the file defined by the descriptor fd. This prototype is obsolete and will be removed in Scilab 6.

save(filename,x,y) or save(fd,x,y) (with x and y variables of your environment) saves only named variables x and y. save(fd,x,y) is obsolete and will be removed in Scilab 6.

save(filename,"x","y") (with "x" and "y" names of variables of your environment) will save your data using the SOD (Scilab Open Data) format (based on HDF5), format that will be readable by Scilab 6 family.

save(filename,"-append","w", "z") (with "w" and "z" names of variables of your environment) will append your data in the existing SOD file called filename.

The change of format between the family 5 and 6 of Scilab has been decided because the 5 format is undocumented, not specified and hard to read. SOD (Scilab 6 default format) is fully documented and easy to read through HDF5 libraries or applications.

Saved variables can be reloaded by the load command.

Note that the written file is portable to other operating systems and architectures (little and big endian).

Examples

// Binary format readable up to Scilab 5 family
a=eye(2,2);b=ones(a);
save('val.dat',a,b);
clear a
clear b
load('val.dat','a','b');

// sequential save into a file
fd=mopen('TMPDIR/foo','wb')
for k=1:4, x=k^2;save(fd,x,k),end
mclose(fd)
fd=mopen('TMPDIR/foo','rb')
for i=1:4, load(fd,'x','k');x,k,end
mclose(fd)

// appending variables to an old save file
fd=mopen('TMPDIR/foo','rb+')
mseek(0,fd,'end') 
lst=list(1,2,3)
save(fd,lst)
mclose(fd)

// Binary format readable by Scilab 5.4.X and Scilab 6 family
a=eye(2,2);b=ones(a);
save("val.sod", "a", "b");
clear a
clear b
load("val.sod", "a", "b");

See Also

  • load — Load a saved variable or a serie of variables
  • write — write in a formatted file
  • save_format — format of files produced by "save"
  • mopen — opens a file in Scilab

History

VersionDescription
5.0.0 All uimenu or uicontrol handles are also saved by this function.
5.4.0
  • When called with variables names (character string) as input, variables are saved in SOD format, format that will be readable by Scilab 6 family.
  • The Scilab 5.X format is deprecated and will be removed with Scilab 6.
  • Using save with a file descriptor as first input argument is deprecated and will be removed with Scilab 6.
Report an issue
<< readb Input/Output functions setenv >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Apr 01 10:13:56 CEST 2015