【问题标题】:Error message about identifiers in MuPAD有关 MuPAD 中标识符的错误消息
【发布时间】:2017-11-22 10:45:01
【问题描述】:

我正在用 MuPAD 编写程序。在此,我使用了一个包含 N 项的总和以及乘积的方程。但是在运行代码时 MuPAD 会抛出错误:

错误:求和变量必须是标识符或索引标识符。 [总和]

任何人都可以提出一些建议吗?提前致谢。下面是我的整个代码。在此我在倒数第二行遇到错误。

N:= 2;
lamda:= 785*10^(-9);
d:= 1*10^3;
a:= 5*10^-2;
ap:= 10;
be:=5;
bo:=0.25;
rhom:= 0.95;
g:= 2*bo*(1-rhom);
ohm:= 0.5;
f:= ohm + 2*(bo)*rhom;
A:= ((2*(ap)^(ap/2))/((g^(1+(ap/2)))*gamma(ap)))*(((g*be)/(g*be+f))^(be+(ap/2)));
k:= 2*PI/lamda;
ak:= (binomial(be-1,k-1)/gamma(k))*((g*be+f)^(1-(k/2)))*((f/g)^(k-1))*(ap/be)^(k/2);
ad:= 0.6;
v:= (sqrt(PI)*a)/(sqrt(2)*ad);
ae:= float(sqrt((ad^2*sqrt(PI)*erf(v))/(2*v*exp(-v^2))));
sigmas:= 0.3;
z:= ae/(2*sigmas);
sk:=(z^2/(1+z^2));
Y:=(ap^2*be^2*sk^2*(g+f)^2)/(16*ui*((g*be)+f)^2);
ccc:= meijerG(5,1,[1,(2+z^2)/2],[z^2/2,ap/2,(1+ap)/2,k/2,(1+k)/2],Y);
X:= (((ap*be)/(g*be+f))^(-((ap+k)/2)));
pb:=(1/2)*product(numeric::sum(((z^2*A*ak*(2^(ap+k-4)))/PI)*X*ccc,k=1..be),i=1..N);
S2:=hfarray(1..3,[pb $ ui=1..3]);

【问题讨论】:

  • 这是我遇到此错误的代码行。
  • pb:=(1/2)*(1/PI)*sum(product(z^(2)*Aak*(2^(a+k-4)) *((ab)/(g*b+f))^(-((a+k)/2))*meijerG(5,1,[1,(2+z^2)/ (2)],[(z^2)/(2),(a)/(2),(1+a)/(2),(k)/(2),(1+k)/(2) )],Y),i=1..N),k=1..b);
  • @yacc....请检查,我已经编辑了我的问题
  • 好像很多变量没有定义,什么是a、b、Y、N等?请提供一个最小的、完整的和可验证的示例来重现错误。见stackoverflow.com/help/mcve
  • @yaac....现在我已经编写了整个代码。请检查一下

标签: mupad


【解决方案1】:

求和变量名称k 已在此处使用:k:= 2*PI/lamda。更改为不同的变量名称可修复错误。

【讨论】:

    猜你喜欢
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 2016-03-15
    • 2018-12-23
    • 1970-01-01
    相关资源
    最近更新 更多