- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将尝试在这里解释我的问题,而不会详细介绍实际应用程序,以便我们能够立足于代码。基本上,我需要对向量场进行运算。我的第一步是将字段生成为
x,y,z = np.meshgrid(np.linspace(-5,5,10),np.linspace(-5,5,10),np.linspace(-5,5,10))
请记住,这是一般情况,在程序中,向量场的边界并不完全相同。一般来说,我希望说一些类似于
u,v,w = f(x,y,z)
.
不幸的是,这种情况需要更困难的操作。我需要使用类似于的公式
其中向量 r 在程序中定义为 np.array([xgrid-x,ygrid-y,zgrid-z])
除以它自己的规范。基本上,这是一个从空间中的每个点指向位置 (x,y,z) 的向量
现在 Numpy 已经使用 np.cross()
实现了叉积函数,但我似乎无法创建我需要的“矢量网格”。我有一个 lambda 函数,本质上是
xgrid,ygrid,zgrid=np.meshgrid(np.linspace(-5,5,10),np.linspace(-5,5,10),np.linspace(-5,5,10))
B(x,y,z) = lambda x,y,z: np.cross(v,np.array([xgrid-x,ygrid-y,zgrid-z]))
现在数组 v
是从另一个类导入的,似乎工作得很好,但是第二个数组 np.array([xgrid-x,ygrid-y,zgrid-z])
不是一个正确的形状,因为它是“网格向量”而不是“向量网格”。我的大问题是,我似乎找不到一种方法来格式化网格网格,使np.cross()
函数可以使用位置向量。有办法做到这一点吗?
最初我认为我可以做一些事情:
x,y,z = np.meshgrid(np.linspace(-2,2,5),np.linspace(-2,2,5),np.linspace(-2,2,5))
A = np.array([x,y,z])
cross_result = np.cross(np.array(v),A)
但是,这会返回以下错误,我似乎无法规避该错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\numpy\core\numeric.py", line 1682, in cross
raise ValueError(msg)
ValueError: incompatible dimensions for cross product
(dimension must be 2 or 3)
最佳答案
有一个解决reshape
和广播的方法:
A = np.array([x_grid, y_grid, z_grid])
# A.shape == (3,5,5,5)
def B(v, p):
'''
v.shape = (3,)
p.shape = (3,)
'''
shape = A.shape
Ap = A.reshape(3,-1) - p[:,None]
return np.cross(v[None,:], Ap.reshape(3,-1).T).reshape(shape)
print(B(v,p).shape)
# (3, 5, 5, 5)
关于python - 从 Numpy Meshgrid 生成位置向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58591620/
我有一个函数可以返回点 (x, y) 的密度估计。我想遍历给定二维网格的所有 (x, y) 点,并让密度函数计算每个点的估计值,以便我可以有一个密度值矩阵,然后我可以绘制它。 假设函数被调用 de
我将不一致的数据集更改为一致的数据集。现在我遇到了这个问题:我不明白如何从三个一维数据框列创建轮廓。 我如何将它们网格化以绘制等高线图?这三列是: data_month['Timestamp'], d
我有一个问题,我想绘制矩阵的行列式作为参数的函数,所以我有一个脚本 def f(x, y): DD = np.matrix([[0., 0.],[0., 0.]]) + 0.j ome
如何绘制下表中的数据表面。 第 1 列 - X;第 2 栏 - Y;第 3 列 - Z; 在下面的示例中,X 有 4 个不同点,Y 有 3 个不同点,但我无法预测,每次我都必须分析数据以确定如何将列
我正在尝试根据 x 和 y 点在 python 中网格的特定部分中的位置来标记它们。这些点存储在 Pandas 数据框中。 这里我有一个坐标散点图,在它们上方我正在绘制网格。整个网格更大,从左下点(5
在图像大小调整插值问题中,可以使用 np.meshgrid在对网格索引进行操作之前,在 row 和 col 索引上: nrows = 600 ncols = 800 image_in = np.ran
我正在努力解决与 Matplotlib 和 Numpy 相关的问题。 我正在尝试创建 山体阴影 在我的表面图上。 我的输入数据是 XYZ点的不规则间距源自激光雷达。 我可以生成 trisurf3D 图
我正在尝试创建一个 numpy meshgrid 并将其转换为 Shapely 多边形。我可能可以用一种非常蛮力的方法来解决这个问题,但感觉必须有一个很好的技巧来完成这个,但我还没有想出它。 这让我得
我在 numpy 中有一个网格。我对这些点做了一些计算。我想过滤掉由于某种原因无法计算的点(除以零)。 from numpy import arange, array Xout = arange(-4
我有两个单元格: Months1 = {'F','G','H','J','K','M','N','Q','U','V','X','Z'}; Months2 = 2009:2014; 如何在不运行循环的
我想过滤一个 numpy meshgrid 的值: X,Y = np.mgrid[-10:10,-10:10] 在这种情况下,我想删除 x**2 + y**2 = 2, np.meshgrid[-10
我有形状为 1750 X 1750 的纬度和经度点的 numpy 网格及其相同形状的相应数据(降雨量)。我需要找到落在多边形内的数据点的平均值,从形状文件中读取。 如果我的逻辑是正确的,我必须找出落在
有人可以解释一下 meshgrid 方法吗?我无法全神贯注。该示例来自 [SciPy][1] 站点: import numpy as np nx, ny = (3, 2) x = np.linspac
让我们考虑两个变量 f(x1, x2) 的函数,其中 x1 跨越向量 v1 和 x2 跨越向量 v2。 如果 f(x1, x2) = np.exp(x1 + x2),我们可以通过命令 numpy.me
我在 for 循环中使用 meshgrid 犯了一个错误。让我以下面的代码为例: x=linspace(0,100,100); y=linspace(0,100,100); x0=[0 1 2 3];
我正在开发一个开源代码,它应该有一个一维数组的网格文件。我在 Matlab 中通过 MESHGRID 创建网格,然后使用 FOR 循环按列堆叠数据以创建文件。由于FOR循环,需要很长时间。谁能为我建议
我正在尝试使用给出的示例 here生成我使用的函数的等高线图。我在使用 numpy.meshgrid 与此函数时遇到问题,因为它给出了 ValueError: 设置带有序列的数组元素。因此,我生成了一
我有一些数据 phi,我想用 pcolormesh 绘制它。我的第一个方法是: plt.figure() plt.colormesh(phi) plt.show() 产生: 好。现在我只想稍微调整一下
我的数据框: df1 = pd.DataFrame(np.array([[1, 2, 3], [4, 2, 3], [7, 8, 8]]),columns=['a', 'b', 'c']) df2 =
我想问一下如何从网格中生成相应的值。我有一个函数“foo”,它接受一个长度为 2 的一维数组,并返回一些实数。 import numpy as np def foo(X): #this fu
我是一名优秀的程序员,十分优秀!