是float16在MATLAB支持?(is float16 supported in matlab?

2019-09-21 20:20发布

MATLAB是否支持float16操作? 如果是这样,如何转换双矩阵float16? 我在一个大矩阵做算术运算,其中16位浮点表示足够用于我的表现。 由双数据类型表示需要4倍以上的存储器。

Answer 1:

是您的矩阵满了吗? 否则,请尝试sparse -节省了大量的内存,如果有大量的零值元素。

据我所知, float16不支持。 最低您可以去float -datatype是single ,这是一个32-bit数据类型:

A = single( rand(50) );

您可以通过恒定的繁殖和转换为int16 ,但你会失去精度。



Answer 2:

数字类,Matlab的支持开箱即用的有以下几种:

int8
int16
int32
int64
uint8
uint16
uint32
uint64
single (32-bit float)
double (64-bit float)

加复杂的数据类型。 因此,没有16位的花车,很遗憾。

关于The MathWorks的文件交换,似乎有一个半精度浮点库 。 它需要MEX,但是。



Answer 3:

这可能是一个老问题,但我发现它在寻找一个类似的问题(在MATLAB半精度)。

事情似乎在时间上发生了变化: https://www.mathworks.com/help/fixedpoint/ref/half.html

半精度似乎是通过MATLAB现在支持nativeley。



文章来源: is float16 supported in matlab?