有没有办法告诉maxima一个表达总是积极的?下面是一个示例代码段,它会让maxima向表达式提出问题 sin(a)*x
:
声明([A,X,Y],真实); ca:cos(a)=(x /(sqrt(x * x + y * y))); a1:求解(ca,a)[1]; 解决(A1,Y);
有没有办法告诉maxima一个表达总是积极的?下面是一个示例代码段,它会让maxima向表达式提出问题 sin(a)*x
:
声明([A,X,Y],真实); ca:cos(a)=(x /(sqrt(x * x + y * y))); a1:求解(ca,a)[1]; 解决(A1,Y);
您可以使用 assume
。从Maxima自己的文档:
- 功能:假设(,...,) 将谓词,...添加到当前上下文。 如果谓词与谓词中的谓词不一致或冗余 当前上下文,它不会添加到上下文中。上下文 从每次调用累加谓词'assume'。 `assume'返回一个列表,其元素是添加的谓词 上下文或原子“冗余”或“不一致”在哪里 适用。 谓词,......,只能是表达式 使用关系运算符`='和`>'。 谓词不能是字面上的平等“=”或字面上的不平等 `#'表达式,也不能是谓词函数 `integerp”。 形式为`和......和'的复合谓词 是公认的,但不是'或......或'。 `不 '如果是关系谓词,则被识别。 表达式'not(and)'和`not (或)'不被承认。 千里马的演绎机制不是很强;有许多 “是”无法确定的明显后果。这是 一个已知的弱点。 “假设”评估其论点。 另见`is',`facts',`forget',`context'和`declare'。
Examples:
(%i1) assume (xx > 0, yy < -1, zz >= 0);
(%o1) [xx > 0, yy < - 1, zz >= 0]
(%i2) assume (aa < bb and bb < cc);
(%o2) [bb > aa, cc > bb]
(%i3) facts ();
(%o3) [xx > 0, - 1 > yy, zz >= 0, bb > aa, cc > bb]
(%i4) is (xx > yy);
(%o4) true
(%i5) is (yy < -yy);
(%o5) true
(%i6) is (sinh (bb - aa) > 0);
(%o6) true
(%i7) forget (bb > aa);
(%o7) [bb > aa]
(%i8) prederror : false;
(%o8) false
(%i9) is (sinh (bb - aa) > 0);
(%o9) unknown
(%i10) is (bb^2 < cc^2);
(%o10) unknown
您可以使用 assume
。从Maxima自己的文档:
- 功能:假设(,...,) 将谓词,...添加到当前上下文。 如果谓词与谓词中的谓词不一致或冗余 当前上下文,它不会添加到上下文中。上下文 从每次调用累加谓词'assume'。 `assume'返回一个列表,其元素是添加的谓词 上下文或原子“冗余”或“不一致”在哪里 适用。 谓词,......,只能是表达式 使用关系运算符`='和`>'。 谓词不能是字面上的平等“=”或字面上的不平等 `#'表达式,也不能是谓词函数 `integerp”。 形式为`和......和'的复合谓词 是公认的,但不是'或......或'。 `不 '如果是关系谓词,则被识别。 表达式'not(and)'和`not (或)'不被承认。 千里马的演绎机制不是很强;有许多 “是”无法确定的明显后果。这是 一个已知的弱点。 “假设”评估其论点。 另见`is',`facts',`forget',`context'和`declare'。
Examples:
(%i1) assume (xx > 0, yy < -1, zz >= 0);
(%o1) [xx > 0, yy < - 1, zz >= 0]
(%i2) assume (aa < bb and bb < cc);
(%o2) [bb > aa, cc > bb]
(%i3) facts ();
(%o3) [xx > 0, - 1 > yy, zz >= 0, bb > aa, cc > bb]
(%i4) is (xx > yy);
(%o4) true
(%i5) is (yy < -yy);
(%o5) true
(%i6) is (sinh (bb - aa) > 0);
(%o6) true
(%i7) forget (bb > aa);
(%o7) [bb > aa]
(%i8) prederror : false;
(%o8) false
(%i9) is (sinh (bb - aa) > 0);
(%o9) unknown
(%i10) is (bb^2 < cc^2);
(%o10) unknown