<tfoot id='PPx9c'></tfoot>

    • <bdo id='PPx9c'></bdo><ul id='PPx9c'></ul>
    <i id='PPx9c'><tr id='PPx9c'><dt id='PPx9c'><q id='PPx9c'><span id='PPx9c'><b id='PPx9c'><form id='PPx9c'><ins id='PPx9c'></ins><ul id='PPx9c'></ul><sub id='PPx9c'></sub></form><legend id='PPx9c'></legend><bdo id='PPx9c'><pre id='PPx9c'><center id='PPx9c'></center></pre></bdo></b><th id='PPx9c'></th></span></q></dt></tr></i><div id='PPx9c'><tfoot id='PPx9c'></tfoot><dl id='PPx9c'><fieldset id='PPx9c'></fieldset></dl></div>
      <legend id='PPx9c'><style id='PPx9c'><dir id='PPx9c'><q id='PPx9c'></q></dir></style></legend>

      <small id='PPx9c'></small><noframes id='PPx9c'>

      1. 如何评估 SymPy 在初始条件下给出的常数?

        How to evaluate the constants SymPy gives with initial condition?(如何评估 SymPy 在初始条件下给出的常数?)
          <i id='WhUdU'><tr id='WhUdU'><dt id='WhUdU'><q id='WhUdU'><span id='WhUdU'><b id='WhUdU'><form id='WhUdU'><ins id='WhUdU'></ins><ul id='WhUdU'></ul><sub id='WhUdU'></sub></form><legend id='WhUdU'></legend><bdo id='WhUdU'><pre id='WhUdU'><center id='WhUdU'></center></pre></bdo></b><th id='WhUdU'></th></span></q></dt></tr></i><div id='WhUdU'><tfoot id='WhUdU'></tfoot><dl id='WhUdU'><fieldset id='WhUdU'></fieldset></dl></div>

          <tfoot id='WhUdU'></tfoot>
          • <bdo id='WhUdU'></bdo><ul id='WhUdU'></ul>
              <tbody id='WhUdU'></tbody>

            <small id='WhUdU'></small><noframes id='WhUdU'>

            <legend id='WhUdU'><style id='WhUdU'><dir id='WhUdU'><q id='WhUdU'></q></dir></style></legend>
                1. 本文介绍了如何评估 SymPy 在初始条件下给出的常数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如何从 SymPy 给我的微分方程的解中计算常数 C1 和 C2?有初始条件 f(0)=0 和 f(pi/2)=3.

                  How can I evaluate the constants C1 and C2 from a solution of a differential equation SymPy gives me? There are the initial condition f(0)=0 and f(pi/2)=3.

                  >>> from sympy import *
                  >>> f = Function('f')
                  >>> x = Symbol('x')
                  >>> dsolve(f(x).diff(x,2)+f(x),f(x))
                  f(x) == C1*sin(x) + C2*cos(x)
                  

                  我尝试了一些 ics 的东西,但它不起作用.示例:

                  I tried some ics stuff but it's not working. Example:

                  >>> dsolve(f(x).diff(x,2)+f(x),f(x), ics={f(0):0, f(pi/2):3})
                  f(x) == C1*sin(x) + C2*cos(x)
                  

                  顺便说一句:C2 = 0 和 C1 = 3.

                  By the way: C2 = 0 and C1 = 3.

                  推荐答案

                  有一个拉取请求 实现初始/边界条件,已合并并应在 SymPy 1.2 中发布.同时,可以解出这样的常量:

                  There's a pull request implementing initial/boundary conditions, which was merged and should be released in SymPy 1.2. Meanwhile, one can solve for constants like this:

                  sol = dsolve(f(x).diff(x,2)+f(x),f(x)).rhs
                  constants = solve([sol.subs(x,0), sol.subs(x, math.pi/2) - 3])
                  final_answer = sol.subs(constants)
                  

                  代码返回 final_answer 作为 3.0*sin(x).

                  solve 可能会返回一个解决方案列表,在这种情况下,必须替换 constants[0] 等.在任何情况下都强制它返回一个列表(为了一致性),使用 dict=True:

                  solve may return a list of solutions, in which case one would have to substitute constants[0], etc. To force it to return a list in any case (for consistency), use dict=True:

                  constants = solve([sol.subs(x,0), sol.subs(x, math.pi/2) - 3], dict=True)
                  final_answer = sol.subs(constants[0])
                  

                  如果方程包含参数,solve 可能会也可能不会求解您想要的变量(C1 和 C2).这可以确保如下:

                  If the equation contains parameters, solve may or may not solve for the variables you want (C1 and C2). This can be ensured as follows:

                  constants = solve([sol.subs(x,0), sol.subs(x, math.pi/2) - 3], symbols('C1 C2'))
                  

                  再次,dict=True 将强制输出的列表格式.

                  where again, dict=True would force the list format of the output.

                  这篇关于如何评估 SymPy 在初始条件下给出的常数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Initialize Multiple Numpy Arrays (Multiple Assignment) - Like MATLAB deal()(初始化多个 Numpy 数组(多重赋值) - 像 MATLAB deal())
                  How to extend Python class init(如何扩展 Python 类初始化)
                  What#39;s the difference between dict() and {}?(dict() 和 {} 有什么区别?)
                  What is a wrapper_descriptor, and why is Foo.__init__() one in this case?(什么是 wrapper_descriptor,为什么 Foo.__init__() 在这种情况下是其中之一?)
                  Initialize list with same bool value(使用相同的布尔值初始化列表)
                  setattr with kwargs, pythonic or not?(setattr 与 kwargs,pythonic 与否?)
                  • <tfoot id='G7oGm'></tfoot>

                      <bdo id='G7oGm'></bdo><ul id='G7oGm'></ul>
                      <i id='G7oGm'><tr id='G7oGm'><dt id='G7oGm'><q id='G7oGm'><span id='G7oGm'><b id='G7oGm'><form id='G7oGm'><ins id='G7oGm'></ins><ul id='G7oGm'></ul><sub id='G7oGm'></sub></form><legend id='G7oGm'></legend><bdo id='G7oGm'><pre id='G7oGm'><center id='G7oGm'></center></pre></bdo></b><th id='G7oGm'></th></span></q></dt></tr></i><div id='G7oGm'><tfoot id='G7oGm'></tfoot><dl id='G7oGm'><fieldset id='G7oGm'></fieldset></dl></div>
                      <legend id='G7oGm'><style id='G7oGm'><dir id='G7oGm'><q id='G7oGm'></q></dir></style></legend>

                            <tbody id='G7oGm'></tbody>

                          <small id='G7oGm'></small><noframes id='G7oGm'>