よくある質問

QA形式でMcCalの使い方を紹介します

 

Q1 計算精度は?

McCalは、内部計算は、64bit幅の浮動小数点、あるいは整数の場合は、64bit幅の整数で計算を行います。浮動小数点の場合、丸め誤差あるいは二進数の浮動小数点から10進数に変換するときの誤差などが入ります。計算機科学においては不可避な問題です。

 

Q2 高次方程式を解きたい

McCalは、方程式の解を求める#polySolv() 関数を持っています。この関数は、多項式の係数を配列を渡すと、その多項式方程式の解を配列として返します。#polySolv() は、係数に複素数を含む場合も対応可能です。

まず、方程式の右辺をゼロの形、f(x) = 0 に整理します。たとえば、以下のでは、

  2x5 -13x4 + 22x3 = 28x2 + 40x - 25

全ての項を左辺に移し、f(x) = 0 の形に変形します。

  2x5 -13x4 + 22x3 - 28x2 - 40x + 25 = 0

次に左辺の多項式の係数を配列として#polySolv()関数に渡せば、方程式の解を配列として返します。この関数を呼び出すには、FunctionViewer の「多項式」を開きます。

 #polySolv([2, -13, 22, -28, -40, 25])
  ▶︎ array[5]

この例では、係数の配列を角括弧を用いて作成し、直接#polySolv()に渡しています。スクリーンショットは、下です。多項式の変数を黒の'x'として清書されます。

insp-solv-ss

5個の解が配列(array[5])として返ります。配列の要素データを見るには、 <Ins>  ボタンを押してインスペクタを起動します。

insp-solv

 

多項式の計算・方程式の解を用意しましたので、参考にしてください。

 

Q3 連立一次方程式を解きたい

まず、連立一次方程式を行列として表現します。たとえば以下の連立方程式の解を求めてみます。

x+2y+3z=14
2x−y+2z=6
3x−2yーz=−4

以下のように、行列A,Bを用いて連立方程式を表現できます。

matrix

では、McCal でやってみましょう。まず、行列データを変数A,Bに代入します。この例では、角括弧をもちいて配列要素を定義しています。McCal Array Viewer を用いて各要素の値を入力することも可能です。

A = [[1,2,3],[2,-1,2],[3,-2,-1]]
▶︎ array[3][3]

B = [14,6,-4]
▶︎ array[3]

左側からAの逆行列を掛ければよいですから、今回は行列の左除算演算子をつかってみます。(x = A-1B = A\B). 左除算演算子は、行列演算子・関数へのショートカット (Mx) (多くのレイアウトで、 5 のシフトポジション)から呼び出せます。あるいは、Android software keyboardから、バックスラッシュ( \ )を入力します。

A\B
▶︎ array[3]

(x、y、z)の値が配列として返されます。配列データの内容を見るには、 <Ins>  ボタンを押して、インスペクタを起動してください。答えの1, 2, 3が得られます。

McCalでの行列計算の方法は、行列計算ドキュメントを用意しましたので参照してください。

 

Q4 固有値、固有ベクトルを求めたい

固有値・固有ベクトルを求める関数 #mxEig()が用意されています。行列計算ドキュメントに説明があります。また、FunctionViewer →行列・線形代数→固有値・固有ベクトル #mxEig()にもドキュメントが用意されています。この関数は、固有ベクトル、固有値の二つの行列を返します。

固有ベクトルについては、Wikiページ(外部リンク)などが参考になります。

 

Q5 見慣れないキーは何?

 Shift キーを押すと、シフト状態(S-ON)になります。次に押すキーは、シフト位置の(各キーの上側の)小さいラベルで示してある機能が選択され、シフト状態は解除されます。キー入力なしにシフト状態を解除するには、もう一度 Shift キーを押します。

 hyp キーは、三角関数(sin, cos, tan, およびそれらのシフト位置にある逆関数)を続いて押すことにより、双曲三角関数を選択するときに用います。たとえば、#asinh(x), hyperbolic arc-sine, を選択するには、 Shift  hyp  sin  の順に押します。

 eval() キーはもっとも重要なキーです。算術式を入力後、このボタンを押すと計算が始まります。

 <Ins> キーは、インスペクタを起動します。計算結果を詳細に表示してくれます。整数の場合、16-, 8-, 2-進数での表示。浮動小数点の場合、すべての書式での表示を行います。配列が計算結果の場合、配列の要素をスプレッドシート様に表示します。ドラッグ、フリックなどの動作が使えます。また、複数の返り値の場合、右上の左右の矢印ボタンで、表示する値を切り替えます。

 Mac キーは、前回McCal Viewerを用いて呼び出したマクロなどをもう一度呼び出すことができます。なんども同じ計算を行う時に便利です。

 ⇒(STO) キー(STOre key)は、前回の計算結果をメモリ(変数)に保存するときに使います。後置代入演算子⇒のあとに変数あるいは変数リストを指定してください。

 ⇐ キーは、プログラミング言語でよく使われる代入演算子=です。左辺の変数に、右辺の式の計算結果を代入します。

 Hist キーは、カーソル位置に過去の履歴をペーストし、その文字列を領域選択します。このキーをさらに押すと、過去の入力を遡っていきます。McCal Viewer の履歴タブでも過去の履歴を閲覧可能です。

 BS キーはバックスペースキーです。カーソルの前の位置文字を消します。

 AC キーはオールクリアーキーです。テキストウィンドウの文字列すべてを消去します。

→□ キーは、次の入力ボックス(□)を探し出します。見つからない場合、閉じ括弧の次に移動します。入力ボックスに関しては、ヘルプドキュメントを読んでください。

 

アクションバーに表示されるアイコンには、特有の機能が割り振ってあります。また、アクションバーが非表示の時も各種機能を呼び出せるように、対応するボタンを新設しました。ラベルを不等号記号で囲ってあるボタン < > と、対応するアクションバーアイコンの機能リストを以下に示します。

画面が小さい場合、アイコンの幾つかが表示されないことがあります。この場合、オブションメニュー(アクションバー右端の、三個の点が縦に並んでいるアイコンを押すと表示されるメニュー)の一番下に、テキストで表示されます。

アイコン ボタン 説明
  <Bar> アクションバーの消去・再表示
keypad   電卓キーパッドを切り替え
mcv <McV> McCal Viewerを起動する
mcv <Fn.> Function Viewerを起動する
mcv <KeyB> ソフトウェアキーボードの表示・非表示。エディタウィンドウをタッチすることでもキーボードを呼び出せます。