У меня есть очень простая функция в Matlab:
function [val] = rmsMin(z)
Z1 = mainFig.UserData.Z1;
Z2 = mainFig.UserData.Z2;
val = rms(Z1 - Z2 + z);
end
Я пытаюсь найти минимальное значение этой функции, выполняющей оптимизацию 1 переменной с помощью функции fminbnd:
[minZ, minRms] = fminbnd(@rmsMin, -5, 5);
Моя проблема: я не могу/(не знаю, как) передать данные (Z1 и Z2) в функцию rmsMin, поэтому мне приходится использовать глобальную переменную mainFig, которую я пытаюсь избежать. Есть ли способ сделать это?