Excelの数学の常識と異なる式の扱い | 技術日誌

技術日誌

ここでは,電子工作,木工などの趣味での記録を書いています。
なお当初はKMK研究所のメインテーマであるSPSのノウハウを書いてきましたが,順次SPSノウハウのページに複製を作っていきます。

 前(さき)の記事で二次の連立方程式を解かなければならないことになったことを書きました。結構項数が多くなるので,途中結果を計算させ,そのセルに名前を付け,それを利用しながら式の誘導を行いました。しかし,どうしても結果がおかしいのです。何度も見返しましたが,誤りが見つかりません。

 最後に見つかったのが,Excelでは,数学の常識とは異なる扱いをしていることがわかりました。数学ではdが1.23のとき,-d<sup>2</sup>は-1.5129のはずですが,Excelに計算させると(+)1.5129になってしまうのです。つまり,-d<sup>2</sup>は(-d)<sup>2</sup>と同じなのでした。。数学では二乗してからマイナスを付けるはずですが…。対策としては,二乗を先にさせるため,d<sup>2</sup>に括弧を付けてやらせることにしました。計算がうまくいかない原因を突き止めるのに苦労しました。

 

 さらに,-_d<sub>2</sub>の前に数字が入っている場合,例えば-1-_d<sub>2</sub>だとマイナスより先に二乗をやってくれました。まるで数学の苦手な中学生のような計算でした。ちなみにF-BASICでは,数学の規則通りの計算結果になりました。なお,C言語では,二乗の演算子がない(関数を用いて行う)ためこの問題には無関係でした。