Существует ли идиоматический способ связывания переменных в функции 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