UPDATE: I don’t really maintain this information any longer, but I am leaving it up in case someone finds it useful. The performance enhancements of Matlab have diminished the speed differential between Matlab and compiled code enough that I now simply use Matlab.

In 1997, I began to learn MATLAB. Since then, it has become the platform of 90% of my numerical computing. In the summer of 2000, I became interested in simulation-based estimation methods, specifically A. Ronald Gallant and George Tauchen’s Efficient Method of Moments. They have written a complete and very robust application in FORTRAN77. Therefore, I needed to get a FORTRAN compiler. To make a long story short, I now own a copy of Compaq Visual Fortran 6.6, also.

Eventually, I wanted to combine the two languages. My first attempts at making FMEX files were furtive at best. Not only did the API guide seem, uh, sparse, my attempts at using the CVF debugger were just plain annoying. Eventually I got things to work, but only with some help from the MATLAB newsgroup, as well as some copious trial and error.

My hope for this site is two-fold: first, that other beginners who would like to learn to write FMEX files can hopefully avoid some of the pitfalls that I and others have overcome; and second, that this will encourage more users to take up FORTRAN coding when they need to resort to MEX file programming.

This site currently has three (only two of which currently exist) sections: Frequently Asked Questions, Links, and the Shameless Plea for Help. (Below are links to the FAQs) In addition, there is a mailing list that I am setting up for reasons that aren’t quite clear, but initially will be to inform readers of changes to the site (only those which are significant–if I sent an email every time that I made a grammatical correction, it would get REALLY OLD REALLY FAST for all involved, so the mailing list will not be used often.)

Finally, a note. I use Windows 2000. Not because I love it, though I have found that the compromises associated with using W2k to be the least offensive of the major OSs. (In fact, until graduate school, I was a rabid Mac-User. Times change….) And, since to this point, most of this site has been written using only my personal experience, where a feature is platform-specific, this site focuses on Win32. If others would like to contribute, I would happily welcome them to do so. Fortunately, the platform-specific portions of this site are limited.

Frequently Asked Questions Links:

Q1 FMEX Compilers

Q2: Other Compilers

Q3: Why won’t MEX work?

Q4: Array bounds and %val()

Q5: Why Fortran?

Q6: Variable Inputs


Q8: External Libraries

Q9: Why won’t the debugger work?

Q10: Optimization

Q11: Stack Overflow