如何创建具有预定范数和均值的数组?

Bobthesnob

我想创建一个“范数”为1且“均值”为0的随机数组。我可以使用它numpy.random.normal()来获取我想要的“均值”,但是如何创建一个数组以numpy.linalg.norm(array)返回所需的数字呢?

mkrieger1

numpy.random.normal与该size参数一起使用将为您提供一个数组,该数组的值均取自均值为0的分布。但是,数组的平均值不会为0(但是,数组的平均值可能接近于0,是)。

但是您可以通过减去数组的平均值来轻松解决此问题。

一旦有了它,就可以通过除以数组范数来将数组范数更改为1。这不会更改平均值,因为它是0。

def create(n):
     x = numpy.random.normal(size=n)
     x -= x.mean()
     return x / numpy.linalg.norm(x)

>>> a = create(10)
>>> a
array([-0.48299539,  0.06017975,  0.23788747, -0.31949065,  0.56126426,
       -0.33117035,  0.40908645,  0.01169836, -0.1008337 , -0.0456262 ])
>>> a.mean()
-1.3183898417423733e-17  # not exactly 0 due to floating-point math
>>> numpy.linalg.norm(a)
1.0

请注意,到底n=2有两个数组满足以下条件:那些同时包含正负平方根1/2的数组:

>>> for _ in range(5):
...     print(create(2))
...
[-0.70710678  0.70710678]
[-0.70710678  0.70710678]
[-0.70710678  0.70710678]
[-0.70710678  0.70710678]
[ 0.70710678 -0.70710678]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建具有预定长度的数组的ArrayList

如何创建具有预定义值和分配空间的字符串?

在c中创建具有静态和预定元素的树

使用具有预定均值和std(loc&scale)的scipy拟合t分布吗?

生成具有预定义平均值,std,min和max的随机数

如何创建具有教义关系,joincolumn和ManyToOne的数组?

如何创建具有多个键和值数组的NSDictionary

如何计算具有字符串和整数的一维 numpy 数组的平均值

从Numpy中具有预定义平均值的{1,-1}生成随机数组的最简单方法?

Python如何创建具有附加条件的滚动均值

如何创建具有不同后缀的变量的平均值?

创建具有函数和大小的数组

生成n个(严格为正)值的列表,以使该列表具有预定的均值x和std。开发。ÿ

如何在 C# 中构建结构列表数组(具有预定义的数组大小)

PHP创建具有预定义列和宽度的字符串

如何创建具有多态数据的数组?

如何创建具有预定义非均匀间隔的频率直方图?

如何创建具有初始值和“衰减函数”的数组?

如何从JavaScript数组中创建具有特定键和值的对象?

如何使用lodash从对象数组中创建具有名称和频率计数的对象

如何创建具有 12 行和未知列的动态 numpy 数组

如何创建具有固定长度和固定总和的某些索引之间的组合的数组

遍历具有numpy数组的阶数和均值,没有for循环

Python如何使用defaultdict fromkeys生成具有预定义键和空列表的字典

如何启动具有预定义窗口大小和位置的应用程序?

如何创建具有 2 个数组的对象数组?

如何从预定义数组创建某些元素数组

创建具有多个元素均值和标准差的直方图

使用ggplot2创建具有散点图平均值的网格和颜色单元