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ここで、 は変数MUのベクトルです。1xc

ありがとう

編集:実際には、ファジーロジックを使用したモデリングの不確実性から、mupad で次の計算をトレースしたい: 最近の理論と ... .

計算ステップの写真も添付しました(ファジーc-meansの)。

計算

4

2 に答える 2

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 に答える
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 に答える