Сделайте функцию MATLAB явной - PullRequest
0 голосов
/ 28 февраля 2019

Я использую набор инструментов в 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)

1 Ответ

0 голосов
/ 28 февраля 2019

почему бы не определить вашу функцию как?

f2 = @(x) f(x,3)
...