Вы можете использовать умножение, поскольку, если ваше условие выполнено, у вас есть 1
и 0
в противном случае.
Умножение на значение, обратное условию, дает вам либо неизменное значение (если условие не выполнено), либо желаемую замену 0
!
func = @(x) x .* (~(x < 5)) % Replace values less than 5 with 0
Если у вас было другоеПодстановка, вы могли бы расширить ту же логику
func = @(x) x .* (~(x < 5)) + 10 * (x < 5) % replace values less than 5 with 10