Если я использую функцию inline
в MATLAB, я могу создать одно имя функции, которое может реагировать по-разному в зависимости от предыдущих вариантов:
if (someCondition)
p = inline('a - b','a','b');
else
p = inline('a + b','a','b');
end
c = p(1,2);
d = p(3,4);
Но встроенные функции, которые я создаю, становятся довольно эпичными, поэтому я хотел бы изменить их на другие типы функций (например, m-файлы, подфункции или вложенные функции).
Допустим, у меня есть m-файлы, такие как Mercator.m
, KavrayskiyVII.m
и т. Д. (Все они принимают значения для phi
и lambda
), и я хотел бы назначить выбранную функцию для p
таким же образом, как я описал выше, чтобы я мог вызывать его много раз (с матрицами переменного размера и тому, что делает использование eval
невозможным или полным беспорядком).
У меня есть переменная type
, которая будет одним из названий требуемых функций (например, 'Mercator'
, 'KavrayskiyVII'
и т. Д.). Я полагаю, мне нужно сделать p
указателем на функцию, названную внутри переменной type
. Есть идеи, как мне это сделать?