How do I search through MATLAB command history?

I would like to search for a specific command I've previously used. Is it possible to do a free text search on MATLAB command history?

Answers


If you want to accomplish this in a programmatic and platform-independent manner, you can first use MATLAB's Java internals to get the command history as a character array:

history = com.mathworks.mlservices.MLCommandHistoryServices.getSessionHistory;
historyText = char(history);

Then you can search through the character array however you like, using functions like STRFIND or REGEXP. You can also turn the character array into a cell array of strings (one line per cell) with the function CELLSTR, since they can sometimes be easier to work with.


Yes. Matlab stores your command history in a file called history.m in the "preferences folder," a directory containing preferences, history, and layout files. You can find the preferences folder using the prefdir command:

>> prefdir

ans =

/home/tobin/.matlab/R2010a

Then search the history.m file in that directory using the mechanism of your choice. For instance, using grep on unix:

>> chdir(prefdir)
>> !grep plot history.m
plot(f, abs(tf))
doc biplot
!grep plot history.m

You can also simply use the search function in the command history window if you just want to use the GUI.


Need Your Help

Windows Azure Virtual Machine - Opening a port

windows azure port virtual-machine

I am trying to open a port in a Windows Azure virtual machine. I have a game listening in that port, and I am able to access it via localhost, so the game is running.

Using valueForKeyPath on NSDictionary if a key starts the @ symbol?

iphone objective-c nsdictionary key-value-coding

I want to use valueForKeyPath on my NSDictionary, but the problem is that one of the keys is a string that starts with the @ symbol. I have no control over the naming of the key.