线性代数-Mapple:在求解多个函数时访问solve的解



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

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

我到底能做些什么来将解决方案作为函数本身处理在maple中?

我唯一能做的就是

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

但这在很多方面都很丑陋。首先,这种琐碎的替换x->x2似乎是必要的,没有它就不起作用。其次,构造rhs(solutions[1])非常糟糕,因为它不可能控制解的顺序。因此,每次我修改方程时,我都必须手动检查索引[1]是否仍然正确。

有没有一种干净标准的方法可以从集合中提取函数?

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       

看看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

相关内容

  • 没有找到相关文章

最新更新