0
我想迭代地定義一個變量,其名稱是兩個字符串的串聯。通過連接字符串定義變量
特別是,下面的代碼是爲了創建一個變量Uvel_spring包含Uvel存儲在文件spring_surface.mat中的值:
seasons{1}='spring';
seasons{2}='summer';
seasons{3}='autumn';
seasons{4}='winter';
for ii=1:4
['Uvel_',char(seasons(ii))] = load([char(seasons(ii)),'_surface.mat'],...
'Uvel');
end
不過,我得到以下錯誤:
An array for multiple LHS assignment cannot contain LEX_TS_STRING.
我解決它通過使用evalc
:
for ii=1:4
evalc(sprintf(['Uvel_',char(seasons(ii)),'=','load(''',char(seasons(ii)),'_surface.mat'',',...
'''Uvel''',')']));
end
但是,這是可怕的,我想改善代碼。
有人有其他解決方案嗎?