-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 的每个单独元素,这符合要求(n<0 或 n>0)。有办法解决这个问题吗?

4

1 回答 1

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 回答