【发布时间】:2010-12-21 16:54:58
【问题描述】:
如果我在 MATLAB 中使用 inline 函数,我可以创建一个函数名,该函数名可以根据之前的选择做出不同的响应:
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 文件、子函数或嵌套函数)。
假设我有 Mercator.m、KavrayskiyVII.m 等 m 文件(均取 phi 和 lambda 的值),我想将所选函数分配给 p以与上面相同的方式,以便我可以多次调用它(使用可变大小的矩阵和使用eval 的东西要么不可能,要么一团糟)。
我有一个变量 type,它将是所需函数的名称之一(例如 'Mercator'、'KavrayskiyVII' 等)。我想我需要将p 变成指向type 变量内命名的函数的指针。有什么想法可以做到这一点吗?
【问题讨论】:
标签: string matlab function-pointers function-handle