在分段函数中提升单个矩阵元素的功效

时间:2015-03-08 00:18:26

标签: matlab piecewise

我试图在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)。有什么办法绕过这个问题?

1 个答案:

答案 0 :(得分: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);