eval 对分段函数不在适用
- matlab 2015b
syms n q kkk Na;
alpha_n = q^(n-1)/symsum(q^(kkk-1), kkk, 1, Na)*Na;
pretty(simplify(alpha_n));
Na=3;
eval(alpha_n)
{ 1 if q == 1
{
{ n - 1
{ Na q (q - 1)
{ —————– if q ~= 1
{ Na
{ q - 1
Error using sym/eval (line 11)
Error: This statement is incomplete.
% 添加假设assume(q~=1) % 清除假设 sym('q', 'clear')
syms n q kkk Na;assume(q~=1)
alpha_n = q^(n-1)/symsum(q^(kkk-1), kkk, 1, Na)*Na;
pretty(simplify(alpha_n));
Na=3;
eval(alpha_n)
Naqn−1(q−1)qNa−1
ans =
(3*q^(n - 1)*(q - 1))/(q^3 - 1)