The problem is, that MATLAB classes only support constant arguments on property validation.
However function arguments can be validated perfectly fine with dynamic arguments.
So a workaround is to validate the arguments of the constructor:
classdef Foo
properties
a
b
end
methods
function obj = Foo(a,b)
arguments
a
b {mustBeEqualSize(a,b)}
end
obj.a = a;
obj.b = b;
end
end
end