在枫木如何手动选择一个解决方案?

时间:2012-12-17 06:02:49

标签: maple

在一些复杂的集成之后,maple给出了在不同变量域上定义的解决方案列表。我需要选择其中一个。域是如此复杂以至于assuming没有帮助:枫在内存中耗尽,试图弄清楚这些假设如何与他找到的域相对应。但是,很明显,我需要哪种解决方案。

枫是否有可能通过数字提取某种解决方案或者只是删除未定义的解决方案使枫木忘记定义的域名?

P.S。这个解决方案很难复制粘贴,因为它很长。

UPD 最小工作示例:

> sln := int(1/x, x=a..b,AllSolutions):
> value(sln) assuming a>0, b>0;
    { -ln(a) + ln(b)        a < b
    {
    {       0               b = a
    {
    { -ln(a) + ln(b)        b < a

在这个场地示例中添加assuming a<b会有所帮助,但我希望直接获得ln(b)-ln(a)

1 个答案:

答案 0 :(得分:1)

看看convert。它可以采用分段系统并将其转换为数组。

> sln := int(1/x, x=a..b,AllSolutions):
> s:=value(sln) assuming a>0, b>0;

                       { -ln(a) + ln(b)        a < b
                       {
                  s := {       0               b = a
                       {
                       { -ln(a) + ln(b)        b < a

> conv:=convert(s,list);

   conv := [a < b, -ln(a) + ln(b), b = a, 0, b < a, -ln(a) + ln(b)]

> conv[2];

                            -ln(a) + ln(b)

您可以通过向数组中提供正确(偶数)索引或通过匹配所需部分的奇数索引来选择您喜欢的部分(然后选择相应的偶数)。