Реализовываем все функции Ai:
function() A1() {};
function() A2() {};
function() A3() {};
…
Далее берем указатели на все эти функции и записываем их в Pi;
Далее берем матрицу MхN и записываем в соответствующие i,j индекс нужной функции.
После чего, по i,j берем указатель на нужную функцию и выполняем ее.
Как-то так.
Можно реализовать без указателей, сделав одну функцию A(i) которая по нужному i выполняет нужную функцию.
P. S. Быть может, я свято верю, функции похожи, и отличаются лишь параметрами, что может улучшить реализацию.