Performance Matlab-将二进制设置为默认基

Performance Matlab-将二进制设置为默认基,performance,matlab,Performance,Matlab,最近我一直在用matlab解决一些边值问题,我注意到了一个恼人的怪癖。假设我从区间[0,1]开始,我想在区间内搜索。当然,我们会执行二进制搜索,所以我会将间隔细分为[0,0.5]和[0.5,1]。非常好:现在假设我们将搜索范围缩小到[0.5,1]。现在我们除以区间[0.5,0.75]和[0.75,1]。还没有明显的问题。然而,随着我们的继续,在10进制中表示2的幂变得越来越不自然。例如,二进制中的2^-22仅为22位,而十进制中为16位。但是,请记住,十进制的每一位实际上都在编码~4位。换句话说

最近我一直在用matlab解决一些边值问题,我注意到了一个恼人的怪癖。假设我从区间[0,1]开始,我想在区间内搜索。当然,我们会执行二进制搜索,所以我会将间隔细分为[0,0.5]和[0.5,1]。非常好:现在假设我们将搜索范围缩小到[0.5,1]。现在我们除以区间[0.5,0.75]和[0.75,1]。还没有明显的问题。然而,随着我们的继续,在10进制中表示2的幂变得越来越不自然。例如,二进制中的2^-22仅为22位,而十进制中为16位。但是,请记住,十进制的每一位实际上都在编码~4位。换句话说,将这些分数表示为十进制是非常低效的

Matlab的精度仅扩展到16位十进制浮点数,因此二进制搜索到2^-22就足够了。但是,2^-22~10^-7比10^-16大得多,因此matlab中最好的搜索策略似乎是十进制搜索!无论如何,这就是我目前所做的:为了充分利用16位精度,我必须将间隔[0,1]细分为10个部分

希望我已经把问题说清楚了。所以,我的问题是:如何使matlab在本地二进制中计数?我想使用64位二进制浮点