【发布时间】:2021-02-02 00:11:26
【问题描述】:
我正在创建一个线性组合生成器和测试器。目标是测试 N 个输入的所有线性组合,以确定哪个产生最佳分数。
可以通过强制方式创建权重矩阵,如下所示。但是,当应用程序可以有 2 个以上没有上限的模块时,这在应用程序中并不灵活。有没有办法泛化这段代码?
最好以矩阵形式输出这个输出,这样我就可以简单地将输入矩阵乘以一个标量来获得线性组合输出!
编辑:完全明确。我正在寻找一种灵活引用的方法
for i in range...:
for j in range...:
for k in range...
适用于 2、3、4、+ 模块
def generate_weights(n=4, min_weight=0, max_weight=100):
weight_dictionary = {}
combination = 1
for i in range(0, 101):
for j in range(0, 101):
for k in range(0, 101):
for l in range(0, 101):
# For now, ignoring conditions on each individual scalar's min and max weight criteria
if i + j + k + l == 100:
weight_dictionary[combination] = (i, j, k, l)
combination+=1
return weight_dictionary
test = generate_weights()
【问题讨论】:
标签: python arrays numpy iteration