首页 > 解决方案 > 哪个是matlab中python中bytearray()的等效函数?

问题描述

我在尝试将 python 代码转换为 matlab 时遇到了麻烦。我有这段代码,它从 ui 中获取值,并从 struct 库中创建一个 stpack,该 stpack 以指示的方式打包值"<fififfIi"。代码如下所示。

config_data = bytearray(stpack("<fififfIi", self.sample_freq.get(), int(self.run_time.get()*self.sample_freq.get()), self.bia_freq.get(), self.mode.get(), self.sweep_start.get(), self.sweep_stop.get(), int(np.ceil(self.sweep_points.get())), self.sweep_type.get()))
                  

我得到的结果是正确的bytearray(b'050000.00 01006.441895 0000.789513\x00')

我试图在 matlab 中重现它,并被告知使用以下代码:

config_data = uint8([char("<fififfIi"), 1, 10, 50000, 0, 500, 50000, 10, 0]);

函数内部的数字与真实数字相似,但只是为了测试代码的输出。但是,当我查看输出时,我得到的是:

>> NanoBlA4Wire
Columns 1 through 7

    60   102   105   102   105   102   102

  Columns 8 through 14

    73   105     1    10   255     0   255

  Columns 15 through 17

   255    10     0

我不明白输出是什么,或者如何在 matlab 中获得与 python 相同的输出。有人知道我错过了什么吗?

标签: pythonarraysmatlabbluetooth-lowenergy

解决方案


推荐阅读