Первая кодовая ячейка:
import numpy as np
import matplotlib.pyplot as plt
import sympy as sym
from ipywidgets.widgets import interact
sym.init_printing(use_latex="mathjax")
x, y, z, t = sym.symbols('x y z t')
Мне необходимо построить следующую функцию, которую я определил как:
p_w = (1/sym.sqrt(sym.pi*(1-sym.exp(-2*t))))*sym.exp(-(z-sym.exp(-t))**2/(1-sym.exp(-2*t)))
Очевидно, что t и z являются переменными, и я долженпостроите функцию для t = 0,1,1 и 10, используя z в качестве моей оси x и p_w (z) в качестве оси y.
Я попытался определить 3 функции j, k, l со значениямивставьте для t как:
j=p_w.evalf(subs={t:0.1})
k=p_w.evalf(subs={t:1})
l=p_w.evalf(subs={t:10})
, затем изменив их на массивы с помощью функции sym.lambdify ():
j_np=sym.lambdify(z,j)
k_np=sym.lambdify(z,k)
l_np=sym.lambdify(z,l)
Я определил свою ось x, используя:
myz = np.linspace(0,10,1000)
(1000 делений было довольно произвольным, так как я не знал, сколько мне понадобится для точного графика)
Затем я попытался построить просто j, чтобы начать следующим образом:
plt.plot(myz, j_np(myz))
и получил следующее сообщение об ошибке:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-41-d743a8a00bcf> in <module>()
----> 1 plt.plot(myz,j_np(myz))
/anaconda3/lib/python3.6/site-packages/numpy/__init__.py in <lambda>. (_Dummy_164)
AttributeError: 'Mul' object has no attribute 'exp'
Я предполагаю, что проблема в том, что numpy не понимает 'exp' так же, как симпй, но я не уверенотносительно того, как исправить это, или даже если это проблема вообще.Любая помощь будет высоко ценится.