这是不可以的。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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)