Despite my absence, I'm still interested in contributing to the community when I can. See you around!
I'm a research scientist focused on medical image processing, machine learning, dimensionality reduction, and parallel computing. At SO, matlab is where I call home, but I'm all over the place in my perpetual quest to learn new programming skills. I ♥
A few tips and common MATLAB solutions:
- Never use
length. Ever. (OK, more of an imperative than a tip.)
- MATLAB is column-major (down then across)!
- To use
bsxfunto it's full potential and with little effort, know your singleton dimensions and permute (and that
bsxfunoperates on multiple singleton dimensions).
- The shared library search path in Linux comes only from
LD_RUN_PATHin MATLAB, not the usual
LD_LIBRARY_PATH. This comes up a lot.
- The default C MEX configuration uses ANSI C (C89/C90), which really stinks. Enable C99.
Did I mention, never use
My favorite obscure and/or tricky MATLAB stuff:
- Super efficient N-D Cartesian product.
- Dynamic legend.
sprintfc: print into a cell array.
forloop expression (
for var = expr ...) can be a matrix, looping through columns.
- Set membership tests for sorted arrays:
ismembc2, and more.
- Where does
handlesstructure (and other GUI data tricks)?.
- Changing the order of line series colors (
ColorOrder), and the "best" colors.
- Apparently MathWorks did not expect anyone to actually overload curly braces (
accumarrayrocks, but you have to use it right.
bsxfuncan replicate in multiple dimensions. (most don't know!)
kronto replicate either array elements or whole arrays.
- More moved to my website.