我有变量是double
类型我想他们是float
。有没有办法强制一个变量为float
而不是双倍,此外,有没有办法以一些全局的方式来做所有功能和子功能,在主功能的开始几行?我有很多函数,它们使用很多临时变量并创建它们返回的变量。完成我所有的功能并改变它们将非常困难。在MATLAB中强制变量类型
我的理性此请求:
我为了模拟算法,我会再在硬件实现编写的MATLAB程序,我要确保使用32位作为我的信号的大小不会造成计算错误。
我有变量是double
类型我想他们是float
。有没有办法强制一个变量为float
而不是双倍,此外,有没有办法以一些全局的方式来做所有功能和子功能,在主功能的开始几行?我有很多函数,它们使用很多临时变量并创建它们返回的变量。完成我所有的功能并改变它们将非常困难。在MATLAB中强制变量类型
我的理性此请求:
我为了模拟算法,我会再在硬件实现编写的MATLAB程序,我要确保使用32位作为我的信号的大小不会造成计算错误。
与'float'等价的MATLAB是'single。你可以使用转换
B = single(A).
这就是说,你认为这相当于32位可能需要重新审视。这并不简单。
嗯......“类型铸造”在Matlab中是可能的。请参阅http://www.mathworks.com/help/techdoc/ref/typecast.html。我不确定是否在全球范围内应用它,但是这种声音可能有助于http://www.mathworks.com/help/techdoc/matlab_oop/br2vkky.html。另外http://www.mathworks.com/help/techdoc/matlab_oop/brglmxp.html – 2011-02-02 11:13:34