As you are using polarplot instead of polarpatter, you can directly use "legend" to that, like a normal plot. Just define a legend that increments each loop and then it adds it to the polarplot. I would do something like this:
leg='';
figure
hold on
for n=1:5
polarplot(theta,y(n,:));
leg = strcat(leg,''',num2str(n),''');
end
legend(leg);
NOT TESTED, but it should be something like that