I'm not sure how Matlaboptimization.m gets called at all; you should call it in your code without the .m extension, i.e.:
PEMAX = [10 20 25 30 35 40];
CNOM = [50 75 90 100 125 150];
PBMAX = [20 30 40 50 60 70];
I assume Matlaboptimization is a script that relies on variables called Pemax, Pbmax, and Cnom. One way to save all the results separately is to add some code immediately after the call to Matlaboptimization that does that, saving to a .mat file with a file name like "results_Pemax=10_Pbmax=20_Cnom=50.mat", for instance. Whatever name makes sense to you and will allow you to know which run it corresponds to when you have to use them later. Another way would be to have Matlaboptimization do the saving itself.
Regardless, I think you should get 6*6*6 = 216 sets of results, not 6! = 720.