例如我的数据是:
data =
[1000] @(x)x.^2 @sin [0.5]
[2000] @(x)1./x @cos [0.6]
我想将data
保存到文本文件或其他文件中。 (data
是cell
矩阵)。我怎样才能做到这一点?
答案 0 :(得分:1)
如果您想使用Matlab保存数据供以后使用,您只需要这个
save('filename','variables separated by spaces'); % to save specific variables
save('filename'); % to save all variables
如果要再次将变量加载到工作区,请使用以下
load('filename');
如果您需要将数据写为可读文本文件而不是二进制数据,请尝试使用fprintf
,几乎可以使用与C fprintf
相同的方式。我建议你查看documentation
这是一个小例子:
name = 'John';
age = 20;
enter code here
file = fopen('yourfilename.txt','w') % w option stantds for 'write' permission
fprintf(file,'My name is %s and I am %d', name, age);
fclose(file); % close it when you finish writing all data
我真的不明白你的data
矩阵是如何格式化的。它似乎不是正确的matlab代码。
问候;)
答案 1 :(得分:1)
如果您想稍后通过gedit
打开它,则可以使用evalc
获取您在命令窗口中看到的确切字符串:data
:
str = evalc('data');
fid = fopen('data.txt', 'w');
fwrite(fid, str);
fclose(fid);
答案 2 :(得分:1)
要获取匿名函数的字符串表示形式,请使用char:
S = cell(size(data,1),1);
for iRow = 1:size(data,1)
S{iRow}=sprintf('%d %s %s %d\n', ...
data{iRow,1}, char(data{iRow,2}), char(data{iRow,3}), data{iRow,2});
end
然后将S
写入输出文件。