Looks like you're missing a "." in the division...I'd rewrite the equation more succinctly, however, and also use a change of variables-- x and xdata are, to me, EXTREMELY confusing as to "who's who in the zoo" in terms of the expression. Using x for coefficients to be estimated and xdata as standin for x for the actual independent variable is just perverse albeit what TMW doc has. Note that the x,xdata in the function argument are just dummy variables; you can use whatever makes sense. I'll choose C for the coefficient array and x for the independent variable...
Semantics aside, instead of writing the polynomial terms out, use polyval to evaluate...
F=@(C,x) C(1)*(1+x).^3./polyval([C(2:8) 1],x);
should get you there if it is estimable. At least with the sizable number of points you've got a chance, assuming the data do fit the model at least reasonably well.
NB: The reversal of order in using polyval; the convention internally is the conventional one of the highest-order written first. This simply reverses the meaning of the coefficients of the denominator polynomial from the order in which you wrote it explicitly following the summation notation. Also, note the augmentation with the 1 for the last term for the fixed coefficient.
Oh, also note the "./" in the division expression--that was the source of your issue..try evaluating the function definition both ways and look up
to see the Matlab-definition of the difference in behavior between / and ./