首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Mupad在这里替换了我的E(s)?

为什么Mupad在这里替换了我的E(s)?
EN

Stack Overflow用户
提问于 2014-12-26 23:33:55
回答 1查看 52关注 0票数 0

我有代码:

代码语言:javascript
复制
  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 ...To自动更改,老实说,这是迟钝的…奖励:(

....Wtf

E(s):=R(s)-B(s)错误:标识符'E‘受保护。_assign

EN

回答 1

Stack Overflow用户

发布于 2015-06-01 15:26:15

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

如果你想以自己的方式使用这些标识符中的任何一个,你可以unprotect它们:

代码语言:javascript
复制
unprotect E

结果如下:

代码语言:javascript
复制
ProtectLevelError

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

代码语言:javascript
复制
ProtectLevelNone

现在,您可以像分配任何其他标识符一样为E赋值:

代码语言:javascript
复制
E(s) := R(s) - B(s);

将给出预期的结果。

如果您不想显式定义E,请在解除保护后将其删除:

代码语言:javascript
复制
delete(E)

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

在任何情况下,如果您稍后需要使用欧拉数,则必须使用exp(1)而不是E

要获取所有长度为1的标识符的列表,请键入以下内容:

代码语言:javascript
复制
select(op(map(op(anames(All)), expr2text)), x -> bool(length(x) = 1))

给予:

代码语言:javascript
复制
"E", "I", "O", "D"

类似地,对于长度2,这给出了:

代码语言:javascript
复制
"N_", "Re", "R_", "Si", "C_", "is", "Z_", "op", "id", "Li", "ln", "Im", "Ax",
"Q_", "fp", "Ci", "Ei"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27658959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档