Я использую набор инструментов в MATLAB, и я не готов вносить какие-либо изменения в функции внутри него.
Скажем, у него есть функция f = @(x,l) g(x)*h(l)
Я хочудля вызова f
в другом x
, но всегда одинаковом l
:
l = 3;
f2(x) = @(x) f(x,l);
for i=1:length(x)
f2(x(i));
end
Однако, если я сделаю это, функция h
будет вызываться в l=3
длякаждый i
.Я хотел бы, чтобы MATLAB знал, когда я определил f2
, что h(l)
можно сохранить и что на самом деле f2(x) = 3*g(x)
Есть ли способ обойти эту проблему?или мне нужно зайти в код f2
и написать куда-нибудь:
A = h(l);
f2 = @(x) A*g(x)