我想知道如果任何人都可以對以下問題的Matlab的fopen命令提供一些線索: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失敗?
感謝, 安德魯
如果使用'[fid,message] = fopen(myjob)',你會得到什麼錯誤信息? – 2011-04-01 17:48:57
是'char'類的變量'myjob'? – Jonas 2011-04-01 17:59:56