📄 ch2_8.htm
字号:
<HTML>
<HEAD>
<TITLE> 储存及读取数据 </TITLE>
<META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0z">
</HEAD>
<BODY BACKGROUND="bg0000.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img/bg0000.gif">
<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>
另外要注意,当<FONT COLOR=#FF0000>save</FONT>成MAT档是储存变数本身,而非直接储存变数的数据;而<FONT COLOR=#FF0000>save</FONT>成ASCII档则是直接储存变数的数值。
<P>
这二者储存的差异,造成在读取MAT档和ASCII档的数据有所不同,详见以下的范例。
<BR>
<P>
须注意的是在储存及读取数据时,MAT-file或是ASCII-file的档最好为矩阵型态,否则可能在读取时有困难。数
据储存成矩阵的大小可以为<I>m×n</I>,其中<I>m</I>是列的数目,<I>n</I>则为行的数目。
<BR>
<P>
以下就是几个<FONT COLOR=#FF0000>save</FONT><TT>, </TT><FONT COLOR=#FF0000>load</FONT>的使用范例
<P>
<FONT COLOR=#FF0000>>> x=1:5; y=11:15; % 先产生二个列阵列
(row array} x, y</FONT>
<P>
<FONT COLOR=#FF0000>>> save data1 x y % 是将 x,y 二个变数的数值存入
data1 这个MAT-file,</FONT>
<P>
<FONT COLOR=#FF0000>%即data1其实是data1.mat。data1.mat 的内容为变数x,
y,而非(1:5, 11:15) 的数据</FONT>
<P>
<FONT COLOR=#FF0000>>> save data2.dat x y -ascii % 如果要将data1改以ASCII格式储存,则须加上-ascii</FONT>
<P>
<FONT COLOR=#FF0000>% 的选项。data2.dat 的内容为(1:5, 11:15) 的数据
</FONT>
<P>
<FONT COLOR=#FF0000>>> type data2.dat % type 指令可以将
data2.dat 的内容列出<BR>
</FONT>
<P>
<FONT COLOR=#FF0000>>> load data1 % 读取 data1.mat 档</FONT>
<P>
<FONT COLOR=#FF0000>>> x, y % 叫出 data1.mat中的变数来读取其内容(1:5,
11:15)<BR>
</FONT>
<P>
<FONT COLOR=#FF0000>>> load data2.dat % 读取 data2.dat 档</FONT>
<P>
<FONT COLOR=#FF0000>>> x2=data2(1,:); y2=data2(2,:); % 将data2中的第一及第二列数据分别以x2及y2</FONT>
<P>
<FONT COLOR=#FF0000>%变数读入,之后在运算中即可使用这二列数据</FONT>
<P>
<FONT COLOR=#FF0000>>> x=21:25; y=31:35;</FONT>
<P>
<FONT COLOR=#FF0000>>> save data3.dat x y -ascii</FONT>
<P>
<FONT COLOR=#FF0000>>> load data3.dat;</FONT>
<P>
<FONT COLOR=#FF0000>>> x3=data3(1,:); y3=data3(2,:); % 将data3中的第一及第二列数据分别以x3及y3
变数读入</FONT>
<P>
<FONT COLOR=#FF0000>%,之后在运算中即可使用这二列数据</FONT>
<P>
<FONT COLOR=#FF0000>>> A=[1 2 3; 4 5 6];</FONT>
<P>
<FONT COLOR=#FF0000>>> save data4.dat A -ascii %是将A阵列的数值存入data4这个ASCII-file</FONT>
<P>
<FONT COLOR=#FF0000>>> load data4.dat</FONT>
<P>
<FONT COLOR=#FF0000>>> x4=data4(:,1); % 令 x4 为 data4 的第一行数据</FONT>
<P>
<FONT COLOR=#FF0000>>> y4=data4(:,2); % 令 y4 为 data4 的第二行数据</FONT>
<P>
<FONT COLOR=#FF0000>>> z4=data4(:,3); % 令 z4 为 data4 的第三行数据
<BR>
</FONT>
<HR>
<P>
<A HREF="ch2_7_1.htm" tppabs="http://166.111.167.223/computer/cai/matlabjc/ch2_7_1.htm"><IMG SRC="lastpage.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img/lastpage.gif" BORDER=0></A>
<A HREF="ch2_9.htm" tppabs="http://166.111.167.223/computer/cai/matlabjc/ch2_9.htm"><IMG SRC="nextpage-1.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img/nextpage.gif" BORDER=0 HSPACE=10></A>
<A HREF="index.html" tppabs="http://166.111.167.223/computer/cai/matlabjc/index.html"><IMG SRC="outline-1.gif" tppabs="http://166.111.167.223/computer/cai/matlabjc/img/outline.gif" BORDER=0 HSPACE=6></A>
<BR>
<FONT SIZE=2 COLOR=#FF00FF>上一页 下一页 讲义大纲 </FONT>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -