为什么Mupad在这里取代了我的E?

时间:2014-12-26 15:33:55

标签: mupad

我有代码:

  C(s):=E(s)*G(s);
  B(s):=C(s)*H(s);
  openLoopTransferFunction:=B(s)/E(s)

为什么Mupad作为输出e(s)? Mupad输出:

G(s)* exp(1)(s)(或以蓝色书写G(s)* e(s))

如何保持我的E(s)不被Mupad自动更改......说实话,这是迟钝的...... 奖金:(

...跆拳道

E(S):= R(S)-B(S) 错误:标识符' E'受到保护。 [_Assign]

1 个答案:

答案 0 :(得分:0)

MuPAD中有一些受保护的标识符。通常,它们使用大写字母。例如,I表示虚数单位,E表示欧拉数。查看输入E(正确的字母' e')和e(倾斜的字母' e')之间的区别。

如果您想以自己的方式使用这些标识符,可以unprotect

unprotect E

结果:

ProtectLevelError

这不是错误消息,而是您刚刚更改的前保护级别。通过再次输入相同的命令来检查成功的更改。这一次,你会得到:

ProtectLevelNone

现在,您可以像对待任何其他标识符一样分配给E

E(s) := R(s) - B(s);

将给出预期的结果。

如果您不想明确定义E,则应在解除保护后将其删除:

delete(E)

然后它将像任何其他符号一样可用。

在任何情况下,如果您以后需要使用欧拉数字,则必须使用exp(1)代替E

要获取所有长度为一的标识符的列表,请键入:

select(op(map(op(anames(All)), expr2text)), x -> bool(length(x) = 1))

,并提供:

"E", "I", "O", "D"

同样,对于长度为2,这给出了:

"N_", "Re", "R_", "Si", "C_", "is", "Z_", "op", "id", "Li", "ln", "Im", "Ax",
"Q_", "fp", "Ci", "Ei"