My data does not pass the test for normal distribution (via lillietest.m) and equal variances (via vartestn.m), therefore, it could not be further analyzed by anova1 (or anova2, anovan) function in matlab, so I turn to nonparametric test.
I found 2 nonparametric test in matlab statistic toolbox which does not require normal distribution of data: kruskalwallis and friedman. The former one works as 'anova1' and the latter one works as 'anova2' in nonparametric test.
However, what I need is a nonparametric test that could work as 'anovan', which is able to handle 'interaction term' via multi-factors. Is there any nonparametric test in matlab work as 'anovan' ?