0
私は「xが(1,2)の間のランダムな浮動小数点数であるときにx *(1/x)を1にすることはできません」という質問を解決しようとしています。仮説を検証するためにJuliaで乱数を生成する。私はやってみましたJuliaでランダムな浮動小数点数を生成する
BigFloat(rand(1,2)), as well as Float64(1,2)
いいえ、利用できません。すべてのヘルプは
私は「xが(1,2)の間のランダムな浮動小数点数であるときにx *(1/x)を1にすることはできません」という質問を解決しようとしています。仮説を検証するためにJuliaで乱数を生成する。私はやってみましたJuliaでランダムな浮動小数点数を生成する
BigFloat(rand(1,2)), as well as Float64(1,2)
いいえ、利用できません。すべてのヘルプは
答えを高く評価され、これは浮動小数点数(倍精度)の限定された精度に起因しているそう
for i=1:100
x = rand() + 1.0;
xi = 1.0/x
y = x * xi
if y != 1.0
println("case ", i, " x*(1/x) != 1 for x=", x, " diff= ", y - 1.0)
end
end
case 18 x*(1/x) != 1 for x=1.3193289816663771 diff= -1.1102230246251565e-16
case 26 x*(1/x) != 1 for x=1.9692333690500858 diff= -1.1102230246251565e-16
case 42 x*(1/x) != 1 for x=1.8927527081187694 diff= -1.1102230246251565e-16
...
認識しています。 これは数学的な意味では当てはまりません。
まず、夜間にお手伝いし、https://docs.julialang.org/en/stable/を読んでください。また、 'rand(Float64)+ 1.0'は1.0と2.0の間でかなり統一されていなければなりません。浮動小数点数や実数のどのユニフォーミティに微妙な質問があります。 –
この宿題はありますか? –
@DanGetz dat delicate question tho。 +1 –