以下図面を参照して本発明の一実施形態について詳細に説明する。
図1は、同実施形態に係る電子計算機であるグラフ関数電卓10の回路構成を示すブロック図である。
このグラフ関数電卓10は、CPUで構成された制御部11を備える。
制御部11は、フラッシュROMで構成された記憶部12に予め記憶されているシステムプログラム、あるいはメモリカードなどの外部記憶媒体13から記憶媒体コントローラ14を介して記憶部12に読み込まれた計算機制御プログラム、あるいは通信ネットワークN上のWebサーバ(プログラムサーバ)15から通信制御部16を介してダウンロードされ、上記記憶部12に読み込まれた計算機制御プログラムに従い、DRAMで構成された作業部17を用いてこのグラフ関数電卓10内部の回路各部の動作を制御する。
そして、前記記憶部12に予め記憶されたシステムプログラムや計算機制御プログラムは、入力部18からのキー入力信号に応じて起動される。
上記制御部11には、上記記憶部12、記憶媒体コントローラ14、通信制御部16、作業部17、入力部18が接続される他に、表示部19が接続される。
記憶部12には、本グラフ関数電卓10の全体の動作を司る計算機制御プログラムが予め記憶されると共に、ユーザが任意に入力する各種の関数式に応じた演算処理を実行する数式演算プログラム12a、この数式演算プログラム12aが実行する関数式を上記表示部19でグラフとして表示させるための描画データを作成するグラフ描画プログラム12b、上記表示部19で表示される関数式グラフ上をトレースしながら移動する複数のポインタを表示させるための複数点トレースプログラム12c、上記複数のポインタで表される区間での各種演算による解析を実行するための複数点間解析プログラム12dが予め記憶される。
キー入力部18には、本グラフ関数電卓10に搭載された各種の計算モードの機能を指定する際に操作する「機能」キー18a、関数式に用いる各種の数字・文字等を入力する際に操作する「文字・数字」キー18b、入力データの決定や計算の実行を指示する際に操作する「決定」キー18c、表示画面上のカーソルCや項目などで示される入力位置を移動表示させ、あるいは表示されているグラフ上でのポインタの移動を指示する際に操作する「↑」「↓」「←」「→」の各カーソルキー18d、上記表示部19上に一体に設けられた透明電極層によるタッチパネル18eなどを設ける。
上記「機能」キー18aには設定されていない、一時的に有効な機能に関しても、表示部19で当該機能の実行を指示する機能名あるいはその機能名に対応した記号等を例えば矩形のボタン形状で表示し、その表示位置をタッチパネル18eで押圧操作することで、当該機能を実行させることができる。
表示部19は、バックライト付きのドットマトリクス型の液晶表示部からなり、入力された関数式や直交座標軸を伴ったその関数式のグラフ、及び当該グラフ上での複数のポインタなどを表示する。
次に上記実施形態の動作を説明する。
本実施形態では、グラフ表示した関数に対して6つの演算モードとして、「傾き演算モード」、「最大・最小値演算モード」、「積分演算モード」、「最大・最小微分値演算モード」、「連続・不連続判定モード」、及び「極大・極小値演算モード」のいずれかを任意に選択して複数ポイント間での演算を実行させる場合について説明する。
図2及び図3は、関数式が入力された状態からの、主としてグラフ表示に関連した処理内容を抽出して示すもので、本実施形態と直接関連しない処理に関しては、その他の処理を行なうものとして詳細な説明を省略する。
処理当初には、入力した関数式に対するグラフ描画を指示するためのキー操作がなされたか否かを判断する(ステップS101)。
ここで、グラフ描画の指示以外のキー操作がなされた場合には、その他の処理を行なうものとして本実施形態ではその説明を省略する。
また、上記ステップS101でグラフ描画を指示するキー操作がなされたと判断すると、次いでその時点で設定されているグラフ描画条件に従ってグラフ描画プログラム12bにより表示部19でグラフを描画表示する(ステップS102)。グラフ描画時条件としては、例えばグラフのx軸方向の範囲を示すx座標2値と、同じくy軸方向の範囲を示すy座標2値を予め入力設定しておく。
次に、グラフ上の特定位置周辺を解析する解析点の設定がされていないことを確認した上で(ステップS103)、グラフ上を移動する第1のトレースポインタを追加するための操作がなされたか否かを判断する(ステップS104)。
ここで、トレースポインタの追加設定以外の操作がなされた場合には、その他の処理を行なうものとして本実施形態ではその説明を省略する。
一方、上記ステップS104で第1のトレースポインタを追加するための操作がなされたと判断すると、複数点トレースプログラム12cにより第1のトレースポインタを表示部19のグラフ上の一点、例えば表示範囲中のx座標の中点に対応する位置に表示すると共に、そのx座標とy座標についても併せて表示する(ステップS105)。
その後、さらにグラフ上を移動する第2のトレースポインタを追加するための操作がなされたか否かを判断する(ステップS106)。
ここで、トレースポインタの追加設定以外の操作がなされた場合には、その他の処理を行なうものとして本実施形態ではその説明を省略する。
一方、上記ステップS106で第2のトレースポインタを追加するための操作がなされたと判断すると、複数点トレースプログラム12cにより第2のトレースポインタを表示部19のグラフ上の一点、例えば上記第1のトレースポインタから1目盛り分x軸でプラス方向側の位置に表示すると共に、そのx座標とy座標についても併せて表示する(ステップS107)。
以上で2点のトレースポインタが表示部19のグラフ上に位置したことになるので、予め設定してある演算モードに従って複数点間解析プログラム12dにより2つのポインタ間での演算を実行し、その演算結果をグラフに併記して表示する第1の処理を実行する(ステップS108)。
このポインタ間演算結果の表示処理1の詳細に関しては後述する。
演算結果を表示した状態から、さらに第3以降のトレースポインタを追加するための操作がなされたか否かを判断する(ステップS109)。
ここで第3点目以降のトレースポインタを追加するための操作がなされたと判断した場合には、再び上記ステップS107に戻って、複数点トレースプログラム12cにより当該トレースポインタを表示部19のグラフ上の他の一点として表示すると共に、そのx座標とy座標についても併せて表示する。
次いで、追加したトレースポインタに対応し、予め設定してある演算モードに従って複数点間解析プログラム12dにより3点目以降のポインタ間での演算を実行し、その演算結果をグラフに併記して表示する第1の処理を実行する(ステップS108)。
こうして第3点目以降のトレースポインタを追加する毎にステップS109,S107,S108の処理を繰返し実行し、追加したトレースポインタに基づいたポインタ間演算の結果を順次表示させる。
また、上記ステップS109でそれ以上のトレースポインタを追加するための操作がなされないと判断すると、次にその時点で入力済みのトレースポインタの間隔を設定するか否かを判断する(ステップS110)。
ここでトレースポインタの間隔を設定しないと判断した場合、次に複数のトレースポインタのうちのいずれかに対し、移動を指示するキー操作がなされたか否か判断する(ステップS112)。
ここで移動を指示するキー操作がなされないと判断した場合には、さらにこのグラフ関数電卓10での動作を終了して電源を切断するための操作がなされたか否かを判断する(ステップS114)。
電源切断の操作がなされなかった場合には、上記ステップS112の処理に戻る。こうしてステップS112,S114の処理を繰返し実行することにより、トレースポインタの移動を指示するキー操作か、動作を終了して電源を切断するためのキー操作のいずれがなされるのを待機する。
そして、動作を終了して電源を切断するためのキー操作がなされた場合、上記ステップS114でそれを判断し、操作された通り電源を切断すると共に、以上でこの図2及び図3の処理を終了する。
また、上記ステップS112でトレースポインタの移動を指示するキー操作がなされたと判断すると、次いで複数点トレースプログラム12cにより、指定されたトレースポインタを入力部18のカーソルキー(「←」,「→」キー)18dの操作に応じてグラフ上で移動させ、移動後のx,y各座標値を表示する(ステップS113)。
その後、上記ステップS108からの処理に移行し、グラフ上で位置を移動させたトレースポインタに基づいて複数点間解析プログラム12dによりあらたにトレースポインタ間の演算を実行し、その演算結果をグラフに併記して表示する第1の処理を実行する。
次に、各演算モード時におけるステップS108での第1の処理について詳述する。
図4は、上記ステップS108でのトレースポインタ間の演算とその演算結果の表示に関する第1の処理の詳細を示すサブルーチンである。
その処理当初には、その時点で設定されている演算モードが、各ポイント間の傾きを求める傾き演算モードであるか否かを判断する(ステップS201)。
ここで傾き演算モードが設定されていると判断した場合には、次いで隣り合う各2つのトレースポインタ間のx座標とy座標の各増分と2点間の傾きを演算する(ステップS202)。
そして、演算結果をグラフに併記して表示部19で表示させ(ステップS203)、以上でこのサブルーチンを終了して、メインルーチンである上記図2に復帰する。
図6は、傾き演算モードが事前に設定されている場合の表示部19での画面の遷移例を示す。図6(A)に示すように関数式「Y1=X2」が入力された後に入力部18の「決定」キー18cが操作されることで、図6(B)に示すように関数式に対応したグラフが当該関数式「Y=X2」と共に表示部19で表示される。
この図6(B)の表示状態から、トレースポインタの表示操作を行なうことで、図6(C)に示すように、まず第1点目のトレースポインタP1が、ここではx,y座標軸の交点である原点位置に表示される。このとき、グラフと併せて、当該トレースポインタP1の座標値を「(X1,Y1)=(0,0)」と表示する。
ここでさらにトレースポインタの表示操作を行なうことで、図6(D)に示すように、第2点目のトレースポインタP2が、上記トレースポインタP1よりx座標軸のプラス方向に一定間隔、例えば「2」だけ空けた位置に表示される。このとき、グラフと併せて、当該トレースポインタP2の座標値を「(X2,Y2)=(2,4)」と表示する。
以上で、最小の複数である2点のトレースポインタが指定されたこととなるので、上記ステップS202で示した演算によりx座標方向の増分dX=2、y座標方向の増分dY=4、及び傾き「dY/dX=2」及び「dX/dY=0.5」を算出してグラフと併せて表示する。
ここでは、トレースポインタ2点間の傾きとして、x座標方向の増分を基準とした傾き「dY/dX」と、y座標方向の増分を基準とした傾き「dX/dY」の2つを求めるものとしており、これら2つの傾きはいずれか一方がゼロでない場合には逆数の関係になる。
この図6(D)に示す表示状態で、例えばカーソルキー18dによりトレースポインタP2を選択した状態で「決定」キー18cを操作してトレースポインタP2の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP2がグラフ上を任意に移動する。
図6(E)は、例えばカーソルキー18dの「→」キー操作によりトレースポインタP2を座標位置(4,16)まで移動させた状態を示す。ここでは、座標位置として「(X2,Y2)=(4,16)」と併せて表示すると共に、x座標の増分dX=4、y座標の増分dY=16、及び傾き「dY/dX=4」及び「dX/dY=0.25」を算出してグラフと併せて表示している。
このように、任意のトレースポインタPを選択して移動させる毎に、トレースポインタ間のx座標の増分、y座標の増分、及び傾きを更新して表示する。
上記図6(E)に示した状態から3点目以降のトレースポインタを指定することも可能である。例えば3点目のトレースポインタ(P3)をトレースポインタP2の座標位置よりもx座標方向に表示させた状態では、トレースポインタP1とトレースポインタP2との間のx座標の増分、y座標の増分、及び傾きと、トレースポインタP2とトレースポインタP3との間のx座標の増分、y座標の増分、及び傾きがそれぞれ演算結果として表示されることとなる。
このように傾き演算モード時には、2つのトレースポインタP1,P2間のx座標とy座標の各増分、及び2点間の傾きを演算し、演算結果をグラフに併記して表示する。
そのため、表示範囲の設定によっては視覚的に誤解し易くなる傾きなどを、グラフに各種数値を併記することで容易に理解可能となる。
加えて、トレースポインタの移動操作により2つのトレースポインタの各位置を簡易に変更設定できるため、トレースポインタの位置設定により傾きがどのように変化するのかを容易に理解できる。
また、上記図4のステップS201で、設定されている演算モードが傾き演算モードではないと判断した場合には、続いて各ポイント間の最大値と最小値とを求める最大・最小値演算モードであるか否かを判断する(ステップS204)。
ここで最大・最小値演算モードが設定されていると判断した場合には、次いで隣り合う各2つのトレースポインタ間のYが取り得る最大値と最小値とを演算し(ステップS205)、演算結果をグラフに併記して表示部19で表示させ(ステップS203)、以上でこのサブルーチンを終了して、メインルーチンである上記図2に復帰する。
図7は、最大・最小値演算モードが事前に設定されている場合の表示部19での画面の遷移例を示す。図7(A)に示すように関数式「Y1=X2」が入力された後に入力部18の「決定」キー18cが操作されることで、図7(B)に示すように関数式に対応したグラフが当該関数式「Y=X2」と共に表示部19で表示される。
この図7(B)の表示状態から、トレースポインタの表示操作を行なうことで、図7(C)に示すように、まず第1点目のトレースポインタP1が、ここではx,y座標軸の交点である原点位置に表示される。このとき、グラフと併せて、当該トレースポインタP1の座標値を「(X1,Y1)=(0,0)」と表示する。
ここでさらにトレースポインタの表示操作を行なうことで、図7(D)に示すように、第2点目のトレースポインタP2が、上記トレースポインタP1よりx座標軸のプラス方向に一定間隔、例えば「2」だけ空けた位置に表示される。このとき、当該トレースポインタP2の座標値を
「(X2,Y2)=(2,4)」と表示する。
以上で、最小の複数である2点のトレースポインタが指定されたこととなるので、上記ステップS205で示した演算により
最大値MAX:f(X)=4[X=2]
最小値MIN:f(X)=0[X=0]
を算出してグラフと併せて表示する。
ここで同時に、y座標軸上部で2つのトレースポインタ間のy座標の範囲「0≦Y≦4」を表示すると共に、x座標軸右端側上部で同x座標の範囲「0≦X≦2」を表示している。
この図7(D)に示す表示状態から、例えばカーソルキー18dによりトレースポインタP1を選択した状態で「決定」キー18cを操作してトレースポインタP1の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP1がグラフ上を任意に移動する。
同様に、カーソルキー18dによりトレースポインタP2を選択した状態で「決定」キー18cを操作してトレースポインタP2の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP2がグラフ上を任意に移動する。
図7(E)は、例えばカーソルキー18dの「←」キー操作によりトレースポインタP1を座標位置(−2,4)まで移動させると共に、カーソルキー18dの「→」キー操作によりトレースポインタP2を座標位置(5,25)まで移動させた状態を示す。
ここでは、座標位置として「(X1,Y1)=(−2,4)」「(X2,Y2)=(5,25)」と表示すると共に、
最大値MAX:f(X)=25[X=5]
最小値MIN:f(X)=0[X=0]
を算出してグラフと併せて表示する。
このように、任意のトレースポインタPを選択して移動させる毎に、トレースポインタ間のYが取り得る最大値と最小値とを更新して表示する。
上記図7(E)に示した状態から3点目以降のトレースポインタを指定することも可能である。例えば3点目のトレースポインタ(P3)をトレースポインタP2の座標位置よりもx座標方向に表示させた状態では、トレースポインタP1とトレースポインタP2との間の最大値及び最小値と、トレースポインタP2とトレースポインタP3との間の最大値及び最小値とがそれぞれ演算結果として表示されることとなる。
このように最大・最小値演算モード時には、2つのトレースポインタ間の最大値と最小値を演算し、演算結果をグラフに併記して表示するため、グラフが取り得る範囲を容易に理解可能となる。
また、上記図4のステップS204で、設定されている演算モードが最大・最小値演算モードでもないと判断した場合には、続いて各ポイント間の積分値を求める積分演算モードであるか否かを判断する(ステップS206)。
ここで積分演算モードが設定されていると判断した場合には、次いで隣り合う各2つのトレースポインタ間の積分値を演算し(ステップS207)、演算結果をグラフに併記して表示部19で表示させ(ステップS203)、以上でこのサブルーチンを終了して、メインルーチンである上記図2に復帰する。
図8は、積分演算モードが事前に設定されている場合の表示部19での画面の遷移例を示す。図8(A)に示すように関数式「Y1=X2」が入力された後に入力部18の「決定」キー18cが操作されることで、図8(B)に示すように関数式に対応したグラフが当該関数式「Y=X2」と共に表示部19で表示される。
この図8(B)の表示状態から、トレースポインタの表示操作を行なうことで、図8(C)に示すように、まず第1点目のトレースポインタP1が、ここではx,y座標軸の交点である原点位置に表示される。このとき、グラフと併せて、当該トレースポインタP1の座標値を「(X1,Y1)=(0,0)」と表示する。
ここでさらにトレースポインタの表示操作を行なうことで、図8(D)に示すように、第2点目のトレースポインタP2が、上記トレースポインタP1よりx座標軸のプラス方向に一定間隔、例えば「2」だけ空けた位置に表示される。このとき、当該トレースポインタP2の座標値を「(X2,Y2)=(2,4)」と併せて表示する。
以上で、最小の複数である2点のトレースポインタが指定されたこととなるので、上記ステップS207で示した演算により積分式をグラフと併せて表示する。
この積分式で表される数値「2.6666667」は、当該トレースポインタ間のグラフと、Y=0で表されるx座標軸とで挟まれる部分の面積を表す。
この図8(D)に示す表示状態から、例えばカーソルキー18dによりトレースポインタP1を選択した状態で「決定」キー18cを操作してトレースポインタP1の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP1がグラフ上を任意に移動する。
同様に、カーソルキー18dによりトレースポインタP2を選択した状態で「決定」キー18cを操作してトレースポインタP2の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP2がグラフ上を任意に移動する。
図8(E)は、例えばカーソルキー18dの「←」キー操作によりトレースポインタP1を座標位置(−2,4)まで移動させると共に、カーソルキー18dの「→」キー操作によりトレースポインタP2を座標位置(4,16)まで移動させた状態を示す。
ここでは、座標位置として「(X1,Y1)=(−2,4)」「(X2,Y2)=(4,16)」とグラフに併せて表示すると共に、積分式を表示する。
このように、任意のトレースポインタPを選択して移動させる毎に、トレースポインタ間の積分値を更新して表示する。
上記図8(E)に示した状態から3点目以降のトレースポインタを指定することも可能であり、例えば3点目のトレースポインタ(P3)をトレースポインタP2の座標位置よりもx座標方向に表示させた状態では、トレースポインタP1とトレースポインタP2との間の積分値と、トレースポインタP2とトレースポインタP3との間の積分値がそれぞれ演算結果として表示されることとなる。
このように積分演算モード時には、隣り合う各2つのトレースポインタ間の範囲での積分値を演算し、演算結果をグラフに併記して表示するため、グラフで表示される範囲の正確な面積や長さを容易に理解可能となる。
また、上記図4のステップS206で、設定されている演算モードが積分演算モードでもないと判断した場合には、続いて各ポイント間の最大微分値と最小微分値を求める最大・最小微分値演算モードであるか否かを判断する(ステップS208)。
ここで最大・最小微分値演算モードが設定されていると判断した場合には、次いで隣り合う各2つのトレースポインタ間の最大微分値と最小微分値を演算し(ステップS209)、演算結果をグラフに併記して表示部19で表示させ(ステップS203)、以上でこのサブルーチンを終了して、メインルーチンである上記図2に復帰する。
図9は、最大・最小微分値演算モードが事前に設定されている場合の表示部19での画面の遷移例を示す。図9(A)に示すように関数式「Y1=sin X」が入力された後に入力部18の「決定」キー18cが操作されることで、図9(B)に示すように関数式に対応したグラフが当該関数式「Y=sin X」と共に表示部19で表示される。
この図9(B)の表示状態から、トレースポインタの表示操作を行なうことで、図9(C)に示すように、まず第1点目のトレースポインタP1が、ここではx,y座標軸の交点である原点位置に表示される。このとき、グラフと併せて、当該トレースポインタP1の座標値を「(X1,Y1)=(0,0)」と表示する。
ここでさらにトレースポインタの表示操作を行なうことで、図9(D)に示すように、第2点目のトレースポインタP2が、上記トレースポインタP1よりx座標軸のプラス方向に一定間隔、例えば「2」だけ空けた位置に表示される。このとき、当該トレースポインタP2の座標値を「(X2,Y2)=(2,0.91)」と併せて表示する。
以上で、最小の複数である2点のトレースポインタが指定されたこととなるので、上記ステップS209で示した演算により
最大微分値=1[X=0]
最小微分値=−0.4161472[X=2]
を算出してグラフと併せて表示する。
この図9(D)に示す表示状態から、例えばカーソルキー18dによりトレースポインタP2を選択した状態で「決定」キー18cを操作してトレースポインタP2の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP2がグラフ上を任意に移動する。
図9(E)は、例えばカーソルキー18dの「→」キー操作によりトレースポインタP2を座標位置(4,−0.77)まで移動させた状態を示す。
ここでは、座標位置として「(X1,Y1)=(0,0)」「(X2,Y2)=(4,0.77)」と表示すると共に、
最大微分値=1[X=0]
最小微分値=−1[X=3.1415927]
を算出してグラフと併せて表示する。
このように、任意のトレースポインタPを選択して移動させる毎に、トレースポインタ間の積分値を更新して表示する。
上記図9(E)に示した状態から3点目以降のトレースポインタを指定することも可能であり、例えば3点目のトレースポインタ(P3)をトレースポインタP2の座標位置よりもx座標方向に表示させた状態では、トレースポインタP1とトレースポインタP2との間の最大微分値及び最小微分値と、トレースポインタP2とトレースポインタP3との間の最大微分値及び最小微分値がそれぞれ演算結果として表示されることとなる。
このように最大・最小微分値演算モードでは、2つのトレースポインタ間の範囲での最大微分値及び最小微分値を演算し、演算結果をグラフに併記して表示するため、グラフ内で表示される範囲中、最も傾きが大きい位置と小さい位置とが容易に理解可能となる。
また、上記図4のステップS208で、設定されている演算モードが最大・最小微分値演算モードでもないと判断した場合には、続いて各ポイント間でグラフが連続と不連続のいずれであるかを判定する連続・不連続判定モードであるか否かを判断する(ステップS210)。
ここで連続・不連続判定モードが設定されていると判断した場合には、次いで隣り合う各2つのトレースポインタ間のグラフが連続しているか、または不連続であるかを判定し(ステップS211)、判定結果をグラフに併記して表示部19で表示させ(ステップS203)、以上でこのサブルーチンを終了して、メインルーチンである上記図2に復帰する。
図10は、連続・不連続判定モードが事前に設定されている場合の表示部19での画面の遷移例を示す。図10(A)に示すように関数式「Y1=tan X」が入力された後に入力部18の「決定」キー18cが操作されることで、図10(B)に示すように関数式に対応したグラフが当該関数式「Y=tan X」と共に表示部19で表示される。
この図10(B)の表示状態から、トレースポインタの表示操作を行なうことで、まず第1点目のトレースポインタP1が、ここではx,y座標軸の交点である原点位置に表示される。このとき、グラフと併せて、当該トレースポインタP1の座標値を「(X1,Y1)=(0,0)」と表示する。
ここでさらにトレースポインタの表示操作を行なうことで、図10(C)に示すように、第2点目のトレースポインタP2が、上記トレースポインタP1よりx座標軸のプラス方向に一定間隔、例えば「2」だけ空けた位置に表示される。このとき、当該トレースポインタP2の座標値を「(X2,Y2)=(2,−2.185)」と併せて表示する。
以上で、最小の複数である2点のトレースポインタが指定されたこととなるので、上記ステップS211で示した判定により判定結果「P1〜P2の区間は不連続です」をグラフと併せて表示する。
この図10(C)に示す表示状態から、さらにトレースポインタの表示操作を行なうことで、図10(D)に示すように、第3点目のトレースポインタP3が、上記トレースポインタP2からさらにx座標軸のプラス方向に一定間隔、例えば「2」だけ空けた位置に表示される。このとき、当該トレースポインタP3の座標値を
「(X3,Y3)=(4,1.158)」と併せて表示する。
これにより都合3点のトレースポインタが指定されたこととなるので、上記ステップS211で示した判定により判定結果
「P1〜P2の区間は不連続です
P2〜P3の区間は連続です」
をグラフと併せて表示する。
上記図10(D)に示す表示状態から、例えばカーソルキー18dによりトレースポインタP2を選択した状態で「決定」キー18cを操作してトレースポインタP2の選択を確定した後に、カーソルキー18dの「←」キーを操作することで、トレースポインタP2がグラフ上を任意に移動する。
図10(E)は、トレースポインタP2を座標位置(1.2,2.572)まで移動させた状態を示す。
ここでは、座標位置として「(X1,Y1)=(0,0)」「(X2,Y2)=(1.2,2.572)」「(X3,Y3)=(4,1.158)」と表示すると共に、あらたな判定結果
「P1〜P2の区間は連続です
P2〜P3の区間は不連続です」
をグラフと併せて表示する。
このように、任意のトレースポインタPを選択して移動させる毎に、トレースポインタ間の連続・不連続の判定結果を更新して表示する。
上記図10(E)に示した状態から4点目以降のトレースポインタを指定することも可能であり、例えば4点目のトレースポインタ(P4)をトレースポインタP3の座標位置よりもx座標方向に表示させた状態では、トレースポインタP1とトレースポインタP2との間の連続・不連続の判定結果と、トレースポインタP2とトレースポインタP3との間の連続・不連続の判定結果、及びトレースポインタP3とトレースポインタP4との間の連続・不連続の判定結果がそれぞれ判定結果として表示されることとなる。
このように連続・不連続判定モードでは、解析点を挟む2つのトレースポインタ間の範囲でのグラフの連続または不連続を判定し、判定結果をグラフに併記して表示するため、解析点近傍のトレースポインタ間の範囲でグラフが連続するか、あるいは不連続で途切れているかが容易に理解可能となる。
また、上記図4のステップS210で、設定されている演算モードが連続・不連続判定モードでもないと判断した場合には、続いて各ポイント間の極大値と極小値とを求める極大・極小値演算モードであるか否かを判断する(ステップS212)。
ここで極大・極小値演算モード以外の演算モードが設定されていると判断した場合には、その他の処理を行なうものとして本実施形態ではその説明を省略する。
そして、上記ステップS212で極大・極小値演算モードが設定されていると判断した場合には、次いで隣り合う各2つのトレースポインタ間の極大値と極小値とを演算し(ステップS213)、演算結果をグラフに併記して表示部19で表示させ(ステップS203)、以上でこのサブルーチンを終了して、メインルーチンである上記図2に復帰する。
図11は、極大・極小値演算モードが事前に設定されている場合の表示部19での画面の遷移例を示す。図11(A)に示すように関数式「Y1=X3−2X」が入力された後に入力部18の「決定」キー18cが操作されることで、図11(B)に示すように関数式に対応したグラフが当該関数式「Y=X3−2X」と共に表示部19で表示される。
この図11(B)の表示状態から、トレースポインタの表示操作を行なうことで、図11(C)に示すように、まず第1点目のトレースポインタP1が、ここではx,y座標軸の交点である原点位置に表示される。このとき、グラフと併せて、当該トレースポインタP1の座標値を「(X1,Y1)=(0,0)」と表示する。
ここでさらにトレースポインタの表示操作を行なうことで、図11(D)に示すように、第2点目のトレースポインタP2が、上記トレースポインタP1よりx座標軸のプラス方向に一定間隔、例えば「2」だけ空けた位置に表示される。このとき、当該トレースポインタP2の座標値を
「(X2,Y2)=(2,4)」と表示する。
以上で、最小の複数である2点のトレースポインタが指定されたこととなるので、上記ステップS213で示した演算により
「極大値:なし
極小値:(x,y)=(0.816,−1.089)」
を算出してグラフと併せて表示する。
この図11(D)に示す表示状態から、例えばカーソルキー18dにより第1点目のトレースポインタP1を選択した状態で「決定」キー18cを操作してトレースポインタP1の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP1がグラフ上を任意に移動する。
同様に、カーソルキー18dにより第2点目のトレースポインタP2を選択した状態で「決定」キー18cを操作してトレースポインタP2の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP2がグラフ上を任意に移動する。
図11(E)は、例えばカーソルキー18dの「←」キー操作により第1点目のトレースポインタP1を座標位置(−1,0.672)まで移動させた状態を示す。
ここでは、座標位置として「(X1,Y1)=(−1,0.672)」と表示すると共に、
「極大値:(x,y)=(−0.816,1.089)
極小値:(x,y)=(0.816,−1.089)」
を算出してグラフと併せて表示する。
こうして任意のトレースポインタPを選択して移動させる毎に、トレースポインタ間の極大値と極小値とを更新して表示する。
上記図11(E)に示した状態から3点目以降のトレースポインタを指定することも可能であり、例えば3点目のトレースポインタ(P3)を表示させた状態では、トレースポインタP1とトレースポインタP2との間の極大値及び極小値と、トレースポインタP2とトレースポインタP3との間の極大値及び極小値とがそれぞれ演算結果として表示されることとなる。
このように極大・極小値演算モード時には、2つのトレースポインタ間の極大値と極小値の有無を判定し、また極大値と極小値の少なくとも一方がある場合にその値を演算し、演算結果をグラフに併記して表示するため、グラフが極大値及び極小値の少なくとも一方をとり得る場合にその座標位置を容易に理解可能となる。
また、上記図2のステップS110でその時点で入力済みのトレースポインタの間隔を設定すると判断した場合には、複数点トレースプログラム12cにより予め設定されたx軸方向の間隔となるように各トレースポインタをグラフ上に再配置し、以後各トレースポインタのx軸方向の間隔が常に一定となるように設定する(ステップS111)。
図12は、傾き演算モードが事前に設定されている場合のトレースポインタ間隔設定に関する表示部19での画面の遷移例を示す。図12(A)に示すように関数式「Y1=X2」が入力された後に入力部18の「決定」キー18cが操作されることで、図12(B)に示すように関数式に対応したグラフが当該関数式「Y=X2」と共に表示部19で表示される。
この図12(B)の表示状態から、第1点目及び第2点目のトレースポインタの表示操作を順次繰返し行なうことで、図12(C)に示すように、第1点目のトレースポインタP1がx,y座標軸の交点である原点位置に表示されると共に、第2点目のトレースポインタP2が上記トレースポインタP1よりx座標軸のプラス方向に一定間隔、例えば「2」だけ空けた位置に表示される。
このとき、グラフと併せて、トレースポインタP1の座標値を「(X1,Y1)=(0,0)」と表示すると共に、トレースポインタP2の座標値を「(X2,Y2)=(2,4)」と表示する。
以上で2点のトレースポインタが指定されたこととなるので、上記ステップS202での演算処理によりx座標方向の増分dX=2、y座標方向の増分dY=4、及び傾き「dY/dX=2」及び「dX/dY=0.5」を算出してグラフと併せて表示する。
この図12(C)に示す表示状態で、例えばカーソルキー18dにより第1点目のトレースポインタP1を選択した状態で「決定」キー18cを繰返して計2回操作することにより、トレースポインタ間の間隔を設定する状態に移行する。
図12(D)は、このとき表示部19の略中央に表示される、トレースポインタの間隔設定ウィンドウWSを例示するものである。ここでは、同ウィンドウWS内で、
「ポインタ間隔を設定して下さい
x方向[ 1]
↑:大/↓:小/「決定」」
なる表示を行なうことで、デフォルトの間隔「1」を反転表示すると共に、その時点の間隔の値よりカーソルキー18dの「↑」キーまたは「↓」キーの操作で値を更新設定し、「決定」キー18cの操作で設定が完了することを示している。
上記のようにトレースポインタの間隔を「1」とした状態で設定を完了した場合、当該設定により表示部19でのグラフ表示は図12(E)に示すように変化する。
図12(E)では、指定した第1点目のトレースポインタP1が、第2点目のトレースポインタP2との間隔が設定した値「1」となるように自動的にグラフ上を移動している。この時点でトレースポインタP1の座標値は「(X1,Y1)=(1,1)」、トレースポインタP2の座標値は「(X2,Y2)=(2,4)」、x座標方向の増分「dX=2」、y座標方向の増分「dY=4」と、傾き「dY/dX=3」及び「dX/dY=1/3」をグラフと併せて表示する。
このように、任意のトレースポインタPを選択して移動させる際に、他のトレースポインタとの間隔を入力して設定することで、煩雑なトレースポインタの移動操作等を行なう必要がなく、所望する間隔で2つのポインタ間の傾き等を知ることができる。
上記図12(E)に示した状態から3点目以降のトレースポインタを指定すること、あるいはそれらの各トレースポインタの位置を隣り合うトレースポインタから所定の間隔に設定することも可能となる。
この点は、上記図12で示した傾き演算モードが設定されている場合以外も同様であり、他の最大・最小値演算モード、積分演算モード、最大・最小微分値演算モード、連続・不連続判定モード、及び極大・極小値演算モード時のいずれであってもトレースポインタの間隔設定を任意に実行することができる。
また、上記図2のステップS103で、グラフ上の特定位置周辺を解析する解析点の設定がされていると判断した場合には、次いでグラフ描画プログラム12bにより解析を行なう点位置とその座標値とを表示部19でグラフ上に表示する(ステップS115)。
次いで、表示した解析点からx軸に沿って正負両方向に等間隔、例えばX±0.5となる2点のトレースポインタを解析点を挟む対のポインタとしてグラフ上に表示する(ステップS16)。
こうして解析点の設定を終えると、予め設定してある演算モードに従って複数点間解析プログラム12dにより2つの対になったポインタ間での演算を実行し、その演算結果をグラフに併記して表示する第2の処理を実行する(ステップS117)。
このポインタ間演算結果の表示処理2の詳細に関しては後述する。
演算結果を表示した状態から、2つのトレースポインタのうちのいずれかに対し、移動を指示するキー操作がなされたか否か判断する(ステップS118)。
ここで移動を指示するキー操作がなされないと判断した場合には、さらにこのグラフ関数電卓10での動作を終了して電源を切断するための操作がなされたか否かを判断する(ステップS120)。
電源切断の操作がなされなかった場合には、上記ステップS118の処理に戻る。こうしてステップS118,S120の処理を繰返し実行することにより、トレースポインタの移動を指示するキー操作か、動作を終了して電源を切断するためのキー操作のいずれがなされるのを待機する。
そして、動作を終了して電源を切断するためのキー操作がなされた場合、上記ステップS120でそれを判断し、操作された通り電源を切断する共に、以上でこの図2及び図3の処理を終了する。
また、上記ステップS118でトレースポインタの移動を指示するキー操作がなされたと判断すると、次いで複数点トレースプログラム12cにより、指定されたトレースポインタを入力部18のカーソルキー(「←」,「→」キー)18dの操作に応じてグラフ上で移動させると共に、この移動させたトレースポインタと解析点との位置関係に連動して、対になったもう一方のトレースポインタも解析点とのx座標方向の間隔が等しくなるように移動させる(ステップS119)。
その後、上記ステップS117からの処理に移行し、グラフ上で位置を移動させたトレースポインタに基づいて複数点間解析プログラム12dによりあらたに2つのトレースポインタ間の演算を実行し、その演算結果をグラフに併記して表示する第2の処理を実行する。
次に、各演算モード時におけるステップS117での第2の処理について詳述する。
図5は、上記ステップS117でのトレースポインタ間の演算とその演算結果の表示に関する第2の処理の詳細を示すサブルーチンである。
その処理当初には、その時点で設定されている演算モードが、各ポイント間の傾きを求める傾き演算モードであるか否かを判断する(ステップS301)。
ここで傾き演算モードが設定されていると判断した場合には、次いで解析点での微分値と、2つのトレースポインタ間のx座標とy座標の各増分、及び2点間の傾きを演算する(ステップS302)。
そして、演算結果をグラフに併記して表示部19で表示させ(ステップS303)、以上でこのサブルーチンを終了して、メインルーチンである上記図3に復帰する。
図13は、傾き演算モードが事前に設定されている場合の表示部19での画面の遷移例を示す。図13(A)に示すように関数式「Y1=X2」が入力された後に入力部18の「決定」キー18cが操作されることで、図13(B)に示すように関数式に対応したグラフが当該関数式「Y=X2」と共に表示部19で表示される。
この図13(B)の表示状態から、解析点の設定操作を行なうことで、図13(C)に示すように、解析対象となる点位置の座標と当該点位置における微分値とを表示する。
ここでは、座標位置(2,4)を解析点Aの位置とし、その点位置での「微分値=4」であることを表示している。
ここでさらにトレースポインタの表示操作を行なうことで、図13(D)に示すように、解析点Aを挟んでx座標値が「±0.5」となるような一対のトレースポインタP1,P2をグラフ上に表示させる。このとき、グラフと併せてトレースポインタP1,P2の座標値を「(X1,Y1)=(1.5,2.25)」「(X2,Y2)=(2.5,6.25)」と表示する。
以上で、解析点Aを挟んでx座標値が等間隔にある一対のトレースポインタP1,P2が指定されたこととなるので、x座標方向の増分dX=1、y座標方向の増分dY=4、傾き「dY/dX=4」及び「dX/dY=0.25」を算出してグラフと併せて表示する。
ここでは、トレースポインタP1,P2の2点間の傾きとして、x座標方向の増分を基準とした傾き「dY/dX」と、y座標方向の増分を基準とした傾き「dX/dY」の2つを求めるものとしており、これら2つの傾きはいずれか一方がゼロでない場合には逆数の関係になる。
この図13(D)に示す表示状態で、例えばカーソルキー18dによりトレースポインタP1を選択した状態で「決定」キー18cを操作してトレースポインタP1の選択を確定した後に、カーソルキー18dの「←」キーまたは「→」キーを操作することで、トレースポインタP1がグラフ上を任意に移動する。
図13(E)は、例えばカーソルキー18dの「→」キー操作によりトレースポインタP1を座標位置(1.7,2.89)まで移動させた状態を示す。
このトレースポインタP1の移動に連動し、解析点Aを挟んで位置するトレースポインタP2の位置も自動的に移動する。すなわち、x座標軸上でのトレースポインタP1と解析点との間隔が「0.3」となるため、x座標軸方向での等間隔を保つべくトレースポインタP2は座標(2.3,5.29)まで自動的に移動する。
これらトレースポインタP1,P2の移動により、x座標方向の増分dX=0.6、y座標方向の増分dY=2.4、傾き「dY/dX=4」及び「dX/dY=0.25」を算出してグラフと併せて表示する。
このように、一対のトレースポインタP1,P2のいずれか一方を選択して移動させる毎に、対になるもう一方のトレースポインタが連動して移動し、それら一対のトレースポインタP1,P2間のx座標の増分、y座標の増分、及び傾きを更新して表示する。
このように傾き演算モード時には、解析点Aでの微分値と、解析点を挟んで等間隔にある2つのトレースポインタP1,P2間のx座標とy座標の各増分、及び2点間の傾きを演算し、演算結果をグラフに併記して表示する。
そのため、表示範囲の設定によっては視覚的に誤解し易くなる傾きなどを、グラフに各種数値を併記することで容易に理解可能となる。
加えて、トレースポインタの移動操作により解析点を挟んで位置する2つのトレースポインタの間隔を簡易に変更設定できるため、解析点を中心とした範囲の設定により傾きがどのように変化するのかを容易に理解できる。
また、上記図5のステップS301で、設定されている演算モードが傾き演算モードではないと判断した場合には、続いて各ポイント間の最大値と最小値とを求める最大・最小値演算モードであるか否かを判断する(ステップS304)。
ここで最大・最小値演算モードが設定されていると判断した場合には、次いで隣り合う2つのトレースポインタ間の最大値と最小値とを演算し(ステップS305)、演算結果をグラフに併記して表示部19で表示させ(ステップS303)、以上でこのサブルーチンを終了して、メインルーチンである上記図3に復帰する。
このように最大・最小値演算モード時には、2つのトレースポインタ間の最大値と最小値を演算し、演算結果をグラフに併記して表示するため、グラフが取り得る範囲を容易に理解可能となる。
また、上記図5のステップS304で、設定されている演算モードが最大・最小値演算モードでもないと判断した場合には、続いて各ポイント間の積分値を求める積分演算モードであるか否かを判断する(ステップS306)。
ここで積分演算モードが設定されていると判断した場合には、次いで隣り合う各2つのトレースポインタ間の積分値を演算し(ステップS307)、演算結果をグラフに併記して表示部19で表示させ(ステップS303)、以上でこのサブルーチンを終了して、メインルーチンである上記図3に復帰する。
このように積分演算モード時には、2つのトレースポインタ間の範囲での積分値を演算し、演算結果をグラフに併記して表示するため、グラフで表示される範囲の正確な面積や長さを容易に理解可能となる。
また、上記図5のステップS306で、設定されている演算モードが積分演算モードでもないと判断した場合には、続いて各ポイント間の最大微分値と最小微分値を求める最大・最小微分値演算モードであるか否かを判断する(ステップS308)。
ここで最大・最小微分値演算モードが設定されていると判断した場合には、次いで解析点での微分値に加え、隣り合う各2つのトレースポインタ間の最大微分値と最小微分値を演算し(ステップS309)、演算結果をグラフに併記して表示部19で表示させ(ステップS303)、以上でこのサブルーチンを終了して、メインルーチンである上記図3に復帰する。
このように最大・最小微分値演算モードでは、解析点での微分値と解析点を挟む2つのトレースポインタ間の範囲での最大微分値及び最小微分値を演算し、演算結果をグラフに併記して表示するため、グラフ内で解析点を挟んで表示される範囲中、最も傾きが大きい位置と小さい位置とが容易に理解可能となる。
また、上記図5のステップS308で、設定されている演算モードが最大・最小微分値演算モードでもないと判断した場合には、続いて各ポイント間の連続と不連続のいずれであるかを判定する連続・不連続判定モードであるか否かを判断する(ステップS310)。
ここで連続・不連続判定モードが設定されていると判断した場合には、次いで隣り合う各2つのトレースポインタ間でグラフが連続しているか、または不連続であるかを判定し(ステップS311)、判定結果をグラフに併記して表示部19で表示させ(ステップS303)、以上でこのサブルーチンを終了して、メインルーチンである上記図3に復帰する。
このように連続・不連続判定モードでは、解析点を挟む2つのトレースポインタ間の範囲でのグラフの連続または不連続を判定し、判定結果をグラフに併記して表示するため、解析点近傍のトレースポインタ間の範囲でグラフが連続するか、あるいは不連続で途切れているかが容易に理解可能となる。
また、上記図5のステップS310で設定されている演算モードが連続・不連続判定モードでもないと判断した場合には、続いて2つのトレースポイント間の極大値と極小値とを求める極大・極小値演算モードであるか否かを判断する(ステップS312)。
ここで極大・極小値演算モード以外の演算モードが設定されていると判断した場合には、その他の処理を行なうものとして本実施形態ではその説明を省略する。
そして、上記ステップS312で極大・極小値演算モードが設定されていると判断した場合には、次いで隣り合う2つのトレースポインタ間の極大値と極小値とを演算し(ステップS313)、演算結果をグラフに併記して表示部19で表示させ(ステップS303)、以上でこのサブルーチンを終了して、メインルーチンである上記図3に復帰する。
このように極大・極小値演算モード時には、2つのトレースポインタ間の極大値と極小値の有無、及び極大値と極小値の少なくとも一方がある場合にその値を演算し、演算結果をグラフに併記して表示するため、グラフが極大値及び極小値の少なくとも一方をとり得る場合にその座標位置を容易に理解可能となる。
上記各演算モード時の処理内容を説明した如く、上記図5で示した処理により解析点が表示されている状態から設定された演算モードを実行することで、特に解析を必要とする任意の点位置を含めて各演算モードでグラフと共に演算内容を表示するため、グラフに対する理解力をより一層深めることができる。
以上詳記した如く本実施形態によれば、関数グラフの解析能力を向上し、グラフ上の2点間の各種解析を実施して、関数式のグラフの基本的な構造の理解を深めることが可能となる。
なお、上記実施形態では、予め演算モードを設定した上で、入力した関数式のグラフ表示を行なわせるものとして説明したが、本発明はこれに限ることなく、入力した関数式のグラフを表示させ、トレースポインタをグラフ上で表示させた後に各演算モードを選択して設定するようにしてもよい。そうした場合、関数式のグラフを表示させた状態で、選択した演算モードを切換えることも可能であり、関数のグラフに対するより一層の理解に寄与できる。
さらに、グラフ上のトレースポインタの位置は、一旦グラフ上に表示させたトレースポインタをカーソルキー18dの操作で移動させる方法の他に、x座標値を「文字・数字」キー18bによりら直接入力するものとしてもよく、その場合には例えば「無限大」なども入力可能とすることが考えられる。
なお、上記実施形態において記載したグラフ関数電卓10による数式演算モードでの動作手法、すなわち、図3のフローチャートに示す処理内容、図4のフローチャートに示すポインタ間演算結果表示処理1のサブルーチン、図5のフローチャートに示すポインタ間演算結果表示処理2のサブルーチンなどの各手法は、コンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶媒体13に格納して配布することができる。
そして、グラフ関数電卓10のコンピュータ11は、この外部記憶媒体13に記憶されたプログラムを記憶部12や作業部17に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した機能を実現し、前述した手法による同様の処理を実行することができる。
また、上記手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(公衆回線)N上を伝送させることができ、この通信ネットワークNに接続された通信制御部16によって前記プログラムデータをグラフ関数電卓10のコンピュータ11に取り込み、前述した機能を実現することもできる。
さらに、前記プログラムデータをパーソナルコンピュータに取り込み、前述した機能を実現することもできる。
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。