You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB二项分布random函数转Python实现求助

MATLAB binom随机数转换为Python代码的解决方案

原MATLAB代码random('binom',1,0.2,[EneuronNum_slow,IneuronNum_slow])的作用是生成一个形状为(EneuronNum_slow, IneuronNum_slow)的二维数组,数组中每个元素服从参数为n=1、p=0.2的二项分布(等价于伯努利分布,取值为0或1,取1的概率是0.2)。

方式1:使用numpy旧版随机API(兼容老代码)

直接调用np.random.binomial,参数对应原MATLAB的二项分布参数,size指定输出数组形状:

import numpy as np

weightsEI_slow = np.random.binomial(n=1, p=0.2, size=(EneuronNum_slow, IneuronNum_slow))

方式2:使用numpy新版随机生成器(推荐,更安全)

numpy官方推荐使用Generator对象生成随机数,可避免全局随机状态冲突:

import numpy as np

rng = np.random.default_rng()  # 初始化独立随机数生成器
weightsEI_slow = rng.binomial(n=1, p=0.2, size=(EneuronNum_slow, IneuronNum_slow))

两种方式的输出均为0和1组成的二维数组,与原MATLAB代码逻辑完全一致。若需要和MATLAB生成的随机结果完全匹配,需设置相同的随机种子:MATLAB中用rng(seed),Python旧版用np.random.seed(seed),新版用rng = np.random.default_rng(seed)。

内容的提问来源于stack exchange,提问作者rajjya rohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 07:06:33