![]() |
在MATLAB中强制变量类型
我有double float类型的变量,我希望它们是float 。是否有一种方法可以强制变量float而不是双float ,还有没有办法以全局方式对所有函数和子函数进行修改,而在主函数的开头只有几行?我有很多函数,它们使用许多临时变量并创建它们返回的变量。遍历我的所有功能并进行更改将非常困难。
我对此要求的理由: 我正在编写MATLAB程序,以模拟一种算法,然后将其在硬件中实现。我想确保使用32位作为信号大小不会引起计算错误。 [B]回答:[/B] 使用@cbz建议的B=single(A) ,或将数组定义为[URL="http://www.mathworks.com/help/techdoc/ref/single.html"]SINGLE[/URL] ,例如通过调用B=zeros(3,3,'single')在Matlab中创建“浮点数”。 无法全局地将Matlab变成“浮动”环境。尽管大多数低层函数也都针对single实现(少数例外,例如在[URL="http://www.mathworks.com/help/techdoc/ref/double.html"]DOUBLE[/URL]帮助中提到的那些),但许多高层内置函数仅适用于double 。 换句话说,您必须手动将变量定义为single ,并且必须定期检查变量是否没有被悄悄地转换为double ,最后,如果代码需要功能,则可能无法正常工作尚未针对single实施。 [url=https://stackoverflow.com/questions/4873485]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 23:27。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.