📄 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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -