Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我有double float类型的变量,我希望它们是float 。是否有一种方法可以强制变量float而不是双float ,还有没有办法以全局方式对所有函数和子函数进行修改,而在主函数的开头只有几行?我有很多函数,它们使用许多临时变量并创建它们返回的变量。遍历我的所有功能并进行更改将非常困难。
我对此要求的理由: 我正在编写MATLAB程序,以模拟一种算法,然后将其在硬件中实现。我想确保使用32位作为信号大小不会引起计算错误。 回答: 使用@cbz建议的B=single(A) ,或将数组定义为SINGLE ,例如通过调用B=zeros(3,3,'single')在Matlab中创建“浮点数”。 无法全局地将Matlab变成“浮动”环境。尽管大多数低层函数也都针对single实现(少数例外,例如在DOUBLE帮助中提到的那些),但许多高层内置函数仅适用于double 。 换句话说,您必须手动将变量定义为single ,并且必须定期检查变量是否没有被悄悄地转换为double ,最后,如果代码需要功能,则可能无法正常工作尚未针对single实施。 更多&回答... |
![]() |
![]() |