【问题标题】:How to generate symbolic variables in a for loop using Sympy (Python)如何使用 Sympy (Python) 在 for 循环中生成符号变量
【发布时间】:2020-01-23 14:00:44
【问题描述】:

根据我的工具的输入,我需要多个变量:A_nB_nC_nD_n for n(整数)在[1, x] 范围内制定x 方程如下形式:

W(z) = A_n*cosh(beta*z) + B_n*sinh(beta*z) + C_n*cos(beta*z) + D_n*sin(beta*z)

我正在使用 Sympy,但我找不到将 n 替换为 [1, x] 范围内的整数并使用该符号(A1A2B1B2 等.) 在循环中(生成符号或进行进一步计算。

如何在 for 循环中方便地编写或调用这些变量,而不必手动编写?

【问题讨论】:

    标签: python loops variables symbols sympy


    【解决方案1】:

    您可以使用带有整数参数的函数来表示常量或索引变量。这是一个玩具示例:

    >>> A,B,C = symbols('A:C', cls=Function)
    >>> eq = A(i)*x + B(i)*y + C(i)
    >>> [eq.subs(i,j) for j in range(2)]
    [x*A(0) + y*B(0) + C(0), x*A(1) + y*B(1) + C(1)]
    

    这些函数可以用你知道的值替换。

    除了使用这些函数,您也可以使用 Indexed:

    >>> Ai=Indexed('A',i)
    >>> Ai
    A[i]
    >>> _.subs(i,0)
    A[0]
    

    【讨论】:

      猜你喜欢
      • 2017-08-16
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 2020-03-30
      • 1970-01-01
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多