【问题标题】:Restricting the variables to take a fixed number of decimal places in Matlab限制变量在Matlab中采用固定的小数位数
【发布时间】:2016-02-09 03:52:27
【问题描述】:

我正在用 Matlab 编写一个进化优化程序。我希望所有变量的小数点数有限。 (原因是为了减少搜索空间。例如,如果 1

任何帮助表示赞赏, 提前谢谢了, 艾哈迈德

【问题讨论】:

  • 我猜您正在尝试做类似this 的事情? digits 特定于可变精度符号数学,它很慢,所以它可能不是你想要的。有Fixed-Point Designer 工具箱,如果你有的话。不确定它的性能。您也可以使用integer datatypes(例如,uint8(31415) = 100*3.1415)。
  • 从以上两个回复中,我决定使用整数(如果 1 int8

标签: matlab decimal rounding store digits


【解决方案1】:

固定宽度优化通常使用大整数来代替。 例如,如果您想将计算限制为 6 位精度,那么您可以截断所有乘以一百万的值。

与浮点数字格式相比,整数类型的算术运算既快速又准确。不过,我不确定您是否会在 Matlab 中获得任何效率,因为数字类型通常默认为 double 并且大多数函数需要 doublesingle 输入。

【讨论】:

    猜你喜欢
    • 2022-01-19
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多