Хотелось бы узнать, есть ли способ удалить дубликат abs (x-z) и при этом сохранить его в одной строке: Р (х (найти (абс (х-г) == мин (абс (х-г))))) * * тысяча один
Вы можете использовать набор инструментов lightspeed , который в любом случае настоятельно рекомендуется, и использовать его функцию argmin, и выполнить:
f(x(argmin(abs(x-z)))
Вы можете:
d = abs(x-z); f(x(d==min(d(:)))); clear d;
Но это едва ли более читабельно, чем ваш оригинальный код.