У меня есть как основной код, так и функция, которая импортирует данные из .dat-файла, и я бы хотел импортировать много случаев, и поэтому я создал несколько каталогов для структурирования файлов.Matlab fopen path to variable
Вот соответствующая часть функции я использую:
function [time_,cm,cd_,cl,clf1,clr] = importcd2(filename, startRow, endRow)
formatSpec = '%7s%33s%24s%24s%24s%s%[^\n\r]';
%% Open the text file.
fileID = fopen(filename,'r');
textscan(fileID, '%[^\n\r]', startRow(1)-1, 'ReturnOnError', false);
А потом, когда я хочу, чтобы вызвать функцию из основного кода, я использую:
[a,~,b,~,~,~] = importvar('/folder1/folder2/folder3/folder4/folder5/file1.dat', 1, inf);
В которые a и b являются переменными, которые я хочу экспортировать из .dat-файла. То, что я хотел бы сделать, это изменить функцию, чтобы fopen мог открыть весь путь, а не только идентификатор файла (file1.dat), потому что я предпочитаю иметь несколько каталогов, а не 30 файлов .dat или больше в тот же каталог. Является ли это возможным? Мой вопрос отличается от How can I load 100 files with similar names and/or string in just one step in MATLAB?
Заранее благодарен!
Возможный дубликат [Как я могу загрузить 100 файлов с одинаковыми именами и/или строка всего за один шаг в MATLAB?] (http://stackoverflow.com/questions/15366374/how-can-i-load-100-files-with-similar-names-and-or-string-in- just-one-step-in-ma) – GameOfThrows
Что такое 'formatSpec' для? –
@ MatthiasW. Это автоматически определяется MATLAB для извлечения значений в соответствии с форматом файла .dat. –