If you try creating the table without the RowNames you'll see that your table actually has one row, and each element of the table is a 1-by-2 vector:
clc;clear;
startAngle = [1,2];
middleAngle = [1,2];
endAngle = [1,2];
tableHeader = ["Start","Transition","End"];
putterNames = ["Putter1 :","Putter 2:"];
a = table(startAngle,middleAngle,endAngle, 'VariableNames', tableHeader)
If you make those variables into column vectors when making the table, then specifying RowNames works:
a = table(startAngle(:),middleAngle(:),endAngle(:),'RowNames', putterNames, 'VariableNames', tableHeader)
