Python中的Sympy分解

强尼

如果我已使用Sympy获得以下方程式:

在此处输入图片说明

是否可以安排变量,以使x和L在方程式中仅显示为x / L?

奥利弗·W

x/L用另一个符号(例如y代替对我似乎有用:

>>> import sympy as sp
>>> x, L, u, nu, y = sp.symbols('x L u nu y')
>>> expr = 0.45*nu/u**6/(1-x/L)**6 * (u**5*x - 5*u**5*x**2/2/L + 10*u**5*x**3/3/L**2 - 5*u**5*x**4/2/L**3 + u**5*x**5/L**4 - u**5*x**6/6/L**5)
>>> sp.init_printing(use_unicode=True)
>>> expr
       ⎛          5  2       5  3      5  4    5  5    5  6⎞
       ⎜ 5     5⋅u ⋅x    10⋅u ⋅x    5⋅u ⋅x    u ⋅x    u ⋅x ⎟
0.45⋅ν⋅⎜u ⋅x - ─────── + ──────── - ─────── + ───── - ─────⎟
       ⎜         2⋅L          2          3       4        5⎟
       ⎝                   3⋅L        2⋅L       L      6⋅L ⎠
────────────────────────────────────────────────────────────
                                  6                         
                         6 ⎛    x⎞                          
                        u ⋅⎜1 - ─⎟                          
                           ⎝    L⎠                          
>>> expr2 = expr.subs(x/L, y)
>>> expr2
       ⎛   5    5                5    3       5    2      5           ⎞
       ⎜  u ⋅x⋅y     5    4   5⋅u ⋅x⋅y    10⋅u ⋅x⋅y    5⋅u ⋅x⋅y    5  ⎟
0.45⋅ν⋅⎜- ─────── + u ⋅x⋅y  - ───────── + ────────── - ──────── + u ⋅x⎟
       ⎝     6                    2           3           2           ⎠
───────────────────────────────────────────────────────────────────────
                               6         6                             
                              u ⋅(-y + 1)                              
>>> expr2.collect(x*u**5)
         ⎛   5           3       2          ⎞
         ⎜  y     4   5⋅y    10⋅y    5⋅y    ⎟
0.45⋅ν⋅x⋅⎜- ── + y  - ──── + ───── - ─── + 1⎟
         ⎝  6          2       3      2     ⎠
─────────────────────────────────────────────
                           6                 
                 u⋅(-y + 1)                  
>>> 

如果您确实希望它显示为符号(x/L),则需要对其进行定义并重新替换:

>>> s = sp.symbols('(x/L)')
>>> expr2.collect(x*u**5).subs(y, s)
         ⎛       5                   3           2              ⎞
         ⎜  (x/L)         4   5⋅(x/L)    10⋅(x/L)    5⋅(x/L)    ⎟
0.45⋅ν⋅x⋅⎜- ────── + (x/L)  - ──────── + ───────── - ─────── + 1⎟
         ⎝    6                  2           3          2       ⎠
─────────────────────────────────────────────────────────────────
                                       6                         
                         u⋅(-(x/L) + 1)                         

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python中的Sympy分解

来自分类Dev

sympy中的因子分解

来自分类Dev

Python中的整数分解

来自分类Dev

使用sympy分解复杂的根

来自分类Dev

在python中绘制sympy结果

来自分类Dev

在sympy中解决函数(python)

来自分类Dev

python中的时间序列分解错误

来自分类Dev

如何分解Python中的列表理解行?

来自分类Dev

CPLEX 的 Python 中的 Bender 分解示例

来自分类Dev

Sympy 模块中的 Python 代码中的 PicklingError

来自分类Dev

如何在Sympy中分解平方项

来自分类Dev

在Docker映像中安装python-sympy

来自分类Dev

使用python在sympy中创建复杂矩阵

来自分类Dev

如何索引Python列表中的Sympy总和?

来自分类Dev

使用python在sympy中创建复杂矩阵

来自分类Dev

Sympy(Python)中的f(x).subs()替换

来自分类Dev

Python中的Taylor系列麻烦(Sympy)

来自分类Dev

在Python中通过正则表达式分解CSV

来自分类Dev

难以理解Python 2.7中阶乘分解的经典递归示例

来自分类Dev

在Python中通过正则表达式分解CSV

来自分类Dev

python中的素数分解程序不提供任何输出

来自分类Dev

单个图像上python中的非负矩阵分解

来自分类Dev

R中的QR分解和Choleski分解

来自分类Dev

Python作业分解

来自分类Dev

python总理分解性能

来自分类Dev

素数分解python

来自分类Dev

Haskell中的主要分解

来自分类Dev

R中的分解变量

来自分类Dev

R中的历史分解