以下代码抛出错误。
syms z positive;
syms n;
syms m;
N = 10;
Ms = 10;
Es = 1;
pd = 0.9;
pd_dash = 1-pd;
pf = 0.1;
pf_dash = 1-pf;
pr = 0.1;
qr = 1-pr;
p = 0.005
pi = pf_dash*p;
pb = pd_dash*p;
qi = 1-pi;
qb = 1-pb;
sm = symsum( z^((n+1)*Es), n, 0, N-1 );
temp_sum = symsum(z^((n+m+1)*Es)*qr^(n+m)*pr, m, 0, N-1);
z=1; %assume a value of z
x = eval(sm); %works fine
y = eval(temp_sum);
% Error:The expression to the left of the equals sign is not a valid target for an assignment.
请建议解决此问题的方法。
我怀疑的问题是:temp_sum出现在分段(...)中,而eval无法评估。
答案 0 :(得分:0)
你实际做了什么:
z
sym/eval
我假设你想:
temp_sum=subs(temp_sum,z,1)
simplify(temp_sum)
。如果你替换了所有未知数,它应该返回一个数字。