我有函數f1必須包含的子功能,所以我不能使用其他腳本:MATLAB - 可能使用某種類型的可變參數清理函數中的變量...?
function vars = f1()
a = 1;
b = 'hello';
c = {[1 2 3]};
currvars = whos; %all variable info
for k = 1:size(currvars, 1)
eval(['vars.(currvars(k).name) = ' currvars(k).name ';']);
end
end
我調用腳本的功能,然後我創建使用genvarname()和eval腳本變量():
vars = f1();
varnames = genvarname(fieldnames(vars));
for k = 1:size(varnames(:),1) %Creates vars with the struct's fieldnames.
eval([varnames{k} ' = vars.' varnames{k} ';']);
end
clearvars vars varnames
我想同時讀出所有變量只對腳本調用它,以適應變量創建過程變成一個函數不知怎麼的,但我不希望分配一百個不同的變量名輸出。有沒有人有任何建議如何做到這一點?
可能是一個想法的語言標記,或提到它的稱號。我的第一個問題是 –
。謝謝你的保鏢! –