假设一个包含7718个字符的文本文件(例如,从here剪切和粘贴的内容)
当我使用fileread('myfile.txt')
启动matlab但在桌面模式下工作时,命令matlab -nodesktop
失败。
有谁知道为什么?
如果文本文件中的字符数减少到1981,则它以-nodesktop
模式运行。
注意:我不知道它停止工作的确切字符数。
最后,我在Windows7上使用Matlab 7.8.0(R2009a)。
答案 0 :(得分:1)
我无法重现这种奇怪的行为(Matlab 2010b& 2012b,两者都在Linux上)。
您至少可以通过限制问题来尝试“调试”此类行为。 “fileread”例程对文件名(ischar,isempty)进行一些检查,然后打开文件(fopen),读取它(fread)并关闭它(fclose) - 相当简单的基本内容。作为参考,在matlab桌面的命令行中输入“edit fileread”,然后尝试逐步运行例程。
如果“fread”导致整个事情崩溃,如果你被绑定到这个版本的Matlab,请尝试实现“修复”。 “fread”接受的参数多于“fileread”中使用的参数(文件ID和精度“char”):FREAD(FID,SIZE,PRECISION,SKIP,MACHINEFORMAT)。指定更多参数可能有所帮助(疯狂猜测,但值得一试)。