我有Nx2矩阵A
和2个变量的函数f
。
A = [1,2;3,4;5,6;7,8;9,0];
func = '@(x1, x2) sin(x1+x2)*cos(x1*x2)/(x1-x2)';
func = str2func(func);
我可以用这样的方式将函数应用于矩阵:
values = arrayfun(@(x1,x2) func(x1, x2), A(:,1), A(:,2));
它似乎比for-loop
更快,但对我的程序来说仍然很慢。
我想知道是否还有其他方法可以更快地完成它?
编辑。程序会生成函数。它们由一些简单的函数组成,如plus,minus,times,expl,ln。我不知道如何对它们进行矢量化。