将变量保存为txt文件,matlab时出错

时间:2017-03-02 03:02:03

标签: matlab

我有一个大小为170行和1024列的变量'result'。我想将此保存为txt文件,每个列由制表符分隔。任何想法

path = 'E:\Data\fault\300';
s = what(path);
matfiles = s.mat; 
l = numel(matfiles);
for a = 1:l
  file = fullfile(path,char(matfiles(a)));
  load(file);
  result(:,a) = signal(1:1024);
end
save('300_faults.txt','result');

但文件中的文字似乎出现此错误

MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Thu Mar 02 11:55:20 2017                                        
ð×r   A¶Ñ†�P´’2ÔÙ„=éfŠg^k£m!zÐ~nžöNÁo7]‡üW÷É�;>ѯñ™˜

如何纠正?

1 个答案:

答案 0 :(得分:1)

使用save时需要指定-ascii flag,否则会保存二进制.mat文件

save('300_faults.txt', 'result', '-ascii')

作为旁注,每当使用.matload文件加载数据时,您应始终使用输出参数来避免与本地工作区的命名冲突。您还可以指定要加载的变量作为load

的附加输入
data = load(file, 'signal');
result(:,a) = data.signal(1:1024);