【MATLAB 从零到进阶】day5 数据的导入与导出

December 17, 2023
测试
测试
测试
测试
9 分钟阅读

MATLAB中读取文本文件的常用函数

load 从文本文件导入数据到 MATLAB 工作空间

fopen 打开文件,获取打开文件的信息

importdata 从文本文件或特殊格式二进制文件(如图片,avi 视频等)读取数据

fclose 关掉一个或多个打开的文件

dlmread 从文本文件中读取数据

fgets 读取文件中的下一行,包括换行符

csvread 调用了 dlmread 函数,从文本文件读取数据。过期函数,不推荐使用

fgetl 调用 fgets 函数,读取文件中的下一行,不包括换行符

textread 按指定格式从文本文件或字符串中读取数据

fscanf 按指定格式从文本文件中读取数据

strread 按指定格式从字符串中读取数据,不推荐使用此函数,推荐使textread函数

textscan 按指定格式从文本文件或字符串中读取数据

调用高级函数读取数据

1. 调用importdata函数读取数据

调用格式:importdata(filename)

A = importdata(filename)

A = importdata(filename,delimiter)

A = importdata(filename,delimiter,headerline)

[A D] = importdata(…)

[A D H] = importdata(…)

[…] = importdata('-pastespecial', …)

>> importdata('examp4_2_8.txt','',2) ans = data: [18x1 double] textdata: {2x1 cell} colheaders: {'你可以选择跳过,读取后面的数据。'}

2. 调用load函数读取数据

调用格式:

S = load(filename)

S = load(filename, variables)

S = load(filename, '-mat', variables)

S = load(filename, '-ascii')

load(...)

load ...

>> load examp4_2_1.txt >> load -ascii examp4_2_1.txt >> x1=load('examp4_2_1.txt') >> x1=load('examp4_2_2.txt') >> x1=load('examp4_2_2.txt','-ascii')

3. 调用dlmread函数读取数据

调用格式:

M = dlmread(filename)

M = dlmread(filename, delimiter)

M = dlmread(filename, delimiter, R, C)

M = dlmread(filename, delimiter, range)

4. 调用textread函数读取数据

调用格式:

[A,B,C,…] = textread('filename','format')

[A,B,C,…] = textread('filename','format',N)

[…] = textread(…,'param','value',…)

textread函数支持的format字符串

textread函数支持的参数名与参数值列表

调用低级函数读取数据

调用fopen函数打开文件

调用格式:

[fid, message] = fopen(filename, permission)

[filename, permission] = fopen(fid)

调用fclose函数关闭文件

调用格式:

status = fclose(fid)

status = fclose('all')

调用fseek、ftell、frewind和feof函数控制读写位置

调用格式:

status = fseek(fid, offset, origin)

position = ftell(fid)

frewind(fid)

eofstat = feof(fid)

调用fgets、fgetl函数读取文件的下一行

调用格式:

tline = fgets(fid)

tline = fgets(fid, nchar)

tline = fgetl(fid)

调用textscan函数读取数据

调用格式:

C = textscan(fid, 'format')

C = textscan(fid, 'format', N)

C = textscan(fid, 'format', param, value, …)

C = textscan(fid, 'format', N, param, value, …)

C = textscan(str, …)

[C, position] = textscan(…)

把数据写入TXT文件

save 将工作空间中的变量写入文件

fprintf 按指定格式把数据写入文件

dlmwrite 按指定格式将数据写入文件

调用dlmwrite函数写入数据

调用格式:

dlmwrite(filename, M)

dlmwrite(filename, M, 'D')

dlmwrite(filename, M, 'D', R, C)

dlmwrite(filename, M, 'attrib1', value1, 'attrib2', value2, …)

dlmwrite(filename, M, '-append')

dlmwrite(filename, M, '-append', attribute-value list)

调用fprintf函数写入数据

调用格式:

count = fprintf(fid, format, A, …)

>> x = 10*rand(8,5);

>> fid = fopen('examp4_2_01.txt','wt');

>> fprintf(fid,'%-f %-f %-f %-f %-f %-f %-f %-f\n', x);

>> fclose(fid); % 关闭文件

调用函数读写Excel文件

调用xlsread函数读取数据

1. xlsread函数调用格式

 [num, txt, raw] = xlsread(filename, sheet, range)

【例】调用xlsread函数读取文件examp4_3_1.xls第1个工作表中区域A2:H4 的数据。

% 第一种方式: >> num = xlsread('examp4_3_1.xls','A2:H4') % 第二种方式: >> num = xlsread('examp4_3_1.xls',1,'A2:H4') % 第三种方式: >> num = xlsread('examp4_3_1.xls','Sheet1','A2:H4')

调用xlswrite函数把数据写入Excel文件

xlsread函数调用格式

 [status, message] = xlswrite(filename, M, sheet, range)

【例】生成一个10×10的随机数矩阵,将它写入Excel文件excel.xls的第2个工作表的默认区域。代码保存在m文件CaseXlsWrite.m中。

>> X = rand(10,10); >> [status, message] = xlswrite('excel.xls', X, 'sheet2')

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多