View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
ftoc (v1.2)

3.0 | 4 ratings Rate this file 3 Downloads (last 30 days) File Size: 3.1 KB File ID: #20164 Version: 1.2

ftoc (v1.2)



03 Jun 2008 (Updated )

Creates a table of contents of functions contained in an m-file

| Watch this File

File Information

Since some of the m-files I work with are very large, and contain many nested functions and subfunctions, I find it helpful to keep a short and simple table of contents in the top comment block that tells me which functions are in the m-file, their line numbers, and how they are nested. I wrote FTOC to generate this function table of contents automatically. This was inspired by a posting by Yair Altman on the mathworks newsgroup where he described how to use the undocumented function MLINTMEX. If you're interested in getting even greater detail about m-file contents, you should check out the postings by Urs Schwarz acknowledged below.

Here's how FTOC is used:

STR = FTOC(FILE) returns a character array table of contents STR for all nested functions and subfunctions within the m-file FILE (built-in functions are not displayed). The line numbers of each function are included, and the indentation of the function names indicates the nesting order. FILE should be an m-file name. If FILE is not found, or there are no subfunctions or nested functions, STR will be an empty string.

STR = FTOC(FILE,'insert') will return a character array table of contents STR formatted for the purpose of inserting it into the header comment block of the m-file FILE. Each line begins with the character '%' and the line numbers are adjusted to account for the fact that STR will be inserted somewhere within the top comment block of FILE. (NOTE: you will want to first remove any old table of contents from the comment block before pasting the new one in, to make sure the line numbers are adjusted correctly.)

(See function help for examples)


Farg: A Pedestrian M File Parser Showing All Used Functions' Syntax and Fdep: A Pedestrian Function Dependencies Finder inspired this file.

MATLAB release MATLAB 7.1.0 (R14SP3)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (11)
31 Oct 2008 Tim Davis

Tim Davis (view profile)

30 Oct 2008 John D'Errico

John D'Errico (view profile)

While I cannot force the trash ratings by Marco to be removed, this is far better than his rating indicates. The help is quite good. This will be a useful utility if you work on large software projects in MATLAB.

Comment only
30 Oct 2008 John D'Errico

John D'Errico (view profile)

10 Jun 2008 A N

Wording and initials suggest the poor poor rating was written by the infamous file exchange author 'marco', either by accident or in revenge. So far I thought DNFTT, but if it's true he now starts to mess up the rating system, I think there should be a way to block him and to annul his rating.

Comment only
09 Jun 2008 Ken Eaton

Is that comment supposed to make sense?... because it doesn't.

Comment only
07 Jun 2008 m p

Program don’t show this, don’t show clssification. Future versions will show classification: You=Infinite==Infinite|or|Circle*NaN...

06 Jun 2008 Ken Eaton

Is there some reason someone is downloading hundreds of copies of this?

Comment only
06 Jun 2008 fex observer

The submissions mentioned by the first reviewer do an excellent job and are clearly superior to your program.

04 Jun 2008 Ken Eaton

Thanks for the heads up, us. I don't know how I managed to miss FARG when I was looking around to see if anything like this had been done. It looks like a much more beefed-up and detailed version of what I was doing here... I'll have to check it out =).


Comment only
04 Jun 2008 Ken Eaton

I've submitted a slightly updated version to remove some mlint messages. The help description was also not formatting properly (no indents appeared, so you have to look at the function header for correct examples).

Comment only
04 Jun 2008 Urs (us) Schwarz

you also may want to look at FARG, available here

or FDEP, available here


Comment only
28 Oct 2008 1.1

A couple minor changes in the file, an updated description, and a couple acknowledgments added.

19 May 2009 1.2

Fixed description and acknowledgements

Contact us