It is a common mistake of beginners to think they need names to refer to the results of ParametricNDSolveValue
. I don't say naming is never needed, but it is very seldom needed.
Suppose you wanted to see a plot of the curves that you suggest labeling y11, y12, ..., y14. This can be done without labeling:
Plot[Evaluate[Table[pfun[1, b][t], {b, 4}]], {t, 0, 10}, PlotLegends -> Automatic]
This approach also has the advantage of allowing you to use parameter values which are not integer index values, which I think will be something you will want to do.
Plot[Evaluate[Table[pfun[.12, b][t], {b, 4}]], {t, 0, 10}, PlotLegends -> Automatic]
y = Table[pfun[a, b], {a, 1, 3}, {b, 1, 5}]
? $\endgroup$y = pfun @@@ Tuples[{Range[3], Range[5]}]
? $\endgroup$