Даже когда вы просто указываете одно имя переменной, LOAD все равно будет выводить его в структуре.В вашем случае вы можете использовать функцию STRUCT2CELL , чтобы преобразовать выходные данные из LOAD в массив ячеек, а затем вернуть этот результат, используя список переменных выходных аргументов .:
function varargout = loadStructFromFile(fileName,environmentName)
varargout = struct2cell(load(fileName,environmentName));
end
Использование VARARGOUT имеет дополнительное преимущество: если environmentName
совпадает с несколькими переменными в файле .MAT, вы можете вернуть их все из своей функции.Например, если ваш файл .MAT имеет три переменные N1
, N2
и N3
, а environmentName
равен N*
, вы можете получить их все, вызвав свои функции с несколькими выходами:
[N1,N2,N3] = loadStructFromFile('values.mat','N*');