Раньше умножение строки на столбец через .* давало ошибку. Начиная с R2016b уже нет. Если a = [1 2 3] и b = [1; 2; 3], то a .* b даёт матрицу 3 на 3 из всех попарных произведений, и никаких предупреждений.
У меня был столбец там, где я ждал строку. Старое поведение остановило бы меня сразу. Новое тихо отдало матрицу в sum, а та сложила по столбцам и вернула строку из трёх чисел. Правдоподобных чисел. Неверных.
Когда расширение задумано, оно хорошо. Центрировать каждый столбец через X - mean(X) без bsxfun действительно приятнее. Но правило симметричное, растягивается любое измерение размера один, а вектор не той ориентации и есть самое частое измерение размера один.
Теперь я проверяю size на входе функции блоком arguments и больше не считаю ориентацию косметикой. Раздражает. Зато дешевле, чем найти это на графике.