我想以某种方式将工作区中的所有变量连同它们的名称一起保存到一个文件中:
%<*firstVariableName>firstVariableValue(s)%</firstVariableName>
%<*secondVariableName>secondVariableValue(s)%</secondVariableName>
我想将每个变量保存在新行上。我已经尝试过功能 who,但我似乎无法让它工作。
我也无法将其保存为 UTF-8,是否有可以更改的简单编码设置?
我想以某种方式将工作区中的所有变量连同它们的名称一起保存到一个文件中:
%<*firstVariableName>firstVariableValue(s)%</firstVariableName>
%<*secondVariableName>secondVariableValue(s)%</secondVariableName>
我想将每个变量保存在新行上。我已经尝试过功能 who,但我似乎无法让它工作。
我也无法将其保存为 UTF-8,是否有可以更改的简单编码设置?
这可能不适用于所有情况,但它适用于数字输入。它可以根据您的用例进行适当修改:
%Clears current workspace.
clear;
%Sample data.
a = 1;
b = [2 3];
new_var = [4;5];
%Relevant code.
my_var_list = who;
fid = fopen('my_var_list.txt','w');
for my_var_ii=1:numel(my_var_list)
my_temp_var = eval(my_var_list{my_var_ii});
my_temp_str = cellstr(strcat(sprintf('%%<*%s>', my_var_list{my_var_ii}), num2str(my_temp_var(:)'), sprintf('%%</%s>', my_var_list{my_var_ii})));
fprintf(fid, '%s\n', my_temp_str{:});
end
fclose(fid);
clear fid;
clear my_temp_var;
clear my_var_ii;
clear my_var_list;
clear my_temp_str;
现在我的“my_var_list.txt”将包含:
%<*a>1%</a>
%<*b>2 3%</b>
%<*new_var>4 5%</new_var>