A bit late to the party here, but I've been putting a lot of MATLAB figures in a few papers I'm working on and have developed an effective routine...
Determine text width
Use the method from this answer to determine the \textwidth of your LaTeX document. You can extrapolate from here to print \textheight too.
Set MATLAB figure width
Set your MATLAB figure to this width:
set(1, 'units', 'centimeters', 'pos', [0 0 15 10])
The brackets contain: [x-position y-position width height]. I usually play around with the height value to find something that works for my plot, but a good rule of thumb is 1/4 to 1/3 of the text height.
Note that x-position and y-position don't really matter -- they define where the figure will appear on your screen, relative to the bottom left corner.
Set MATLAB margins and export
As @user3228896 mentioned, you can control the pdf margins from within MATLAB, but no extension is necessary. Just stick this after each figure:
figure(figNum)
% plot(somestuff);
pos = get(figNum,'Position');
set(figNum,'PaperPositionMode','Auto','PaperUnits','centimeters','PaperSize',[pos(3), pos(4)])
print(figNum,'myfigure','-dpdf','-r0')
If you've got multiple plots make sure to set a unique value for myfigure so they don't all overwrite each other.
All of this can be done in inches too.
LaTeX interpreter for plot labels in MATLAB
You can use LaTeX for MATLAB plot labels to keep variable names and such consistent.
It's also possible to change the font family, though personally I find the default MATLAB sans-serif font works well.
Place the figure
When you insert the figure, you can adjust it a bit using factors of \textwidth:
\begin{figure}[!htb]
\captionsetup{skip=0.5\baselineskip,size=footnotesize}
\centering
\includegraphics[width=1.1\textwidth]{Figures/myfigure}
\caption{This is the caption text}
\label{fig:myfigure}
\end{figure}
Since you're using a pdf, a bit of stretching up or down won't make a difference in quality, so I usually just play with this a bit until it looks right.