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