我想从以下for循环中创建2个数组:
with open('y.txt', 'w') as f:
for j in range (1, 3):
xN = 0.5 + 0.5*random.uniform(0, 1)
r = 3.8 + 0.15*random.uniform(0, 1)
for i in range (1, 313+1):
xNew = logistic_map(xN, r)
xN = xNew
f.write("%f" % xNew)
这当然是创建一个313 * 2 = 626行的文本文件 我想要做的是能够自动创建 j 数组:
Q( j = 1)=前313点
Q(...)
Q( j = N )=最后313分。
另外,如何将其保存到包含313行和 j 列的文本文件中?我现在的文本文件只保存了一个626行的文件。
答案 0 :(得分:0)
要创建2D数组,您可以像这样修改代码:
ResourceLoader.GetForViewIndependentUse("AssemblyNamespace/Resources").GetString("someKey");
然后您可以使用np.savetxt
将其另存为文本文件。
但是,如果您实际上不需要子阵列包含313个点,则可以直接在转置顺序中添加点,从而跳过后面的import numpy as np
Q = []
for j in range (1, 3):
xN = 0.5 + 0.5*random.uniform(0, 1)
r = 3.8 + 0.15*random.uniform(0, 1)
temp = []
for i in range (1, 313+1):
xNew = logistic_map(xN, r)
xN = xNew
temp.append(xNew)
Q.append(xNew) # Saves each row of 313 points as a separate sub-array
Q = np.transpose(np.array(Q)) # Convert this to an array and take the transpose of it
步骤。像这样:
np.transpose()