我想将整个笔记本的变量限制在一定范围内,有没有办法一次性输入每个变量的$ assumption行?
编辑:我想为我的笔记本中的所有计算定义变量的域(搜索帮助我更好地构造了我的需求!)
最佳答案
如果所有变量都是(例如)Real
,则可以intercept the creation of new symbols并将该假设添加到$Assumptions
。例如。
$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
等以编程方式完成此操作。关于wolfram-mathematica - $对多个变量的假设,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4314225/