Python 在计算中使用列和行值生成给定大小的方形Numpy数组
我有一个一维Yk值的数组,其中U=随机数[0,1],k=1,2,3..N的每个后续值。我需要构建一个大小为NxN的数组,该数组将填充不同的条件,这取决于行和列的索引。 如果数组单元的列和行的索引相等(i=m)2π+0.1*U_k,i=m,则数组单元由上限条件sin(i-k)*cos填充π(i-k),i≠m、 否则,由较低的一个。 我没有处理数组的行和列参与填充这个数组的事实,所以我对实现感到困惑。我只需要一个填充的工作基础,所以一个有限的NxN数组对于4x4就足够了 为了简化任务,我得到了我需要得到的东西。然而,一些问题仍然存在 1:在[0,1]中应该有一个随机数数组的元素,而不是变量U,这个元素是U_k,其中k是它在一维数组中的索引。例如,在数组中U_k=[0.11,0.5,0.66]:U1=0.11,U2=0.5,U3=0.66 2:另外,我需要形成一个一维数组,而不是变量A的常量输出。 换言之,我在从先前设置的数组U_k输出值并将循环执行的结果打包到一维数组中时仍然存在问题Python 在计算中使用列和行值生成给定大小的方形Numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我有一个一维Yk值的数组,其中U=随机数[0,1],k=1,2,3..N的每个后续值。我需要构建一个大小为NxN的数组,该数组将填充不同的条件,这取决于行和列的索引。 如果数组单元的列和行的索引相等(i=m)2π+0.1*U_k,i=m,则数组单元由上限条件sin(i-k)*cos填充π(i-k),i≠m、 否则,由较低的一个。 我没有处理数组的行和列参与填充这个数组的事实,所以我对实现感到困惑。我只需要一个填充的工作基础,所以一个有限的NxN数组对于4x4就足够了 为了简化任务,我得到了我
import numpy as np
import math
i=0
k=1
N=5
U=10
while k < N:
while i < N:
i= i+1
k = k
if i==k:
A = 2* math.pi + 0.1 * U
if i != k:
A = math.sin(i-k)* math.cos(math.pi*(i-k))
print(A)
else:
i= 1
k= k+1
将numpy导入为np
输入数学
i=0
k=1
N=5
U=10
当k
我不确定您的工作,但您在标题中提出的问题有以下简单的解决方案:
np.fromfunction(lambda i, j: i + 10*j, (4, 4))
屈服
array([[ 0, 10, 20, 30],
[ 1, 11, 21, 31],
[ 2, 12, 22, 32],
[ 3, 13, 23, 33]])
很明显,你可以用你的U_k/Sine东西代替我的回程线
请注意,您可以像这样使用纯python实现类似的功能
[[i + 10*j for j in range(n)] for i in range(n)]
但numpy的速度快了50倍。欢迎光临,您到目前为止都做了哪些尝试?你能给我们看看你的代码吗?UK的定义是什么?数组的一个示例可以是useful@EitanRosati“你能给我们看看你的代码吗?”。。。是的,经过进一步的修补,我解决了一些问题,并且能够相对熟练地设置算法。我仍然有下面描述的未解决问题1和2。我已经列出了算法代码,以简化对剩余问题的理解。