这对我来说是一个有点奇怪的问题,我不确定如何正确地命名问题。我有一个简单的代码段生成坐标点列表 (x,t)
并检查它们是否在用户预定义的边界上。特别地,如果 x[i] == 1.0
和 t[i] != 0.0
那么程序应该输出一个说明语句。我无法弄清楚为什么这里的 if
条件从未被执行。我已经打印出了值对 x[i]
和 t[i]
,以验证是否确实存在满足条件的值对...
#Load Modules
import numpy as np
import math, random
from pylab import meshgrid
# Create the arrays x and t on an evenly spaced cartesian grid
N = 10
xa = -1.0;
xb = 1.0;
ta = 0.0;
tb = 0.4;
xin = np.arange(xa, xb+0.00001, (xb-xa)/N).reshape((N+1,1))
tin = np.arange(ta, tb+0.00001, (tb-ta)/N).reshape((N+1,1))
X_tmp,T_tmp = meshgrid(xin,tin)
x = np.reshape(X_tmp,((N+1)**2,1))
t = np.reshape(T_tmp,((N+1)**2,1))
# create boundary flags
for i in range(0,(N+1)**2):
if (x[i] == xb and t[i] != ta):
print("We are on the right-side boundary")
x[i]
。我得到了很多-1.0,但没有正数。 - peachykeenx[i]
。 - peachykeen