-nodesktop模式下Matlab fileread命令有哪些限制?

ato*_*3ls 6 file-io matlab

假设一个包含7718个字符的文本文件(例如从这里剪切并粘贴的内容)

fileread('myfile.txt')当我启动matlab matlab -nodesktop但在桌面模式下工作时,该命令失败.

有谁知道为什么?

如果文本文件中的字符数减少到1981,则它在-nodesktop模式下工作.

注意:我不知道它停止工作的确切字符数.

最后,我在Windows7上使用Matlab 7.8.0(R2009a).

s-m*_*m-e 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)。指定更多参数可能会有所帮助(大胆猜测,但值得一试)。