小编Hon*_*ear的帖子

如何在matlab中以32位二进制文​​件保存数据?

我必须用死硬测试一些"随机数",由MATLAB中的程序生成.Diehard只接受32位二进制文​​件(单精度),但如果我将数据保存在MATLAB中,它将保存在具有双精度的二进制文件中(因此2*64 = 128位二进制文​​件).如何在MATLAB中创建一个32位二进制文​​件,在64位系统上工作?

binary file-io matlab 32-bit file

3
推荐指数
1
解决办法
6765
查看次数

生成功率为2的Python数组

通常在创建某些数字序列时,python和numpy以一种简单的方式提供一些语法糖,而不用自己的for循环生成它们,例如range(start, stop, step).

我有一个相当简单的问题,我正在努力以优雅的方式解决:生成两个权力的列表.例如list = [1, 2, 4, 8, ...].

我想出来了

n_powers = 4
list = np.zeros(n_powers)
for i in range(0, n_powers): 
    list[i] = 2 ** i
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

python arrays numpy

3
推荐指数
2
解决办法
1980
查看次数

在 setup.py 中为 install_requires 做一个“要么……要么……”的区别

如果设计一个 setup.py 并且有可以通过两个不同模块来满足的要求,即只需要安装两个模块中的一个,我如何install_requires在行中表达?例如setup.py看起来像这样:

setup(
    name='my_module',
    version='0.1.2',
    url='...',

    ...,

    install_requires=['numpy', 'tensorflow']
)
Run Code Online (Sandbox Code Playgroud)

执行pip install my_module此操作时,即使安装了tensorflow-gpu(也可以满足要求,但不会,因为它的命名不同),也会将tensorflow (CPU) 作为要求安装。

我可以做这样的事情:

    install_requires=['numpy', 'tensorflow' or 'tensorflow-gpu']
Run Code Online (Sandbox Code Playgroud)

python setup.py

3
推荐指数
2
解决办法
722
查看次数

我可以将 floor() 用于特定数字吗?

我想要floor()下一个特定数字(不是数字,而是实际值)。例如,对于年份列表:

valid_years = c(1990,2000,2006,2012,2018) # values to round to ("snap")

input  = c(1990, 1991, 1992, 1993, 2000, 2001, 2002, 2006, 2007, 2016, 2020)
output = c(1990, 1990, 1990, 1990, 2000, 2000, 2000, 2006, 2006, 2012, 2018)
Run Code Online (Sandbox Code Playgroud)

低于(或在ceil()高于指定值的情况下)输入的行为对我来说并不重要。在我的情况下,一个好的行为是捕捉到 中的最低值valid_years,但这对我来说并不重要。

我知道我可以用 if-then-else (eg if(x < 2006) x = 2000 else if(x < 2012) x = 2006 ...)来实现这一点,但我相信有更优雅的方法来解决这个问题。

我浏览了许多“R 中的舍入”问题,但尽管有许多措辞相似的问题,但都没有找到答案,这些问题都有其独特的(不同)目标:例如,四舍五入到特定的小数步长四舍五入到某个范围内的任意数字条件舍入

r rounding floor

0
推荐指数
1
解决办法
44
查看次数

标签 统计

python ×2

32-bit ×1

arrays ×1

binary ×1

file ×1

file-io ×1

floor ×1

matlab ×1

numpy ×1

r ×1

rounding ×1

setup.py ×1