原因は、MATLAB環境で実行する場合、サイズの違いは暗黙的な拡張により吸収されますのでエラーとならずに実行できますが、MATLAB Coderでは暗黙的な拡張をサポートしていないため、エラーとなります。
このような場合はbsxfunを使用します。
(1)以下のように修正します。
function example()
x = [1 2 3];
y = [1 2 3; 4 5 6; 7 8 9];
%z = x+y;
z = bsxfun(@plus,y,x);
(2) 以下のようにMEX化します。
>> codegen example
ご参考: