Существует ли идиоматический способ привязки переменных в функции MATLAB? Похоже, что было бы довольно часто создавать функцию, связывать несколько аргументов, а затем передавать новую функцию в какой-то оптимизатор (в моем случае - решатель Ньютона). Это не похоже на то, что правила переменной видимости допускают решение с вложенными или встроенными функциями. Должен ли я просто создать класс? Кажется, MATLAB не имеет первоклассных объектов функции, это правильно? Мой поиск кунг-фу близок. Спасибо!
В качестве примера предположим, что я хочу найти корни f (c, x) = x ^ 3 + cx ^ 2 + 2x + 3 при различных значениях параметра c. У меня есть метод решения Ньютона, который выполняет функцию одной переменной, а не двух. Поэтому я перебираю различные значения c, а затем передаю связанную функцию решателю.
for c=1:10
g=f(c); % somehow bind value of c
seed=1.1; % my guess for the root of the equation
root=newton(g,seed); % compute the actual root
end