可以用更快的替代方法替换matlab的int8函数

时间:2013-11-06 02:06:45

标签: algorithm matlab

我正在使用matlab的int8函数将double转换为整数。但是,当我的程序运行大量值时,它会给性能稍差。对于大约1400万次执行,此功能大约需要3分钟,并且是我计划中最重的部分。

我想知道是否有办法避免这种情况。

我将尝试一些数学操作,并将与其他试验更新问题。

这是代码片段:

pixel_value = int8(pixel_value) + 1;

performance screenshot

1 个答案:

答案 0 :(得分:4)

由于您只是使用pixel_value作为histogram的索引,因此您可以使用floor代替int8以相同方式截断小数部分。

在您的示例中,您指出了正值,但如果您预期为负值,则可以使用fix

但这似乎并不快......嗯。