import numpy as np
import sympy
校园网
规划与
设计from sympy import init_printing
init_printing(use_latex=True)
x, nu, t = sympy.symbols('x nu t')
phi = p(-(x-4*t)**2/(4*nu*(t+1))) + p(-(x-4*t-2*np.pi)**2/(4*nu*(t+1)))
亿目phi
phiprime = phi.diff(x)
phiprime
print phiprime
from sympy.utilities.lambdify import lambdify
王子伦理
u = -2*nu*(phiprime/phi)+4
print u
ufunc = lambdify((t, x, nu), u)
print ufunc(1,4,3)
粮油加工与
食品机械import matplotlib.pyplot as plt###variable declarations
nx = 101
nt = 100
dx = 2*np.pi/(nx-1)
nu = .07
dt = dx*nu
x = np.linspace(0, 2*np.pi, nx)
#u = np.empty(nx)
un = np.empty(nx)
t = 0
u = np.asarray([ufunc(t, x0, nu) for x0 in x])上海
天平厂
u
plt.figure(figsize=(11,7), dpi=100)
plt.plot(x,u, marker='o', lw=2)
plt.xlim([0,2*np.pi])
plt.ylim([0,10])
plt.show()
for n in range(nt):
un = u.copy()
for i in range(nx-1):
u[i] = un[i] - un[i] * dt/dx *(un[i] - un[i-1]) + nu*dt/dx**2*\
(un[i+1]-2*un[i]+un[i-1])
u[-1] = un[-1] - un[-1] * dt/dx * (un[-1] - un[-2]) + nu*dt/dx**2*\
(un[0]-2*un[-1]+un[-2])
7
月份CPI同比上涨
u_analytical = np.asarray([ufunc(nt*dt, xi, nu) for xi in x])
plt.figure(figsize=(11,7), dpi=100)
plt.plot(x,u, marker='o', lw=2, label='Computational')
plt.plot(x, u_analytical, label='Analytical')
plt.xlim([0,2*np.pi])
plt.ylim([0,10])
plt.legend()
plt.show()