File: io_save.html

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (120 lines) | stat: -rw-r--r-- 6,950 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FreeMat: SAVE Save Variables To A File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FreeMat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('io_save.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">SAVE Save Variables To A File </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_io.html">Input/Ouput Functions</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>Saves a set of variables to a file in a machine independent format. There are two formats for the function call. The first is the explicit form, in which a list of variables are provided to write to the file: </p>
<pre class="fragment">  save filename a1 a2 ...
</pre><p> In the second form, </p>
<pre class="fragment">  save filename
</pre><p> all variables in the current context are written to the file. The format of the file is a simple binary encoding (raw) of the data with enough information to restore the variables with the <code>load</code> command. The endianness of the machine is encoded in the file, and the resulting file should be portable between machines of similar types (in particular, machines that support IEEE floating point representation).</p>
<p>You can also specify both the filename as a string, in which case you also have to specify the names of the variables to save. In particular </p>
<pre class="fragment">   save('filename','a1','a2')
</pre><p> will save variables <code>a1</code> and <code>a2</code> to the file.</p>
<p>Starting with version 2.0, FreeMat can also read and write MAT files (the file format used by MATLAB) thanks to substantial work by Thomas Beutlich. Support for MAT files in version 2.1 has improved over previous versions. In particular, classes should be saved properly, as well as a broader range of sparse matrices. Compression is supported for both reading and writing to MAT files. MAT file support is still in the alpha stages, so please be cautious with using it to store critical data. The file format is triggered by the extension. To save files with a MAT format, simply use a filename with a ".mat" ending.</p>
<p>The <code>save</code> function also supports ASCII output. This is a very limited form of the save command - it can only save numeric arrays that are 2-dimensional. This form of the <code>save</code> command is triggered using </p>
<pre class="fragment">   save -ascii filename var1 var 2
</pre><p> although where <code>-ascii</code> appears on the command line is arbitrary (provided it comes after the <code>save</code> command, of course). Be default, the <code>save</code> command uses an 8-digit exponential format notation to save the values to the file. You can specify that you want 16-digits using the </p>
<pre class="fragment">   save -ascii -double filename var1 var2
</pre><p> form of the command. Also, by default, <code>save</code> uses spaces as the delimiters between the entries in the matrix. If you want tabs instead, you can use </p>
<pre class="fragment">   save -ascii -tabs filename var1 var2
</pre><p> (you can also use both the <code>-tabs</code> and <code>-double</code> flags simultaneously).</p>
<p>Finally, you can specify that <code>save</code> should only save variables that match a particular regular expression. Any of the above forms can be combined with the <code>-regexp</code> flag: </p>
<pre class="fragment">   save filename -regexp pattern1 pattern2
</pre><p> in which case variables that match any of the patterns will be saved. </p>
<h1><a class="anchor" id="Example"></a>
Example</h1>
<p>Here is a simple example of <code>save</code>/<code>load</code>. First, we save some variables to a file.</p>
<pre class="fragment">--&gt; D = {1,5,'hello'};
--&gt; s = 'test string';
--&gt; x = randn(512,1);
--&gt; z = zeros(512);
--&gt; who
  Variable Name       Type   Flags             Size
              D      cell                    [1x3]
              s      char                    [1x11]
              x    double                    [512x1]
              z    double                    [512x512]
--&gt; save loadsave.dat
</pre><p>Next, we clear the variables, and then load them back from the file.</p>
<pre class="fragment">--&gt; clear D s x z
--&gt; who
  Variable Name       Type   Flags             Size
            ans    double                    [0x0]
--&gt; load loadsave.dat
--&gt; who
  Variable Name       Type   Flags             Size
              D      cell                    [1x3]
            ans    double                    [0x0]
              s      char                    [1x11]
              x    double                    [512x1]
              z    double                    [512x512]
</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="index.html">FreeMat Documentation</a></li><li class="navelem"><a class="el" href="sec_io.html">Input/Ouput Functions</a></li>
    <li class="footer">Generated on Thu Jul 25 2013 17:17:39 for FreeMat by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.1 </li>
  </ul>
</div>
</body>
</html>