(57)【特許請求の範囲】
【請求項１】
関数式ｙ＝ｆ（ｘ）上の指定点（ａ，ｆ（ａ））が該関数式における特異点かどうかを判別する関数式の特異点判別装置において、予め設定される傾き算出区間設定値δを用いて、（（ａ−δ），ｆ（ａ−δ））と（ａ，ｆ（ａ））との二点間の傾きｙ１′と、（（ａ＋δ），ｆ（ａ＋δ））と（ａ，ｆ（ａ））との二点間の傾きｙ２′とを算出する傾き算出手段と、該傾き算出手段で得られた前記各二点間の傾きｙ１′及びｙ２′の符号を比較した結果、符号が異符号であった場合、前記傾き算出手段で得られた前記各二点間の傾きｙ１′及びｙ２′との差の絶対値を算出し、予め設定される特異点判別用基準値ｄを用いて、算出した前記絶対値を前記特異点判別用基準値ｄと比較して、前記絶対値の方が大きければ前記指定点（ａ，ｆ（ａ））が前記関数における特異点であるとして判別する判別手段とを備えることを特徴とする関数式の特異点判別装置。
【請求項２】
前記傾き算出区間設定値δ，及び前記特異点判別用基準値ｄのいずれかまたは両方を可変に入力設定できる入力手段を有することを特徴とする請求項１記載の関数式の特異点判別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、関数式が登録できる電子機器全般に適用可能である関数式の特異点判別装置に関する。
【０００２】
【従来の技術】
例えば、従来の関数電卓においては、関数式の特異点では微分不可能であるにもかかわらず、数値計算上特異点の傾きとしてある値が出力されてしまう。そのため、特異点と非特異点との区別がつかず当該関数電卓を用いて教育を行うに際しての教育的見地から見て望ましくない結果となっていた。
【０００３】
従来、指定した点ａにおける傾きｙ′を求めるときは、その点が特異点であったとしても、指定した点と指定した点から微小区間δを隔てた２点間を直線とみなし、単純に次の３通りのいずれかの算出方法で傾きｙ′を求めていた。
（１）ｙ′＝｛ｆ（ａ＋δ）−ｆ（ａ−δ）｝／２δ
またはｙ′＝｛ｆ（ａ＋δ／２）−ｆ（ａ−δ／２）｝／δ
（２）ｙ′＝｛ｆ（ａ＋δ）−ｆ（ａ）｝／δ
（３）ｙ′＝｛ｆ（ａ）−ｆ（ａ−δ）｝／δ
【０００４】
図６は、従来の傾き算出方法により、関数式の指定点における傾きを算出する際の動作の流れの一例を示すフローチャートである。また、図７は、従来の関数式の傾き算出装置の一例を説明するためのブロック図である。
以下に、図６のフローチャートに従って、さらに図７のブロック図を参照しながら従来技術の一例を説明する。
まず、使用者がキー１３に対して行う入力操作により、関数式ｆ（ｘ），及び指定点（ａ）の入力が行われる（ステップＳ１１）。入力された関数式（ｆ（ｘ））はＲＡＭ２５の関数式記憶エリア２７に記憶され、指定点（ａ）はＲＡＭ２５の計算用バッファ２８にある指定点記憶エリア２８ａに記憶される。また、微小区間（δ）の値を固定値ではなく使用者が入力できるようにするときは、ステップＳ１１で、さらに使用者によるキー１３からの微小区間（δ）の入力を受け付ける。微小区間（δ）は計算用バッファ２８にある微小区間記憶エリア２８ｂにそれぞれ記憶される。
【０００５】
次いで、ＲＯＭ２６のｆ（ａ＋δ）算出手段２６ｄ及びｆ（ａ−δ）算出手段２６ｂにより、ｆ（ａ＋δ）及びｆ（ａ−δ）を算出し（ステップＳ１２）、さらに、（ｆ（ａ＋δ）−ｆ（ａ−δ））／２δ算出手段２６ｉにより（ｆ（ａ＋δ）−ｆ（ａ−δ））／２δを算出する（ステップＳ１３）。算出された値は、ＲＡＭ２５の計算結果記憶エリア２９にあるｙ′記憶エリア２９ｃに記憶される。ｙ′記憶エリア２９ｃに記憶された傾きの値は、表示駆動回路１４の制御により表示部１２に表示される（ステップＳ１４）。
なお、ステップＳ１２及びステップＳ１３における演算内容は、前述した傾きの算出方法（１），（２），（３）のいずれを採用するかにより異なるものとなる。
【０００６】
【発明が解決しようとする課題】
上述したごとく、関数式の特異点における傾きｙ′は存在しないにもかかわらず、従来の電子機器では特異点であろうとなかろうと無視して前述したいずれかの傾き算出方法に基づいて傾きを求めていた。
【０００７】
本発明は、上述のごとき実情に鑑みてなされたもので、指定した点が特異点の場合は、傾きｙ′を求めたときその点が特異点である旨の表示を行ってユーザに認知させ、これにより、特異点と非特異点とが区別され、教育上有益な効果を発揮する関数式の特異点判別装置を提供することをその解決すべき課題とする。
【００１１】
【課題を解決するための手段】
請求項１の発明は、関数式ｙ＝ｆ（ｘ）上の指定点（ａ，ｆ（ａ））が該関数式における特異点かどうかを判別する関数式の特異点判別装置において、予め設定される傾き算出区間設定値δを用いて、（（ａ−δ），ｆ（ａ−δ））と（ａ，ｆ（ａ））との二点間の傾きｙ１′と、（（ａ＋δ），ｆ（ａ＋δ））と（ａ，ｆ（ａ））との二点間の傾きｙ２′とを算出する傾き算出手段と、該傾き算出手段で得られた前記各二点間の傾きｙ１′及びｙ２′の符号を比較した結果、符号が異符号であった場合、前記傾き算出手段で得られた前記各二点間の傾きｙ１′及びｙ２′との差の絶対値を算出し、予め設定される特異点判別用基準値ｄを用いて、算出した前記絶対値を前記特異点判別用基準値ｄと比較して、前記絶対値の方が大きければ前記指定点（ａ，ｆ（ａ））が前記関数における特異点であるとして判別する判別手段とを備えることを特徴としたものである。
【００１３】
請求項２の発明は、請求項１の発明において、前記傾き算出区間設定値δ，及び前記特異点判別用基準値ｄのいずれかまたは両方を可変に入力設定できる入力手段を有することを特徴としたものである。
【００１４】
【発明の実施の形態】
以下に、本発明による関数式の特異点判別装置の実施例を添付された図面を参照して具体的に説明する。
図１は、本発明の関数式の特異点判別装置が適用される関数電卓の外観を概略的に示す図である。関数電卓１は、表示装置２とキーボード３を備えている。キーボード３は連続関数式入力用のキーや条件入力用のキー等を備えている。
図２は、本発明による関数式の特異点判別装置の一実施例を説明するためのブロック図である。図中、１１はＣＰＵで、キーの読み込み、関数式の登録や傾き算出などの制御を行う。１２は表示部で、関数式や傾きの計算結果，及びメッセージなどを表示するためのものである。１３はキーで、関数式や条件設定のための数値を入力したり、傾き算出の指定などをユーザが行うためのものである。１４は表示駆動回路で、表示部１２における駆動表示手段を駆動するためのものである。１５はＲＡＭで、関数式記憶のための関数式記憶エリア１７，計算に用いるデータを記憶するための計算用バッファ１８，計算結果を記憶するための計算結果記憶エリア１９，及びその他の機能を実行するために必要となるデータを記憶するその他記憶エリア２０等により構成されている。１６はＲＯＭで、傾き算出のためのアルゴリズムやメッセージ内容を記憶する。
【００１５】
図３は、本発明による関数式の特異点判別方法及び装置における操作及び表示例を示す図である。図では、表示形式Ａ，及び表示形式Ｂの２種類の表示例について示してある。なお、表示形式Ａと表示形式Ｂとの違いは、絶対値指定の表示形式が異なることであり、また、使用する電子機器の機種により、操作方法や表示形態が変わることがある。
【００１６】
まず、使用者がキーに対して行う入力操作により、関数式（ｆ（ｘ））、及び指定点（ａ）の入力が行われる。本実施例では傾き算出指定に続いて、関数式，指定点，微小区間δ値を入力する。また、特異点判別用の値ｄを入力するときは微小区間δに続いて入力する。この例ではｄの入力は省略しており固定の値を用いるものとする。また、微小区間δとして固定の値を用いる場合にも同様に入力指定を行わない。
【００１７】
図３において、（ａ）は傾き算出のための指定で、ｄ／ｄｘの指定を行うことにより、次に入力される関数式の傾きを算出する。また（ｂ）から（ｅ）は、関数式，指定点，及び微小区間δの入力である。（ｆ）は傾き算出処理の実行及びその結果を示すメッセージの表示で、特異点の場合は、図示するごとくの表示が行われ、また特異点でない場合は傾きの値（例：ｘ＝０．５のときｙ′＝０．８７７）を表示する。
また、関数式は［Ｙ＝］キー入力により予め指定しておくこともできる。
【００１８】
図４は、本発明による関数式の特異点判別方法及び装置の一実施例にて、指定点における傾きを算出する際の動作の流れを示すフローチャートである。また図５は、本発明の一実施例におけるキー入力から表示に致る動作の詳細を説明するための図である。
【００１９】
以下に、図４のフローチャートに従って、かつ、図２のブロック図を参照しながら本発明の実施例を更に詳細に説明する。なお、動作の詳細が示される図５における該当ブロックを参照付記する。
以下の説明において、微小区間δは可変の入力値、または１０-5等の微小固定値のいずれかとし、同様に特異点判別用の値ｄは可変の入力値または０.５等の固定値とし、また、ｆ（ａ），ｆ（ａ−δ），ｆ（ａ＋δ）は入力した関数式より求めるものとする。
まず、ステップＳ１で使用者がキー１３に対して行う入力操作により、関数式（ｆ（ｘ）），及び指定点（ａ）の入力が行われる。微小区間（δ）の値を固定ではなく使用者が入力できるようにするときは、ステップＳ１で、さらに、使用者によるキー１３からの微小区間（δ）の入力を受け付ける。入力された関数式（ｆ（ａ））はＲＡＭ１５の関数式記憶エリア１７に記憶され、また、入力された指定点（ａ）はＲＡＭ１５の計算用バッファ１８にある指定点記憶エリア１８ａに記憶され、入力された微小区間（δ）はＲＡＭ１５の計算用バッファ１８にある微小区間記憶エリア１８ｂにそれぞれ記憶される（図５におけるＳ１−１〜Ｓ１−４）。
【００２０】
次いで、ステップＳ２で、ＲＯＭ１６のｆ（ａ）算出手段１６ａ，及びｆ（ａ−δ）算出手段１６ｂにより、ｆ（ａ）及びｆ（ａ−δ）を算出する（図５におけるＳ２−１，Ｓ２−２）。
ステップＳ３では、ＲＯＭ１６の（ｆ（ａ）−ｆ（ａ−δ））／δ算出手段１６ｃにより、（ｆ（ａ）−ｆ（ａ−δ））／δを算出する。算出された値は、ＲＡＭ１５の計算結果記憶エリア１９にあるｙ１′記憶エリア１９ａに記憶される（図５におけるＳ３−１，Ｓ３−２）。
【００２１】
次いで、ステップＳ４で、ＲＯＭ１６のｆ（ａ＋δ）算出手段１６ｄにより、ｆ（ａ＋δ）を算出する（図５におけるＳ４−１）。
さらにステップＳ５で、ＲＯＭ１６の（ｆ（ａ＋δ）−ｆ（ａ））／δ算出手段１６ｅにより、（ｆ（ａ＋δ）−ｆ（ａ））／δを算出する。算出された値は、ＲＡＭ１５の計算結果記憶エリア１９にあるｙ２′記憶エリア１９ｂに記憶される（図５におけるＳ５−１，Ｓ５−２）。
【００２２】
ステップＳ６では、ＲＯＭ１６の比較手段１６ｈにより、ｙ１′とｙ２′とを比較し、比較の結果、ｙ１′とｙ２′が同符号の場合はステップＳ８へ進み、ｙ１′とｙ２′が異符号の場合は、ステップＳ７へ進む（図５におけるＳ６−１）。
次いでステップＳ７で、ＲＯＭ１６の｜ｙ１′−ｙ２′｜算出手段１６ｇにより、｜ｙ１′−ｙ２′｜を算出する。そして、比較手段１６ｈにより、｜ｙ１′−ｙ２′｜の算出結果と判別用値（ｄ）との比較を行う。比較の結果、｜ｙ１′−ｙ２′｜が判別用値（ｄ）よりも小さい場合は、ステップＳ８へ進み、そうでなければ、ステップＳ１０へ進む（図５におけるＳ７−１〜Ｓ７−３）。
【００２３】
ステップＳ８では、ＲＯＭ１６の（ｙ１′＋ｙ２′）／２算出手段１６ｆにより、（ｙ１′＋ｙ２′）／２を算出する。算出された値は、ＲＡＭ１５の計算結果記憶エリア１９にあるｙ′記憶エリア１９ｃに記憶される（図５におけるＳ８−１，Ｓ８−２）。
さらにステップＳ９でｙ′記憶エリア１９ｃに記憶された傾きの値が表示駆動回路１４の制御により表示部１２に表示される（図５におけるＳ９−１，Ｓ９−２）。また、ステップＳ７からステップＳ１０に進んだ場合は、特異点表示メッセージ（例えば「ｘ＝○○は特異点です」）が表示駆動回路１４の制御により表示部１２に表示される（図５におけるＳ１０−１）。
【００２４】
上述した動作による具体的な関数式の処理例を図４のフローチャートに従い説明する。
関数式がｙ＝｜ｓｉｎ ｘ｜，指定点ａがπ（１８０°），微小区間δが０.００００１の時は次のような処理になる。
ステップＳ２で、ｆ（π）＝０，及びｆ（π−０.００００１）＝０.００００１を求め、ステップＳ３で、ｙ１′＝（０−０.００００１）／０.００００１＝−１を求める。さらにステップＳ４で、ｆ（π＋０.００００１）＝０.０００００９９を求め、ステップＳ５で、ｙ２′＝（０.０００００９９−０）／０.００００１＝０.９９を求める。
【００２５】
ステップＳ６では、ｙ１′とｙ２′は異符号であるかどうかを判断する。この例では異符号であるためステップＳ７に進む。
ステップＳ７で、ｙ１′とｙ２′の差の絶対値（｜−１−０．９９｜＝１．９９）を求め、固定値又は入力値ｄ（例：ｄ＝０．５）と比較する。この例における絶対値１．９９はｄよりも大きいためステップＳ１０に進み、「特異点です」を表示する。
【００２６】
また、関数式がｙ＝｜｜ｘ｜−１｜，指定点ａが１，微小区間δが０.００００１の時は次のような処理になる。
ステップＳ２で、ｆ（１）＝０，及びｆ（１−０.００００１）＝０.００００１を求め、ステップＳ３で、ｙ１′＝（０−０.００００１）／０.００００１＝−１を求める。さらにステップＳ４で、ｆ（１＋０.００００１）＝０.００００１を求め、ステップＳ５で、ｙ２′＝（０.００００１−０）／０.００００１＝１を求める。
【００２７】
ステップＳ６では、ｙ１′とｙ２′は異符号であるかどうかを判断する。この例では異符号であるためステップＳ７に進む。
ステップＳ７で、ｙ１′とｙ２′の差の絶対値（｜−１−１｜＝２）を求め、固定値又は入力値ｄ（例：ｄ＝０．５）と比較する。この例における絶対値２はｄよりも大きいためステップ１０に進み、「特異点です」を表示する。
【００２８】
また、関数式がｙ＝（ｘ−１）（ｘ−２）＝ｘ2−３ｘ＋２，指定点ｘが１．５，微小区間δが０．００００１の時は次のような処理になる。
ステップＳ２で、ｆ（１．５）＝−０．２５，及びｆ（１．５−０．００００１）＝−０．２４９９９９９９９を求め、ステップＳ３で、ｙ１′＝（−０．２５−（０．２４９９９９９９９））／０．００００１＝−０．０００１を求める。さらにステップＳ４で、ｆ（１．５＋０．００００１）＝−０．２４９９９９９９９を求め、ステップＳ５でｙ２′＝（−０．２４９９９９９９９−（−０．２５））／０．００００１＝０．０００１を求める。
【００２９】
ステップＳ６では、ｙ１′とｙ２′は異符号であるかどうかを判断する。この例では異符号であるためステップＳ７に進む。
ステップＳ７で、ｙ１′とｙ２′の差の絶対値（｜−０．０００１−０．０００１｜＝０．０００２）を求め、固定値又は入力値ｄ（例：ｄ＝０．５）と比較する。この例における絶対値０．０００２はｄよりも小さいためステップＳ８に進む。
ステップＳ８で、傾きｙ′＝（−０．０００１＋０．０００１）／２を求め、ステップＳ９で傾きｙ′の結果の値「０」を表示する。
【００３２】
【発明の効果】
請求項１の効果：連続関数の指定点における傾きを算出するに際し、指定点から微小区間隔てた連続関数上の前後の二点と指定点との間の２つの傾きを算出し、各傾きを用いて演算することにより、特異点の判別が可能となり、教育に用いる場合にも有益な関数式の特異点判別装置が得られる。
【００３３】
請求項２の効果：請求項１の効果に加えて、演算処理を行うための各条件値を可変設定可能とすることにより、より有効な演算処理を行うための条件選択を任意に行うことができる関数式の特異点判別装置が得られる。
【図面の簡単な説明】
【図１】  本発明の関数式の特異点判別装置が適用される関数電卓の外観を概略的に示す図である。
【図２】  本発明の関数式の特異点判別装置の一実施例を説明するためのブロック図である。
【図３】  本発明による関数式の特異点判別装置における操作及び表示の例を示す図である。
【図４】  本発明による関数式の特異点判別装置の一実施例にて、指定点における傾きを算出する際の動作の流れを示すフローチャートである。
【図５】  本発明による関数式の特異点判別装置の一実施例におけるキー入力から表示に至る動作の詳細を説明するための図である。
【図６】  従来の傾き算出方法による、関数式の指定点における傾きを算出する際の動作の流れの一例を示すフローチャートである。
【図７】  従来の関数式の傾き算出装置の一例を説明するためのブロック図である。
【符号の説明】
１…関数電卓、２…表示装置、３…キーボード、１１…ＣＰＵ、１２…表示部、１３…キー、１４…表示駆動回路、１５…ＲＡＭ、１６…ＲＯＭ、１６ａ…ｆ（ａ）算出手段、１６ｂ…ｆ（ａ−δ）算出手段、１６ｃ…（ｆ（ａ）−ｆ（ａ−δ））／δ算出手段、１６ｄ…ｆ（ａ＋δ）算出手段、１６ｅ…（ｆ（ａ＋δ）−ｆ（ａ））／δ算出手段、１６ｆ…（ｙ１′＋ｙ２′）／２算出手段、１６ｇ…｜ｙ１′−ｙ２′｜算出手段、１６ｈ…比較手段、１７…関数式記憶エリア、１８…計算用バッファ、１８ａ…指定点記憶エリア、１８ｂ…微小区間記憶エリア、１８ｃ…判別用値記憶エリア、１９…計算結果記憶エリア、１９ａ…ｙ１′記憶エリア、１９ｂ…ｙ２′記憶エリア、１９ｃ…ｙ′記憶エリア、２０…その他記憶エリア、２５…ＲＡＭ、２６…ＲＯＭ、２６ｂ…ｆ（ａ−δ）算出手段、２６ｄ…ｆ（ａ＋δ）算出手段、２６ｉ…（ｆ（ａ＋δ）−ｆ（ａ−δ））／２δ算出手段、２７…関数式記憶エリア、２８…計算用バッファ、２８ａ…指定点記憶エリア、２８ｂ…微小区間記憶エリア、２９…計算結果記憶エリア、２９ｃ…ｙ′記憶エリア、３０…その他記憶エリア。
【図１】
0003698535.tif 000002
【図２】
0003698535.tif 000003
【図３】
0003698535.tif 000004
【図４】
0003698535.tif 000005
【図５】
0003698535.tif 000006
【図６】
0003698535.tif 000007
【図７】
0003698535.tif 000008