我有三个numpy 2D数组:
A1 with the shape of (x * y)
A2 with the shape of (x * z)
A3 with the shape of (y * z)
这三个数组中的值要么是True,要么是False。现在,我希望创建一个形状的三维数组(x *y* z),以便3D数组中的每个元素如下所示:
3D_array[x, y, z] = A1[x, y] & A2[x, z] & A3[y, z]
我知道我可以做一个循环。但是有什么更快的方法吗?像通过矢量化?
或者,这三个二维数组实际上只是三个一维数组之间的某种成对交互作用。因此,
我曾经提到过matplotlib.org和很多线程,但是我无法绘制3d曲面。我能够绘制一个三维散射图,但一旦我试图绘制一个三维曲面,它就会产生许多不同的错误。我修正了错误,但我得到了新的错误。在与它斗争了2天后,我相信我对matplotlib 3d曲面的理解是错误的。
我要策划SA,FZ,FY
其中SA为X,FZ为Y,FY为Z
while y<Last_Row:
if 100 < Temp_AVG_Dict[y] and Temp_AVG_Dict[y] < 140 and abs(Camber[y])<5 and 24.5<Speed[y] and S
这里是一个示例数据集。
x = linspace(10,20,50);
y = linspace(10,20,50);
z = cos(linspace(0,2*pi,50));
time = linspace(1,60,50);
sci_temp = randi(100,50,1);
x,y,z是位置,sci_temp是温度数据。
我想知道如何用sci_temp数据在xyz位置上绘制轨迹。
我尝试插值数据,所以用sci_temp图得到二维插值时间vs。
S = TriScatteredInterp(time',z',sci_temp);
[t_mesh z_mesh] = m
我想创建三维数组,包括笛卡尔轴系中的点的坐标。我的用户输入如下:
import pandas as pd
import numpy as np
rows = int(input("Please Enter the Total Number of Rows : "))
columns = int(input("Please Enter the Total Number of Columns : "))
levels = int(input("Please Enter the Total Number of Levels : "))
dx
我试图制作一个三维图形,但我得到了一个错误,我不知道如何解决它。我知道还有其他类似于我的问题,但我尝试了其中一些,但没有成功。
fh = sin(x)*cos(y).^3 + 2*cos(x).^5*sin(y)
[X,Y] = meshgrid(1:0.5:10,1:20);
surf(X,Y,fh)
Error using surf (line 82)
Z must be a matrix, not a scalar or vector.
我正在努力解决一个有关Matplotlib和Numpy的问题。
我正试图在我的地块上创建山坡阴影。
我的输入数据是XYZ点的不规则间距,是从LiDAR派生的。
I可以生成一个trisurf3D图或三维离散,没有问题。保存它,改变相机的角度,在Z的基础上给它着色,并将其动画化,但对于我的生活,我根本无法在那里得到任何阴影。
我被困在Matplotlib中,因为X和Y以及Z需要2D数组。我的输入数据确实很小: 376704点,每个点都有一个XYZ值。我已经将点转换为欧几里德坐标系,从0开始:
from laspy.file import File as LAS
import numpy as np
我已经使用Matlab几年了,这是相当容易(在我看来)和强大的三维图形,如surf,contour或contourf。在我看来,用Python做同样的事情至少更不直观。
import numpy as np
import matplotlib.pyplot as plt
t = np.arange(0,100,0.1) # time domain
sp = np.arange(0,50,0.2) # spatial domain
c = 0.5
u0 = np.exp(-(sp-5)**2)
u = np.empty((len(t),len(sp))
for i in range(0,le
当我从软件开发转向人工智能的时候,我正在学习Matlab。我一直在学习M语言,目前我遇到了一些障碍。
我正在尝试生成Rastrigin函数的三维曲面。
**rastm.m**
function y = rast(x)
n = 2;
s = 0;
for j = 1:n
s = s+(x(j)^2-10*cos(2*pi*x(j)));
end
y = 10*n+s;
下面是正在执行的代码test.m
**test.m**
syms f(x,y)
f(x,y) = s;
fsurf(f,[-5.12 5.12 -5.12 5.12]);
zlim([0 80])
当代码被执行时,三维
我有一个三维(X,Y,Z)的矩形平行六面体:1 x 1 x 10。我想创建一个具有3 x 3 x 21节点和2 x 2 x 20有限元的网格,这些有限元是具有2 x 2 x 2积分点的8节点实体单元。如何使用Python完成此操作并收集所有积分点的坐标?
(图片来源: Anton Zaicenco)
感谢您的关注!
我正试图为一个数值算法编写一个函数。对于一些状态变量,函数应该包含维数和上下界。然后,我希望函数在维度上创建一个状态空间。我可以轻松地使用网格数据并静态地定义维数,但是我想动态地定义空间。有人能告诉我如何动态地创建数组以传递到meshgrid吗?或者解释如何将字典(这似乎是建议的方法)解压到数组中?或者如何传递网格数组的列表?
下面是我所做工作的静态版本:
import numpy as np
#Define the bounds of the state space
up_bound = 1
low_bound = 0
#Define the number of dimensions
d
我已经习惯了蟒蛇,现在我想做一个三维的表面图。我有三个变量x,y,z和一个强度函数I=I(x,y,z)。我想选择一个特定的切片z=250,并绘制x和y方向的分布。问题是,我不知道如何为z值挑选一片。我试过的所有版本都有错误。
这是我有的东西
import pandas as pd
import numpy as np #NumPy
import scipy as sp #SciPy
import matplotlib as mpl #Matplotlib(2D/3D)
import matplotlib.pyplot as plt #Matplotlib's pyplot
from p
这应该是一个非常简单的问题,但由于某些原因,我变得不合理地困惑,Matlab文档也没有帮助。
给定一个坐标(x_i,y_j,z_k)的统一网格,我想在Matlab中制作一个三维数组F,这样F(i,j,k)=f(x_i,y_j,z_k)就可以了。以下内容显然是不正确的:
x=linspace(-1,1,100) % uniform mesh on [-1,1]^3
[X,Y,Z]=meshgrid(x);
f=X.*Y.*sin(pi*Y.*Z) % for example
我需要在什么地方使用permute吗?我知道我可以简单地做一个三重循环,但正如我们所知,这是缓慢的。
谢谢!