MATLAB类型转换函数的等效Python函数



我有一个大小为[1,34]的数组Data

使用MATLAB将此大小的数组转换为8位无符号整数数组,结果如下:

>> typecast(size(Data), 'uint8') 
>> 0    0    0    0    0    0  240   63    0    0    0    0    0    0   65   64

我在Python中尝试了以下内容:

>> x = np.array([1,34],dtype = np.int64)
>> x.view(np.uint8)
>> array([ 1,  0,  0,  0,  0,  0,  0,  0, 34,  0,  0,  0,  0,  0,  0,  0],
dtype=uint8)

这些显然不一样。我怎么能得到同样的结果,我也非常感谢MATLAB结果背后的推理。

我也参考了这个答案。

MATLAB代码size(Data)返回一个双精度浮点数组,这是MATLAB的默认类型。

Python中的等效项应该是:

x = np.array([1,34], dtype=np.double)
x.view(np.uint8)

最新更新