Thanks Rick, I think you have converted me! I have been experimenting and brackets seem to be a problem as they change the order of evaluation. So something like: . y = x / (r + c); . does not work. Should there be a function to coerce an expression to the shape of another matrix? For example, I would like to be able to write something like : . y = x / coerce(r + c, x);