2024-04-25 02:08:56 发布
网友
我正试着运行一个模拟,以一个参数作为输入。我需要为一系列不同的参数值运行它,这些参数值跨越几个数量级,但也给出了每个数量级内变化的图片。你知道吗
简而言之,我需要我的参数取值param = [1, 2, 3, ... 9, 10, 20, 30, ..., 90, 100, 200, ...]。你知道吗
param = [1, 2, 3, ... 9, 10, 20, 30, ..., 90, 100, 200, ...]
我已经试着回答了我自己的问题,但是有没有一种更直接的方法可以在numpy中实现这一点,这也让意图更清晰?你知道吗
目前,我在这方面的最佳尝试如下:
>>> a = np.arange(1, 10) >>> b = np.logspace(0, 4, num=5) >>> result = (a[np.newaxis, :] * b[:, np.newaxis]).flatten() >>> result array([ 1.000e+00, 2.000e+00, 3.000e+00, 4.000e+00, 5.000e+00, 6.000e+00, 7.000e+00, 8.000e+00, 9.000e+00, 1.000e+01, 2.000e+01, 3.000e+01, 4.000e+01, 5.000e+01, 6.000e+01, 7.000e+01, 8.000e+01, 9.000e+01, 1.000e+02, 2.000e+02, 3.000e+02, 4.000e+02, 5.000e+02, 6.000e+02, 7.000e+02, 8.000e+02, 9.000e+02, 1.000e+03, 2.000e+03, 3.000e+03, 4.000e+03, 5.000e+03, 6.000e+03, 7.000e+03, 8.000e+03, 9.000e+03, 1.000e+04, 2.000e+04, 3.000e+04, 4.000e+04, 5.000e+04, 6.000e+04, 7.000e+04, 8.000e+04, 9.000e+04])
您可以轻松地使用两个循环创建这样一个数组:
param = [multiplier * magnitude for magnitude in [1, 10, 100] for multiplier in [1, 2, 3, 4, 5, 6, 7, 8, 9]]
目前,我在这方面的最佳尝试如下:
您可以轻松地使用两个循环创建这样一个数组:
相关问题 更多 >
编程相关推荐