我们说我有一个.mat文件,我知道其中的每个变量前面都有XYJanuary
(例如XYFebruary
,XYMarch
,{ {1}}等等......)我只想删除XY
。
我查看了this并尝试复制它,但这会将XY
添加到我的变量(XYXYJanuary
,XYXYFebruay
,...)但我想要它只是(January
,Februay
,...)。
x= load('file.mat'); % Load into structure x
names=fieldnames(x); % names of the variables
for iname=1:length(names) % start the loop
x.(['XY', names{iname}]) = x.(names{iname}); % PROBLEM
x = rmfield(x, names{iname});
end
save ('newfile.mat', '-struct', 'x'); %save
答案 0 :(得分:1)
x= load('file.mat'); % Load into structure x
names=fieldnames(x); % names of the variables
for iname=1:length(names) % start the loop
x.([names{iname}(3:end)]) = x.(names{iname}); % No more PROBLEM
x = rmfield(x, names{iname});
end
save ('newfile.mat', '-struct', 'x'); % save
您已将'XY'
添加到行的LHS,这使其将其添加到最终解决方案中。我所做的是砍掉前两个条目,但保留其余条目,因此(3:end)
。这现在适用于我创建的测试用例。