前提
VBAで前進消去を行うプログラムを作っているのですが、引き算の計算が合わなくて困っています。
具体的には
A=[[1, 0.2, 0.6, 1.4], [0, 1, 4.7, 2], [0, 2.8, 0.4, 5.6]]
という3,4の配列において、3行目の各列-(2行目の各列*A(3,2))を行うというごく単純なことをしたいのですが、A(3,4)-A(2,4)*2.8の計算だけが合いません。
5.6-5.6が-8.88178419700125E-16という値になってしまいます。
どうしてこんな値になるのか全く分からなくて非常に困っているため、アドバイスをしていただければ幸いです。
よろしくお願いいたします。
VBA
1 i = 3 2 pivot = A(i, 2) 3 For j = 1 To n + 1 4 A(i, j) = A(i, j) - A(2, j) * pivot 5 Next j
試したこと
A(3,4)とA(2,4)*pivotそれぞれ別個に出力して値を確認したのですが、どちらも5.6の値が出力されました。
これらを引き算するとおかしな値になってしまうという感じです。

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。