How do I search through MATLAB command history?

前端 未结 2 1885
灰色年华
灰色年华 2021-01-01 14:35

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?

相关标签:
2条回答
  • 2021-01-01 15:07

    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.

    0 讨论(0)
  • 2021-01-01 15:10

    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.

    0 讨论(0)
提交回复
热议问题