matlab中de2bi函数在python中如何实现
时间: 2024-05-01 08:23:27 浏览: 290
在 Python 中可以使用 NumPy 库的 `numpy.binary_repr` 函数来实现与 MATLAB 中 `de2bi` 函数相同的功能。
`numpy.binary_repr` 函数的语法如下:
```
numpy.binary_repr(number, width=None)
```
其中,`number` 是要转换为二进制字符串的整数,`width` 是输出字符串的位数。如果 `width` 未指定,则输出的字符串中不包括前导零。
例如,将十进制整数 10 转换为 8 位的二进制字符串,可以使用以下代码:
```python
import numpy as np
binary_str = np.binary_repr(10, width=8)
print(binary_str) # 输出:00001010
```
如果要将一组整数转换为二进制矩阵,则可以使用以下代码:
```python
import numpy as np
numbers = [1, 2, 3, 4]
binary_mat = np.array([list(np.binary_repr(num, width=8)) for num in numbers], dtype=int)
print(binary_mat)
```
输出的结果为:
```
[[0 0 0 0 0 0 0 1]
[0 0 0 0 0 0 1 0]
[0 0 0 0 0 0 1 1]
[0 0 0 0 0 1 0 0]]
```
其中,`list(np.binary_repr(num, width=8))` 将一个整数转换为一个包含每一位二进制数的列表,`np.array` 将这些列表组成一个矩阵,`dtype=int` 将矩阵元素的数据类型设置为整数。
阅读全文