Matlab 的数据文件I/ O 的实现方法
0 引言
Matlab 是一个功能强大的计算机辅助设计软件,被称为“草稿纸式的科学计算语言”,它具有强大的符号、数值计算、矩阵运算以及图形显示的功能,它被广泛地应用在数字信号处理、自动控制、图像处理、神经网络、优化设计、模糊逻辑、仿真、小波分析等方面。
Matlab 应用中常需要实现Matlab 与其他应用程序的数据共享,即需将数据文件读入Matlab 进行有效的数据处理,然后将Matlab 处理好的数据保存为数据文件,以便其他应用程序所使用。Matlab 支持多种文件格式的输入和输出,如.dat 、.txt 、.mat 、.bmp 等。在实际进行数据文件的I/ O 时常出现错误,本文详细讨论Matlab 中数据文件I/ O 的实现方法,并给出每种方法的具体实例。所有的数据文件I/ O 操作文件都在Matlab 中,无需安装专门的工具箱。数据文件I/ O 程序可分为两种基本类型:低级和高级。高级包括一些专门的函数以支持特定格式的读和写,相对而言低级则比较灵活。
1 高级数据文件I/ O 方式命令
高级数据文件I/ O 命令主要有Load 和Save 。Save 可以将Matlab 变量以ASCII 码格式或MAT存储, Load 可以读ASCII 码格式的变量或MAT 文件到Mat2lab 工作区。这两条命令的使用比较简单, (为便于读者可直接将以下文本输入计算机运行,注释采用英文) 如:
%This file demonstrates the behavior of LOAD and SAVE
clear all%Clear all variables
x = 5 ;x2 = 10 ; %Create x and x2
whos %To ,display the variables in workspace
pause %Pause so as to observe
save xdata x%Save only x into xdata. mat
clear all%Clear all variables
load xdata%Load xdata. mat
whos %Note that x is back
pause
x2 = 10 ; %Recreate x2
whos
pause
save xdata x x2%Now save using a wild card
clear all%Clear all variables
load xdata%Load xdata. mat
whos
使用Load 和Save 还可以实现一次读多个文件或将数据存入多个文件,以Save 命令为例(Load 类似) ,程序如下:
a = rand(6) ; %make a (6 3 6) random number
filename = ['a1.txt';'a2.txt';'a3.txt';'a4.txt';'a5.txt';'a6.txt'; ] ; %list your file names
for i=i:1ength(a)
temp = a(:,i) ;
save (filename (i , :) ,'temp''-ascii') ;
%save to the specified file
end