1

我想实现以下功能。但我不知道如何在一组变量上定义一个函数,例如mu(1), mu(2), mu(3),..., mu(c)c是一个数字符号(即它是函数的参数,但不是输入值):

f := (mu(i), i=1..c) -> sum(mu(i)^2,i=1..c)

换句话说,我想要 的符号形式f(MU)=norm(MU)^2,其中MU1xc变量向量。

谢谢

编辑:事实上,我想从使用模糊逻辑建模不确定性中跟踪 mupad 中的以下计算:使用最近的理论和...。

我还附上了计算步骤的图片(模糊 c 均值)。

计算

4

2 回答 2

1
f := mu -> _plus(mu[i]^2 $ i=1..nops(mu));

用列表调用:

f([1,2,3,4])

或者,能够调用f(1,2,3,4)

f := () -> _plus(args(i)^2 $ i=1..args(0));
于 2013-03-17T10:24:13.947 回答
1

我不确定我是否理解这个问题(如何c成为参数,而不是输入值?)

>> f = @(mu) sum(mu .^ 2); % applied on all elements
>> g = @(mu, c) sum(mu(1 : c) .^ 2);  % applied on mu(1:c)
>> f(1:3)

ans =

    14

>> g(1:10, 3)

ans =

    14
于 2012-12-04T11:55:30.090 回答