gpt4 book ai didi

Matlab fopen 命令响应字符串但不响应相同字符串的变量

转载 作者:行者123 更新时间:2023-12-04 06:30:13 27 4
gpt4 key购买 nike

我想知道是否有人可以通过 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 = fopen(deblank(myjob));

看看上面输出的格式化方式,在 myjob 的值后面似乎出现了一个额外的空行。显示,表示字符串末尾可能出现换行符。此换行符将导致无法识别文件名,因此您可以使用函数 DEBLANK 从字符串中删除任何像这样的尾随空格(或者您可以使用函数 STRTRIM 删除尾随和前导空格)。

关于Matlab fopen 命令响应字符串但不响应相同字符串的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5516926/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com