You don't even need to use the "restore" function. You can just change properties of the solver and flow objects between calls to "solve". I made some modifications to the npflame1.py example that seem to work reasonably well. Just replace everything after "f.set(energy='on')" with the following:
for i in range(20):
try:
f.solve(1)
except Exception as e:
print e
# write the velocity, temperature, and mole fractions to a CSV file
z = f.flame.grid()
T = f.T()
u = f.u()
V = f.V()
fcsv = open('npflame%02i.csv' % i,'w')
writeCSV(fcsv, ['z (m)', 'u (m/s)', 'V (1/s)', 'T (K)']
+ list(gas.speciesNames()))
for n in range(f.flame.nPoints()):
f.setGasState(n)
writeCSV(fcsv, [z[n], u[n], V[n], T[n]]+list(gas.moleFractions()))
fcsv.close()
print 'solution saved to npflame%02i.csv' % i
f.showStats(0)
if max(T) < 1000:
break
mdot_f *= 1.25
mdot_o *= 1.25
f.fuel_inlet.set(massflux = mdot_f)
f.oxidizer_inlet.set(massflux = mdot_o)
I'm sure you can adapt this idea to work with the Cantera Matlab toolbox.