如何搜索MATLAB命令历史记录?

sna*_*ile 21 search matlab history

我想搜索我之前使用过的特定命令.是否可以在MATLAB命令历史记录上进行自由文本搜索?

nib*_*bot 25

是.Matlab将您的命令历史记录存储history.m在"首选项文件夹"中调用的文件中,该文件包含首选项,历史记录和布局文件.您可以使用以下prefdir命令找到首选项文件夹:

>> prefdir

ans =

/home/tobin/.matlab/R2010a
Run Code Online (Sandbox Code Playgroud)

然后history.m使用您选择的机制搜索该目录中的文件.例如,在unix上使用grep:

>> chdir(prefdir)
>> !grep plot history.m
plot(f, abs(tf))
doc biplot
!grep plot history.m
Run Code Online (Sandbox Code Playgroud)

如果您只想使用GUI,也可以在命令历史记录窗口中使用搜索功能.

  • 如果单击命令历史窗口,可以使用`*`表示简单的正则表达式,例如`*plot`可以匹配`h = plot(x,y)`. (2认同)

gno*_*ice 7

如果要以编程和平台无关的方式完成此任务,可以首先使用MATLAB的Java内部函数将命令历史记录作为字符数组获取:

history = com.mathworks.mlservices.MLCommandHistoryServices.getSessionHistory;
historyText = char(history);
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用STRFINDREGEXP等函数搜索您喜欢的字符数组.您还可以使用函数CELLSTR将字符数组转换为字符串的单元格数组(每个单元格一行),因为它们有时可以更容易使用.

  • 这记录在哪里? (2认同)