MATLAB 是否支持 float16 运算?如果是这样,如何将双矩阵转换为 float16?我正在对一个大矩阵进行算术运算,其中 16 位浮点表示足以满足我的表示。用 double 数据类型表示需要 4 倍的内存。

最佳答案

你的矩阵满了吗?否则,尝试 sparse - 如果有很多零值元素,则可以节省大量内存。

AFAIK,不支持 float16。您可以使用 float -datatype 的最低值是 single ,它是一种 32 位数据类型:

A = single( rand(50) );

你可以乘以一个常数并转换为 int16 ,但你会失去精度。

关于matlab - matlab 支持 float16 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12170950/

10-10 05:40