我在matlab中有一个函数。
function [MEAN STD]=result(data)
MEAN=[mean(data)];
STD=std(data);
Training_data=[MEAN STD]
savefilename=sprintf('%s',inputname(1))
save(savefilename,'Training_data')
end
我设置数据的文件名= ET1_A_l1(导入工作区alrdy)(ET1_A_l1 = [1; 2; 1; 3; 1; 4]以查找所选数据的均值和标准(ET1_A_l1),并将统计特征保存到.mat表格如下图所示:
>>[MEAN STD]=result(ET1_A_l1)
因此,保存文件的名称为ET1_A_l1.mat,我将ET1_A_l1.mat导入工作区,它显示“Training_data”,如图1所示。
,
将工作空间中的变量名称(Training_data)更改为ET1_A_l1是否有任何好主意?
答案 0 :(得分:0)
要在加载后更改变量名称(不是字段名称),请尝试以下操作:
clear all; close all;
fname = 'ET1_A_l1';
Training_data=[0.5 .1]; % test data
savefilename=sprintf('%s', [fname '.mat']);
save(savefilename,'Training_data');
clear Training_data;
% important line
eval([fname '=importdata(''' savefilename ''');']);
编辑直接更改字段名称:
function [MEAN STD]=result(data)
MEAN = mean(data);
STD = std(data);
varname = inputname(1);
eval([varname '=[MEAN STD];']);
savefilename = sprintf('%s',varname);
save(savefilename, varname);
end
>> ET1_A_l1=[1;2;1;3;1;4];
>> >> [m s] = result(ET1_A_l1)
m =
2
s =
1.2649
>> clear all;
>> in = load('ET1_A_l1');
>> fieldnames(in)
ans =
'ET1_A_l1'