-1

MATLAB で区分関数を定義しようとしています。

    n = -10:10
    k(n>0) = ((1/6)^(n(n > 0))/n(n>0));
    k(n==0) = log(32);
    k(n<0) = ((1/4)^(-n(n<0)))/n(n<0);

MATLAB は、要素ごとの累乗 (.^) を使用する必要があると訴えますが、それは私が望んでいるものではありません (試してみたところ、間違った結果が得られたのでわかっています)。要件(n <0またはn> 0)に適合するnの個々の要素ごとに分数を上げたいと思います。この問題を回避する方法はありますか?

4

1 に答える 1

2

演算子を使用する必要がある場所が 2 つあります.。除算も実行します。

n = -10:10
k(n>0) =  (1/6) .^  n(n>0)   ./ n(n>0);
k(n==0) = log(32);
k(n<0) =  (1/4) .^ -n(n<0)   ./ n(n<0);
于 2015-03-08T00:53:31.393 に答える