Two-way ANOVA can be performed in MATLAB using the "anovan" function.
% Define the data
A = [1,2,3,4,5; 6,7,8,9,10; 11,12,13,14,15];
B = [1,2,3,4,5; 6,7,8,9,10; 11,12,13,14,15];
C = [1,2,3,4,5; 6,7,8,9,10; 11,12,13,14,15];
data = [A(:),B(:),C(:)];
group1 = {'A'; 'A'; 'A'; 'A'; 'A'; 'B'; 'B'; 'B'; 'B'; 'B'; 'C'; 'C'; 'C'; 'C'; 'C'};
group2 = {'X'; 'X'; 'Y'; 'Y'; 'Z'; 'X'; 'X'; 'Y'; 'Y'; 'Z'; 'X'; 'X'; 'Y'; 'Y'; 'Z'};
% Perform Two-Way ANOVA
[p,tbl,stats,terms] = anovan(data, {group1, group2}, 'model', 'interaction', 'varnames', {'group1', 'group2'});
% Display ANOVA Results
disp(tbl);
% Plot Means
figure;
grpstats(data,{group1,group2}, {'mean', 'sem'});
title('Means with SEM');
ylabel('Data');
xlabel('Group');
In this example, a two-way ANOVA is performed on the given data, which has three groups (A, B, and C) and three conditions (X, Y, and Z). The output includes the ANOVA table, including the sum of squares, degrees of freedom, mean squares, F-statistics, and p-values, as well as the group and condition means with standard error of the mean (SEM).