MATLAB 文件类型

MATLAB 使用两种主要文件类型:.m.mat 文件。

  • .m / .mat 文件:标准的 MATLAB 文件(.mat 文件中的大多数函数可被旧版本 MATLAB 支持)。

  • .mlx 文件:交互式脚本文件格式,从 MATLAB R2016a 开始引入。该格式用于保存使用 Live ScriptLive Function 格式编写的代码。


导入函数

常用于将数据导入 MATLAB 的函数是:

importdata(filename)

importdata(filename) 可将数据加载到数组中。

示例:加载图像

>> A = importdata('example1.png');
imread(A)

加载数据

load(filename)

load 函数用于从文件中加载数据,可加载文本、图像,甚至音频文件。

示例:加载音频

>> B = load('example2.mp3');
audioread(B, single, 1.0)

load 命令用于将文件中的数据载入当前工作区。

示例命令:

  • 加载 mySave.mat 中所有变量:

load('mySave.mat')
load(fullfile(pwd, 'mySave.mat'))
  • 只加载特定变量:

load('mySave.mat', 'myData1', 'myData2')
load('mySave.mat', 'myData*') % 使用通配符
  • 查看保存文件中的变量列表:

whos('-file', 'mySave.mat')

保存数据

save 命令用于将工作区数据保存到文件中。

示例命令:

  • 保存所有变量到 mySave.mat

save('mySave.mat')
save(fullfile(pwd, 'mySave.mat'))
  • 只保存特定变量:

save('mySave.mat', 'myData1', 'myData2')
save('mySave.mat', 'myData*') % 使用通配符
  • 以 MATLAB v6 版本兼容格式保存:

save('mySave.mat', 'myData*', '-v6')
  • 保存为 ASCII 文件格式:

save('mySave.mat', 'myData*', '-ASCII')
  • 向已有文件追加变量:

save('mySave.mat', 'newData*', '-append')

Excel 文件读写

由于数据分析是常见用途之一,因此我们从读写电子表格开始介绍。

读取 Excel 表格

MATLAB 提供了 readcell 命令读取 Excel 文件:

假设你有一个 .xlsx 文件(推荐使用最新版 Excel 格式),例如文件 Class Marks.xlsx 内容如下:

Name Marks
Ali 93
Chin 47
Sammy 74
Dorothy 96
Huat 94
Anna 38

读取方式如下:

A = readcell('C:\mydir\Class Marks.xlsx') 

mydir 是你保存 Excel 文件的实际路径。若不确定路径,可右键文件查看属性。)

输出如下:

A =

  7×2 cell array

    {'Name'   }    {'Marks'}
    {'Ali'    }    {[93]}
    {'Chin'   }    {[47]}
    {'Sammy'  }    {[74]}
    {'Dorothy'}    {[96]}
    {'Huat'   }    {[94]}
    {'Anna'   }    {[38]}

读取 Excel 中的特定区域

假设 Excel 中的 "Class1A" 工作表中有如下数据(行列扩展为 A1:H11):

Name English Maths Science Art Music Malay Moral
Huat 82 90 15 65 42 82 90

若你只想提取 Huat 一行的数据:

B = readcell('C:\mydir\Class Marks.xlsx', 'Sheet', 'Class1A', 'Range', 'A6:H6')

此时变量 B 的值为:

B =

  1×8 cell array

  {'Huat'}    {[82]}    {[90]}    {[15]}    {[65]}    {[42]}    {[82]}    {[90]}

范围(Range)支持以下几种方式:

  • 'A1':指定单元格

  • 'A:B':选定列

  • '1:5':选定行

  • 'A1:B5':选定矩形区域


写入 Excel 文件

使用 writecell 命令可向 Excel 文件中写入数据。

例如,要将学生 Juan 的成绩添加至 Excel 表格末尾:

B = {'Juan', 43, 67, 88, 45, 35, 92, 65}

确保文件未被其他程序(如 Excel)打开,然后运行:

writecell(B, 'C:\mydir\Class Marks.xlsx', 'Sheet', 'Class1A', 'Range', 'A12')

执行后,Juan 的数据将写入 Excel 第 12 行。


文本文件的读写(Text Files I/O)

读取文本文件

如果文件不是 Excel 表格,可以尝试使用 load 函数读取:

>> load newfile.txt

但这仅适用于完全是数字且无特殊格式的文本文件。否则会报“无法识别的字符”错误。

对于更复杂的文本格式(如不同的分隔符、混合数据类型等),你可以使用:

  • MATLAB 文件中心提供的 textread.m

  • fscanf(前提是格式足够一致)


图形界面方式导入数据

MATLAB 也提供了图形界面导入功能:

在菜单栏中选择 File > Import Data,然后选择数据文件(.mat.txt.xls 等),接着选择分隔符,最后点击“下一步”。

MATLAB 会将导入的变量保存为与文件名相近的名称(会自动调整使其符合语法要求),你可以在命令窗口使用 who 查看实际变量名。


外部资源推荐


Last modified: Wednesday, 16 April 2025, 11:14 AM