2

我正在检查 MATLAB 中的原始“clc.m”文件。显然,该函数是作为 p 代码编写的,您只看到位于以下位置的描述:

..\MATLAB\R2013a\toolbox\matlab\iofun\clc.m

如何查看原始代码?但这不是主要问题,只是为了好玩。

重点是在清洁屏幕后,我正在寻找一种反转clc过程的方法。有什么办法可以逆转clc过程。同样的问题也很清楚

4

2 回答 2

2

尝试使用home而不是clc. 而clc从命令窗口中删除所有文本并将光标移动到左上角给您一个空白窗口,home只需将光标移动到左上角并给您一个空白窗口 - 但文本仍然存在,您可以向上滚动看见了。我一直使用home而不是clc.

在任何一种情况下,文本都保留在命令历史记录窗口中,并且可以使用向上/向下箭头在命令窗口中检索。

你看不到后面代码的原因clc不是它是 p 编码的,而是它是一个内置函数(即不是用 MATLAB 语言实现的)。clear和许多数学函数(例如 等)也是如此svd。无法eig修改它们以改变它们的作用(例如反转过程)。


编辑:您可能还想查看该diary函数,该函数将命令窗口中所有输入和输出的日志记录在指定文件中。我的startup.m文件中有以下几行(doc startup如果您不知道如何使用 MATLAB 启动文件,请键入):

diaryFolder = 'C:\diaries';
diaryFileName = ['diary', datestr(now, 'yyyymmdd'), '.txt'];
diary(fullfile(diaryFolder, diaryFileName))

因此,每当我启动 MATLAB 时,它都会自动将所有命令窗口输入和输出捕获到一个以日期命名的日记文件中 - 如果我每天多次启动 MATLAB,它只会附加到同一个文件中。我可以clchome在方便的时候,总是有记录,如果有必要,我可以搜索到的所有内容。

于 2013-08-20T08:54:49.257 回答
0

我不相信无论如何都会撤消clc过程。也就是说,仍然可以查看命令历史记录,这样可能会让您有所了解。

一旦你清除数据,我相信它就永远消失了。我非常怀疑数据是否存储在某个地方的内存中。我知道在一定数量的行之后,历史记录被删除。所以你最好的办法是开始计算缓冲区有多大,然后从那里开始,看看你是否能找到任何有趣的东西。

于 2013-08-19T22:28:55.383 回答