Python 如何指定多个";num";np.linspace函数的参数?
我想知道是否有办法使用多个Python 如何指定多个";num";np.linspace函数的参数?,python,arrays,numpy,linspace,Python,Arrays,Numpy,Linspace,我想知道是否有办法使用多个num参数设置NumPylinspace函数,这样我就可以创建具有不同间隔的等距值序列,而无需任何for循环操作 为了进一步说明我的问题,我有下面的np.array,我想为其细分3个段,由它们在x、y、z轴上各自的2个顶点表示: ************************* 3D SEGMENTS TO DISCRETIZE ************************* SegmentToDiscretize = np.array([[[150.149, 1
num
参数设置NumPylinspace
函数,这样我就可以创建具有不同间隔的等距值序列,而无需任何for循环操作
为了进一步说明我的问题,我有下面的np.array,我想为其细分3个段,由它们在x、y、z轴上各自的2个顶点表示:
*************************
3D SEGMENTS TO DISCRETIZE
*************************
SegmentToDiscretize = np.array([[[150.149, 167.483, 4.2 ],[160.149, 167.483, 4.2 ]],
[[148.594, 163.634, 25.8 ],[180.547, 170.667, 25.8 ]],
[[180.547, 170.667, 25.8 ],[200.547, 190.667, 25.8 ]]])
以及用于在每对顶点之间添加等距点的福林函数:
******************************
EQUIDISTANT POINTS COMPUTATION
******************************
nbsubdiv = 10
addedpoint = np.linspace(SegmentToDiscretize[:,0],SegmentToDiscretize[:,1],nbsubdiv, dtype = np.float)
由于参数nbsubdiv
,我可以指定需要多少个细分。但是我想为我的SegmentToDiscretize
np.array
[[[150.149, 167.483, 4.2 ],[160.149, 167.483, 4.2 ]], <-- nbsubdiv = 4
[[148.594, 163.634, 25.8 ],[180.547, 170.667, 25.8 ]], <-- nbsubdiv = 30
[[180.547, 170.667, 25.8 ],[200.547, 190.667, 25.8 ]]] <-- nbsubdiv = 10
通过上述代码,我获得:
[[148.594 163.634 4.2 ]
[150.149 165.97833333 4.2 ]
[153.48233333 167.483 4.2 ]
[156.81566667 167.483 4.2 ]
[159.245 167.483 25.8 ]
[160.149 167.483 25.8 ]
[169.896 168.32266667 25.8 ]
[180.547 170.667 25.8 ]
[180.547 170.667 25.8 ]
[187.21366667 177.33366667 25.8 ]
[193.88033333 184.00033333 25.8 ]
[200.547 190.667 25.8 ]]
这是正常的,因为nbsubdiv[0]获取列表中的第一个元素。但是我没有成功地找到一种方法,在没有for循环的情况下递归地使用这个列表中的每个值
因此,如果有人能帮助我解决这个挑战,我将非常高兴。
提前谢谢
亲切问候,
Hervélinspace
返回一个数组。最初是1d,现在可以指定数组的开始和停止。但是num
必须是标量。否则它不可能是多维数组。二维数组中不能有一个10元素行和另一个11元素行!感谢@hpaulj的第一次回复。因此,如果我理解得很好,现在不可能使用np.array
来包含3个不同的值,这些值将在每个分段上受到影响,从而区分np.array行?
[[148.594 163.634 4.2 ]
[150.149 165.97833333 4.2 ]
[153.48233333 167.483 4.2 ]
[156.81566667 167.483 4.2 ]
[159.245 167.483 25.8 ]
[160.149 167.483 25.8 ]
[169.896 168.32266667 25.8 ]
[180.547 170.667 25.8 ]
[180.547 170.667 25.8 ]
[187.21366667 177.33366667 25.8 ]
[193.88033333 184.00033333 25.8 ]
[200.547 190.667 25.8 ]]