Greetings,
I ran your code:
gen = fracfactgen('a b c d e f',4,4)
[design, con] = fracfact(gen)
And, based on the output, I would say that you are not doing anything wrong, you are getting a fractional factoral design. First of all, if you have confounding, by definition, you are not running a full factorial experiment. Secondly, recall that full factorial designs have 2^k runs in them, where k is the number of factors. You have 6 factors in your design so a full factorial design would have 64 runs in it which translates to 64 rows in the design matrix.
The output of your code shows a design matrix with only 16 rows so you are definitely generating a fractional factorial design! It has been a long time since I studied design of experiments so I cant say much more than that without dusting off the ol' textbook.
Hope that helps~
Best Answer