将 math.ceil 应用于整个数组的正确方法是什么?请参阅以下Python代码:
index = np.zeros(len(any_array))
index2 = [random.random() for x in xrange(len(any_array))
##indexfinal=math.ceil(index2) <-?
Run Code Online (Sandbox Code Playgroud)
我想返回数组中每个元素的上限值。文档指出 math.ceil 返回任何输入 x 的上限,但是将此上限函数应用于数组中包含的每个元素的最佳方法是什么?
假设您在MATLAB中有以下代码:
[xi yi imv] = find(imagee+0.1);
imv = imv - 0.1;
wv = abs(imv*ones(1,length(imv)) - ones(length(imv),1)*imv');
Run Code Online (Sandbox Code Playgroud)
并且您希望在Python中实现此代码.Imagee是一个预定义的合成图像,由10x10数组表示,值为0,1,2.实现这一目标的最有效方法是什么?我知道你可以迭代地遍历整个矩阵并随时修改值,但我确信python的方法比这更快.
编辑:澄清imagee :(我已经把它翻译成python)
C= np.zeros((L,L), int)
C[:L/2,:L/2]=1
C[L/2:L,:L/2]=2
Run Code Online (Sandbox Code Playgroud) 我目前正在开展一个项目,该项目涉及将在MATLAB中运行的程序转换为Python以提高速度和效率.但是,我遇到了绊脚石.首先,我对于在MATLAB中波形符(〜)表示什么感到困惑,以及如何在python中以相应的方式表示它.其次,我一直在搜索文档,我也很难在MATLAB中找到"符号"函数的等效函数.
indi = ~abs(indexd);
wav = (sum(sum(wv)))/(length(wv)*(length(wv)-1));
thetau = (sign(sign(wv - wav) - 0.1) + 1)/2;
thetad = (sign(sign(wav - wv) - 0.1) + 1)/2;
Run Code Online (Sandbox Code Playgroud)
我已经将indexd和wv(从前一段代码中)转换为numpy数组.什么是最有效的Pythonic方法来替换〜和sign函数?