我想将我的变量限制在整个笔记本的某个范围内,有没有一种方法可以一次性完成,而无需为每个变量输入不同的$假设行?
编辑:我想为笔记本中的所有计算定义变量域(谷歌搜索帮助我更好地满足我的需求!)
答案 0 :(得分:3)
全球定义如下
$Assumptions = b >= 0 && c >= 0 && {u11, u13, u14} \[Element] Reals
然后使用全局定义的变量如下
Simplify[expression with global variables]
答案 1 :(得分:2)
如果您的所有变量都是(例如)Real
,那么您可以intercept the creation of new symbols并将该假设添加到$Assumptions
。 E.g。
$Assumptions = True;
$NewSymbol = If[#2 === "Global`",
Print["Created new Global` variable named ", #1, ". It is assumed to be real."];
$Assumptions = $Assumptions && Element[Symbol[#2 <> #1], Reals],
Null (* other, probably a system symbol is created *)] &;
然后,如果您创建一个不想成为真实的新符号,那么您可以跟进$Assumptions = Most[$Assumptions]
之类的内容。
注意:我不一定声称这种做法是个好主意......
最好只为您要使用的变量定义$Assumptions
。这可以使用Map
,Table
等以编程方式完成。