2024-04-29 12:52:27 发布
网友
假设我有一个数组A[I,j],我想计算一个新的量B[I,j],方法如下:
for i in arange(1, n): B[i,j+1] = a*A[i-1,j] + b*A[i,j]+ c*A[i+1,j]
我可以使用什么numpy功能将其转换为纯数组操作?在
我在想np.cumprod公司但目前尚不清楚如何将这些系数纳入计算中。在
A.形状为(n+1,j)。在
定义A_left = A[:-2, :]、A_middle = A[1:-1, :]和{}
A_left = A[:-2, :]
A_middle = A[1:-1, :]
然后B = a*A_left + b*A_middle + c*A_right
B = a*A_left + b*A_middle + c*A_right
如果您不介意一点信号处理,您可以使用^{}提供一个通用的解决方案(在这种意义上,您可以在a、b和{}旁边分配更多元素,以便从A缩放元素)使用^{}。在
a
b
A
这与^{}相似,在这里,卷积理论与这种情况有关,是以更详细的方式处理的。执行应该是这样的-
from scipy import signal B = np.zeros_like(A) kernel = np.array([a,b,c])[::-1,None] B[1:-1] = signal.convolve2d(A, kernel, boundary='symm', mode='valid')
定义}
A_left = A[:-2, :]
、A_middle = A[1:-1, :]
和{然后
B = a*A_left + b*A_middle + c*A_right
如果您不介意一点信号处理,您可以使用^{} 提供一个通用的解决方案(在这种意义上,您可以在}旁边分配更多元素,以便从} 。在
a
、b
和{A
缩放元素)使用^{这与^{} 相似,在这里,卷积理论与这种情况有关,是以更详细的方式处理的。执行应该是这样的-
相关问题 更多 >
编程相关推荐