Maxima Cas random function作为输入浮点数,并给出浮点数作为输出。
我需要floating point number with more digits,所以我使用bfloat可以提高精度。
我已经尝试过:
random(1.0b0)
bfloat(random(1.0));
最好的结果是:
bfloat(%pi)/6.000000000000000000000000000000000000000000b0
5.235987755982988730771072305465838140328615665625176368291574320513027343810348331046724708903528447b-1
但这不是随机的。
答案 0 :(得分:2)
生成随机bigfloat的一种方法是生成具有适当位数的整数,然后对其进行重新缩放以获取0到1范围内的数字。
请注意,当n为整数时,random(n)
返回一个介于0到n-1之间的整数,因此:bfloat(random(10^fpprec) / 10^fpprec)
。