【发布时间】:2022-11-09 22:50:10
【问题描述】:
这是我试图从 matlab 转换的代码
function x=finiterv(s,p,m)
% returns m samples
% of finite (s,p) rv
%s=s(:);p=p(:);
r=rand(m,1);
cdf=cumsum(p);
x=s(1+count(cdf,r));`
这是我的python代码:
def infinterv(s,p,m):
#return m samples
#of finite (s,p) rv
r=random.uniform((m,1))
cdf=p.cumsum(axis=0)
x=s(1+count(cdf,))`
我收到一条错误消息 - uniform() 缺少 1 个必需的位置参数:'b'
我想我没有正确转换随机统一函数!
【问题讨论】:
-
不应该是
r=random.uniform(m,1)吗?