Мне интересно, сможет ли кто-нибудь пролить свет на следующую проблему с помощью команды Matlab fopen:
>> [stat myjob] = unix('echo $PBS_NODEFILE'); % gets PBS file name with allocated nodes
>> myjob
myjob =
/opt/torque/aux//66058.crunch.local
>> fid = fopen('/opt/torque/aux//66058.crunch.local')
fid =
3
>> fgetl(fid)
ans =
compute-9-2
>> fclose(fid);
Мне нужны имена узлов, которые я должен контролировать для некоторых последующих решений в сценарии. Вышесказанное может работать, если я нахожусь в интерактивной работе PBS, но по большей части, хотя мне нужно запустить эти задания без вмешательства. Когда я пытаюсь сделать это по сохраненному имени файла:
>> fid = fopen(myjob) % returns invalid
fid =
-1
>> fgetl(fid)
??? Error using ==> fgetl at 44
Invalid file identifier. Use fopen to generate a valid file identifier.
Почему, когда я непосредственно ввожу значение, сохраненное в myjob, я получаю действительный идентификатор, но когда я добавляю myjob, он не работает?
Спасибо,
Andrew