matlab中,如何将.txt格式文件转换成.mat格式文件

matlab中,如何将.txt格式文件转换成.mat格式文件,第1张

这是不可以的。mat文件是matlab专用的存储workspace的文件,如果强制存储成txt文件存储并打开,文本只会显示为乱码,需要把后缀名改回mat,再在matlab中打开,才能使用。

如果是需要把工作空间里面的数据导出可以编写一个小程序,把矢量、矩阵写出到txt中,或者直接复制粘贴到txt文本文件中、或者excel表格中。

具体做法是,双击右边workspace里面的变量,这时matlab会d出一个表格,

选择表格里面的区域,直接ctrl+c可以复制。

打开一个txt文本文件或者excel文件,都可以直接粘贴。

在matlab中把txt文件保存为.mat的方法:

1、用matlab打需要保存的TXT文件。

2、选择文件菜单中的另存为。

3、在d出的对话框中,选择保存类型为(*.mat)。

4、如果保存类型中没有.mat,则直接在文件名后面输入比如:123.mat。

5、选择需要保存的路径

6、点确定。

这样,就在在matlab中把txt文件保存为.mat文件了。

1、读取同一路径下所有txt文件的程序:

function data = readall_txt(path)

% READALL_TXT读取所有文件

% DATA = READALL_TXT(PATH)读取路径PATH下的所有txt文件中的数据赋给data

% txt文件中含有一个数据项

% 输出cell格式以免各txt中数据长度不同

A = dir(fullfile(path,'*.txt'))

% 读取后A的格式为

% name -- filename

% date -- modification date

% bytes -- number of bytes allocated to the file

% isdir -- 1 if name is a directory and 0 if not

A = struct2cell(A)

num = size(A)

for k =0:num(2)-1

x(k+1) = A(4*k+1)% 找出name序列

end

for k = 1:num(2)

newpath = strcat(path,'\',x(k))

data{k} = load(char(newpath))

end

% [EOF] readall_txt.m

2、读取所有路径下所有mat文件的程序:

function data = read_mat(path)

% READ_MAT读取所有文件

% DATA = READ_MAT(PATH)读取路径PATH下的所有mat文件中的数据赋给data

% 前提是每个MAT文件只含有一个变量,如果含有多个,则使用READ_MAT

% 输出cell格式以免各mat中数据长度不同

% 输出data后,如要使用请用格式data{index}访问各数据项

A = dir(fullfile(path,'*.mat'))

% 读取后A的格式为

% name -- filename

% date -- modification date

% bytes -- number of bytes allocated to the file

% isdir -- 1 if name is a directory and 0 if not

A = struct2cell(A)

num = size(A)

for k =0:num(2)-1

x(k+1) = A(4*k+1)% 找出name序列,x存储内容为*.mat

end

for k = 1:num(2)

newpath = strcat(path,'\',x(k))

temp = load(char(newpath))

matname = char(fieldnames(temp))% 获取结构成员名称

data{k} = getfield(temp,matname)% 获取该名称下的成员内容

end

% [EOF] read_mat.m


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11536415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存