matlab降低计算精度我做遥感图像处理,图像太大了,我想通过降低matlab的计算精度从而实现快速计算,有什么方法可行呢?想到两种方法1.matlab默认计算精度为32位,我把所有数据都改为单精度型,那

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 00:42:57

matlab降低计算精度我做遥感图像处理,图像太大了,我想通过降低matlab的计算精度从而实现快速计算,有什么方法可行呢?想到两种方法1.matlab默认计算精度为32位,我把所有数据都改为单精度型,那
matlab降低计算精度
我做遥感图像处理,图像太大了,我想通过降低matlab的计算精度从而实现快速计算,有什么方法可行呢?想到两种方法
1.
matlab默认计算精度为32位,我把所有数据都改为单精度型,那么他的计算精度应该为16位了吗?结果是单精度数据吗?
2.
是否有什么方法直接定义matlab的计算精度?我是说通过某种方法只运算n位数字,而不是显示n位

matlab降低计算精度我做遥感图像处理,图像太大了,我想通过降低matlab的计算精度从而实现快速计算,有什么方法可行呢?想到两种方法1.matlab默认计算精度为32位,我把所有数据都改为单精度型,那
你先导入数据后把原始数据用single()转成单精度.然后继续计算就是单精度了
a=rand(4)
a =
0.4218 0.6557 0.6787 0.6555
0.9157 0.0357 0.7577 0.1712
0.7922 0.8491 0.7431 0.7060
0.9595 0.9340 0.3922 0.0318
>> b=single(a)
b =
0.4218 0.6557 0.6787 0.6555
0.9157 0.0357 0.7577 0.1712
0.7922 0.8491 0.7431 0.7060
0.9595 0.9340 0.3922 0.0318
c=b+0.4;
d=b+b;
e=b+single(3.4)
>> whos
Name Size Bytes Class Attributes
a 4x4 128 double
b 4x4 64 single
c 4x4 128 double
d 4x4 64 single
e 4x4 64 single
转了以后可以用
clear a;
把a从内存里面抹去.