Yes, you send in an array [x1,x2] of size [1 x 20] and an array y of size [ 1 x 10] into polyfitn. The polyfitn version I have (a matlab-central submission by John d'Errico from 2006) gives me a more sensible result after transposing your inputs:
ModelTerms: [3x2 double]
Coefficients: [1.5589 -0.11979 7.4607]
ParameterVar: [0.1693 0.0010284 2.9687]
ParameterStd: [0.41146 0.032068 1.723]
This was my curse when starting to use matlab - I solved it by the very sofisticated technique:
If it doesn't work transpose, transpose again until all combinations have been tried.
You might do the same but a more intelligent aproach is to check the documentation and input variables.