Вы можете сохранить результирующую структуру, полученную при каждом запуске opf, в массиве struct, например, так:
for h=1:12
P(h);
**mpc.gen(NG,PG)=P(h);**
mpopt = mpoption('pf.alg', 'NR', 'verbose', 1, 'out.all', 0);
results(h) = runopf(mpc,mpopt);
end
Адресация результатов должна быть возможна путем вызова, например, results(3).branch
или чего вы хотите оценить.