在MATLAB中强制变量类型

SIM*_*MEL 7 matlab types

我有double我想要的类型的变量float.有没有办法来强制变量是float不翻番,此外,有没有办法做到这一点在与在主函数的开始几行的所有功能和子功能的一些全球性的方式?我有很多函数,它们使用许多临时变量并创建它们返回的变量.完成我的所有功能并更改它们将非常困难.

我理解这个要求:

我为了模拟算法,我会再在硬件实现编写的MATLAB程序,我要确保使用32位作为我的信号的大小不会造成计算错误.

Jon*_*nas 7

使用B=single(A)@cbz建议,或将数组定义为SINGLE,例如通过调用B=zeros(3,3,'single')在Matlab中创建"浮点数".

没有办法将Matlab全局转变为"浮动"环境.虽然大多数低级函数也是实现的single(除了一些例外,例如在DOUBLE帮助中提到的那些),许多高级内置函数只能使用double.

换句话说,你必须手动定义变量single,你必须定期检查变量没有被悄悄地转换为double,并在年底,你的代码可能无法正常工作,如果它需要的是ISN功能single尚未实施.


cbz*_*cbz 5

相当于'float'的MATLAB是'single.你可以使用转换

B = single(A).
Run Code Online (Sandbox Code Playgroud)

也就是说,您认为这相当于32位可能需要重新审视.它并不那么简单.