我在MATLAB中有 N
个函数,我可以使用 strcat
、num2str
和 eval
在for循环中定义它们。因此,无需手动定义,我就能够定义 N
个函数。假设 N=4
,并给出如下:
f1=@(x) a1*x+1;
f2=@(x) a2*x+1;
f3=@(x) a3*x+1;
f4=@(x) a4*x+1;
现在我添加了这四个功能,可以手动执行以下操作:
f=@(x)(f1(x)+f2(x)+f3(x)+f4(x));
因为我知道 N=4
,所以我可以手动完成。然而,通常情况下我不知道会有多少个函数。对于所有情况,我不能编写新函数。
有没有自动完成这个的方法?我的意思是,如果我给出 N=6
,我希望看到 MATLAB 给我这个:
f=@(x)(f1(x)+f2(x)+f3(x)+f4(x)+f5(x)+f6(x));
每当我提供
N=2
时,就必须有如下定义的函数f
:f=@(x)(f1(x)+f2(x));
我们应该如何做到这一点?