【问题标题】:Equivalent Python function for MATLAB typecast functionMATLAB 类型转换函数的等效 Python 函数
【发布时间】:2021-04-09 21:39:47
【问题描述】:

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

使用 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 结果背后的推理。

我也参考了this的回答。

【问题讨论】:

    标签: python matlab casting


    【解决方案1】:

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

    Python 中的等价物应该是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-17
      • 2014-04-04
      • 2021-04-22
      • 2019-10-04
      • 2014-03-06
      • 2013-03-29
      • 2014-04-02
      • 1970-01-01
      相关资源
      最近更新 更多