我目前正在MATLAB中编写一个模拟程序,需要一些帮助来解决我遇到的问题。MATLAB:合并函数句柄
我正在哪里有n
单独的匿名函数处理f_i
,其中的每一个被存储在单元阵列functions
并接受一个1x1数字数组x_i
并返回一个1x1的数值数组y_i
的问题。
我想这些匿名函数的结合处理成接受单个n
X 1
数值数组X
并返回单一n
X 1
-numeric阵列Y
一个匿名函数处理。这里,X(i) = x_i
,Y(i) = y_i = f_i(x_i)
作为例子,让n = 2
和F_1和F_2是两个函数处理输入和输出1x1
阵列和被存储在一个单元阵列命名的功能
f_1 = @(x_1) x_1^2
f_2 = @(x_2) x_2^3
functions = {f_1,f_2}
我基本上需要代码,将能够使用n
,f_1
和f_2
来构造输入和输出数字数组的数组函数句柄F.
F = @(x) [f_1(x(1,1));f_2(x(2,1))]
感谢这个! 我需要尽可能高效的代码,所以我可能会使用你的函数并删除长度/断言参数... 另外,你会知道feval是否比使用内联函数句柄评估更快?也就是说,如果y(i)= f {i}(x(i))比y(i)= feval(f {i},x(i))快> – 2011-01-25 19:59:50