Maple:在求解多个函数时访问求解的解决方案

时间:2013-02-06 10:24:47

标签: function linear maple

当我想为两个函数求解一组线性方程时,例如

solutions := solve({f(x)=x,g(x)=x},{f(x),g(x)});

我究竟能做些什么来解决枫树中的功能本身?

我唯一能做的就是

f_solution := x2 -> subs(x=x2, rhs(solutions[1]))

但这在很多方面都很难看。首先,这种微不足道的替代x->x2似乎是必要的,没有它就行不通。其次,构造rhs(solutions[1])非常糟糕,因为无法控制解的顺序。因此,每当我修改方程时,如果索引[1]仍然正确,我将不得不手动检查。

是否有一种干净而标准的方法从集合中提取函数?

2 个答案:

答案 0 :(得分:0)

看看assign。它可以修复您在计算中获得的解决方案

> restart:
> solutions := solve({f(x)=x,g(x)=x},{f(x),g(x)});

                  solutions := {f(x) = x, g(x) = x}

> assign(%);
> f(x);

                                  x

您也可以像这样尝试subs

> restart:
> solutions := solve({f(x)=x,g(x)=x},{f(x),g(x)});

                  solutions := {f(x) = x , g(x) = x}

> subs(solutions,f(x));
                                  x

答案 1 :(得分:0)

solutions := solve({2*f(x)=sin(x),g(x)/3=cos(x)},{f(x),g(x)});

           /       1                        \ 
          { f(x) = - sin(x), g(x) = 3 cos(x) }
           \       2                        / 

现在,以f_solution作为表达式,

f_solution := eval(f(x), solutions);

                        1       
                        - sin(x)
                        2       

f_solution作为程序,

f_solution := unapply( eval(f(x), solutions), x);

                         1       
                    x -> - sin(x)
                         2