В общем случае для выполнения одной операции над некоторыми элементами матрицы и другой операции над оставшимися элементами решение в одну строку:
Z = B .* X + ~B .* Y;
где B - логическая матрица. Как пример,
Z = (A == 0) .* -1 + (A ~= 0) .* A;
копирует A, но присваивает -1 везде, где A равно нулю.
Однако, поскольку вопрос касается бесконечности или NaN, это можно сделать еще более кратко:
Z = FAV ./ A; % produces inf where A == 0
Z = (A ~= 0) .* FAV ./ A; % produces NaN where A == 0