When you call a MATLAB function from the command line or from within another MATLAB file, MATLAB parses the function and stores it in memory. The parsed function remains in memory until cleared with the CLEAR command or you quit MATLAB. The PCODE command performs the parsing step and stores the result on the disk as a P-file to be loaded later.
This command parses average.m and saves the resulting pseudocode to the file named average.p. This saves MATLAB from reparsing average.m the first time you call it in each session.
MATLAB is very fast at parsing, so the PCODE function rarely makes much of a speed difference. One situation where P-code does provide a speed benefit is for large GUI applications. In this case, many MATLAB files must be parsed before the application becomes visible.
Another situation for P-code is when, for proprietary reasons, you want to hide algorithms you have created in your MATLAB file.
For more information, refer to the documentation on PCODE: