Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 问题:如何用函数代替函数?_Python_Sympy - Fatal编程技术网

Python 问题:如何用函数代替函数?

Python 问题:如何用函数代替函数?,python,sympy,Python,Sympy,假设我有这样一个函数: In [44]: eta(p) Out[44]: ⎛ Λ⋅(-F(p) + 1) ⎞ -Λ 1 ⎝-Λ⋅(-F(p) + 1) + ℯ - 1⎠⋅ℯ 1 - ───────────────────────── + ────────────────────────────────

假设我有这样一个函数:

In [44]: eta(p)
Out[44]: 
                                ⎛                  Λ⋅(-F(p) + 1)    ⎞  -Λ
                1               ⎝-Λ⋅(-F(p) + 1) + ℯ              - 1⎠⋅ℯ  
1 - ───────────────────────── + ─────────────────────────────────────────
      ⎛      Λ    ⎞  -2⋅Λ                 ⎛     -Λ⎞                      
    - ⎝-Λ + ℯ  - 1⎠⋅ℯ     + 1             ⎝1 - ℯ  ⎠⋅(-F(p) + 1)  
我想在一些简化的假设下绘制函数。我知道我可以使用
subs()
Lambda
等变量替换为实数。这就剩下了
F(p)


如何用实际的数值函数替换symbolic
F(p)

您可以使用
sympy.utilities.lambdify.implemented\u function
定义数值函数,并使用
subs
进行替换。

您可以使用并使其使用numpy

以下是一个简化的示例:

import sympy as sy
import numpy as np
import matplotlib.pyplot as plt


t, omega = sy.symbols('t omega')

func = sy.sin(omega * t)

func_sub = func.subs({'omega': 2 * sy.pi})

numpy_func = sy.lambdify(t, func_sub, modules='numpy')

px = np.linspace(0, 1, 1000)

plt.plot(px, numpy_func(px))
plt.show()