(57)【要約】【課題】行列の演算表示機能を有する行列計算機であって、演算式に入力した行列を分かり易く表示すること。【解決手段】行列計算機は、記憶手段に各行列の要素データを記憶しており、演算モードにおいて演算式が入力されるときに、行列が、例えばアルファベットキーで行列の名称を入力して指定されると、行列の名称に次元数を示す情報を付加して表示し、実行キーの指令があると入力された行列を含む演算式の演算を実行する。したがって、入力された演算式に含まれる行列を分かり易く表示することが可能になる。【選択図】      図６
2009140377.tif 000002
【特許請求の範囲】
【請求項１】
行列の名称を入力することで行列を指定する行列指定手段と、
前記行列指定手段により指定された行列の要素データを入力する入力手段と、
前記入力手段から入力された要素データを記憶する記憶手段と、
前記行列指定手段により指定された行列を用いた演算式を入力する演算式入力手段と、
前記演算式入力手段により入力された演算式に含まれる行列について行列の名称に次元数を示す情報を付加して表示する行列表示手段と、
前記演算式入力手段で入力された行列を含む演算式の演算を実行する演算手段と、
を備えたことを特徴とする行列計算機。
【請求項２】
前記表示手段は、前記次元数を行列名称の横に表示させることを特徴とする請求項１に記載の行列計算機。
【請求項３】
前記演算式入力手段により演算式が入力されている際に前記行列指定手段で行列が指定された場合、演算式に含まれる他の行列の次元数に基づいて演算可能か判定する判定手段を有することを特徴とする請求項１に記載の行列計算機。
【請求項４】
コンピュータを、
行列の名称を入力することで行列を指定する行列指定手段、
前記行列指定手段により指定された行列の要素データを入力する入力手段、
前記入力手段から入力された要素データを記憶する記憶手段、
前記行列指定手段により指定された行列を用いた演算式を入力する演算式入力手段、
前記演算式入力手段により入力された演算式に含まれる行列について行列の名称に次元数を示す情報を付加して表示する行列表示手段、
前記演算式入力手段で入力された行列を含む演算式の演算を実行する演算手段、
として機能させるようにしたコンピュータ読み込み可能な計算機制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行列の演算を実行する行列計算機及びプログラムに関する。
【背景技術】
【０００２】
従来、行列の演算を実行する電子機器として、関数電卓と称される小型電子式計算機が知られている。この関数電卓によれば、行列をアルファベットキーを用いて「Ａ」、「Ｂ」…のように指定して、指定した行列に各要素データを順次入力し、メモリに行列データとして登録し、その後、例えば、Ａ×Ｂと入力して、指定した行列を含む演算式の計算を行わせることができる。
【０００３】
このような関数電卓において行列データを登録する際には、ユーザが行列名をＡ、Ｂ…のように指定するとともに、指定した行列が何行何列かを示す次元数（Ｄｉｍｅｎｓｉｏｎ）をｍ×ｎ（ｍ、ｎには任意の整数が入力される）の値を入力して設定し、その後、ｍ行ｎ列の各要素データを入力するようになっている。
なお、行列計算に関しては、行列の大きさの設定を簡単にするための工夫が考えられている（例えば、特許文献１参照。）。
【０００４】
【特許文献１】特開平１１−１６１６３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
関数電卓では、計算時に行列名をアルファベットで指定して、Ａ×Ｂのように演算式を入力して所望の計算をさせるが、式の入力時に表示部には、Ａ、Ｂ等の行列の名称が表示されるだけである。しかし行列データを登録するときと、登録された行列を用いて計算をするときとでは、時間的に間隔があくために、ユーザにとって演算式に入力した行列の次元数が分からず、適切な式の入力が行われたのか不安になる場合もあった。
【０００６】
本発明は、このような課題に鑑みなされたもので、入力された演算式に含まれる行列を分かり易く表示することが可能になる行列計算機及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の行列計算機は、行列の名称を入力することで行列を指定する行列指定手段と、前記行列指定手段により指定された行列の要素データを入力する入力手段と、前記入力手段から入力された要素データを記憶する記憶手段と、前記行列指定手段により指定された行列を用いた演算式を入力する演算式入力手段と、前記演算式入力手段により入力された演算式に含まれる行列について行列の名称に次元数を示す情報を付加して表示する行列表示手段と、前記演算式入力手段で入力された行列を含む演算式の演算を実行する演算手段と、を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、入力された演算式に含まれる行列を分かり易く表示することが可能になる。
【発明を実施するための最良の形態】
【０００９】
以下図面により本発明の実施の形態について説明する。
図１は、本発明の行列計算機の実施形態に係る関数電卓１０の外観構成を示す正面図である。
【００１０】
この関数電卓１０は、その携帯性の必要からユーザが片手で十分把持し片手で操作可能な小型サイズからなり、この関数電卓１０の本体正面にはキー入力部１１および表示部１９が設けられる。
【００１１】
キー入力部１１には、主に数値や四則演算記号を入力するための数値・演算記号キー群１２、各種の関数機能やメモリ機能を立ち上げるための関数機能キー群１３、行列計算モードを指令するための「Ｍａｔ（Ｍａｔｒｉｘ）」キー１４、メニューを呼び出すための「Ｍｅｎｕ」キー１５、行列の名称を入力して指定するためのアルファベットキー１６、表示部１５に表示されたカーソルＣｕの移動操作やデータ項目の選択操作などを行うためのカーソルキー１７、表示部１５の下端に沿ってメニュー表示される各種の機能を選択するためのファンクションキーＦ１〜Ｆ４が備えられる。
【００１２】
表示部１５は、ドットマトリクス型の液晶表示部１９と行列計算でのある種のエラーを示すシンボル表示部２０からなっている。
【００１３】
図２は、前記関数電卓１０の電子回路の構成を示すブロック図である。
この関数電卓１０の電子回路は、コンピュータであるＣＰＵ２１を備えている。
【００１４】
ＣＰＵ２１は、ＲＯＭなどの記憶装置２２に予め記憶されている電卓制御プログラムに従い回路各部の動作を制御し、ＲＡＭ２３を作業用メモリとしてキー入力部１１からのキー入力信号に応じた各種の演算処理を実行する。ＲＡＭ２３には、表示データメモリ領域２４、行列データメモリ領域２５などが確保される。
【００１５】
表示データメモリ領域２４には、前記表示部１８に表示させるべき演算式のデータやその演算結果のデータなどが、前記表示部１５の表示領域に相当するビットマップデータに展開されて記憶される。
【００１６】
行列データメモリ領域２５（図３参照）には、ユーザにより入力された行列データが記憶されるものであって、アルファベットキー「Ａ」〜「Ｅ」で指定される行列に対応して、行列の次元数（Ｄｉｍｅｎｓｉｏｎ）及び行列の要素データが記憶される。
【００１７】
次に、前記構成の関数電卓１０における行列の演算機能について説明する。
【００１８】
図４は、前記関数電卓１０による行列の登録処理を示すフローチャートである。
図５は、前記関数電卓１０の行列演算処理を示すフローチャートである。
図６は、行列の登録、演算処理に伴う表示部１８における表示画面を示す図である。
【００１９】
まず図４のフローチャートに従って、行列データの登録処理について説明する。
始めに、図６（Ａ）に示すように、キー入力部１１の「Ｍａｔ」キー１４がユーザにより操作されることで行列演算モードが設定される。そして、続けて「Ｍｅｎｕ」キー１５の操作により行列演算に関するメニューを呼び出し、メニューからデータ入力の項目が選択されることで、行列データの入力状態が設定される（ステップＡ１）。
【００２０】
行列データの入力状態に移行されると各行列Ａ〜Ｅの名称が表示部１８にリスト表示され、ユーザがカーソルキー１７を操作することによってカーソルＣｕが移動され、データを入力する行列が選択される（ステップＡ２）。
【００２１】
そして、行列が選択されると、選択された行列に対して行列の次元数がユーザにより入力される（ステップＡ３）。図６（Ａ）は、行列Ａが選択され、行列の次元として２行３列が入力設定された様子を示している。
【００２２】
その後、ＥＸＥキーが操作されると、図６（Ｂ）のように、次元数が設定された行列が表形式で表示され、ユーザによりカーソルキー１７の操作で選ばれた行列の要素について順次数値キーの操作により値が入力される（ステップＡ４）。入力された行列の要素データは、図３に示すようにＲＡＭ２３の行列データメモリ領域２５に記憶される。図３は、２行３列の行列Ａのデータと３行２列の行列Ｂのデータが登録されている状態が示されている。
【００２３】
次に行列演算について図５のフローチャートに従って説明する。
ここでは、行列データメモリ領域２５に、図３のように行列Ａ、Ｂについてデータ登録されている場合に、行列Ａ×行列Ｂの演算をさせる操作を例に取り説明する。
【００２４】
関数電卓１０は、「Ｍａｔ」キー１４がユーザによって操作されて行列演算モードが設定されると、キー入力を待機する状態となる（ステップＢ１）。
【００２５】
この行列演算モードのキー入力待機状態において、行列を指定するアルファベットキーＡ〜Ｅの何れかが操作され、行列の名称が入力されると、該当する行列データが行列データメモリ領域２５から呼び出される（ステップＢ２）。
【００２６】
そして、該当する行列に次元数や要素データといった行列データが登録されているかが判断され（ステップＢ３）、データが登録されていると判断された場合には、登録されている次元数が読み出されて行列名に付加されて演算式の要素として表示部１８に表示される（ステップＢ４）。
【００２７】
したがって、キー入力待機状態で「Ａ」キーが入力されると、図６（Ｃ）のように、行列Ａを示す「ＭａｔＡ」とともに、この行列が２×３の大きさであることを示す次元数がメモリから呼び出され、ＭａｔＡの表示の横に表示されるようになる。
【００２８】
なお、指定した行列に次元数や要素データの行列データが登録されていない場合は、０×０が、指定された行列の名称の横に表示される（ステップＢ５）。
【００２９】
行列が指定されて表示部１８に次元数が付けられた行列名が表示されると、次に、入力された行列の前に演算子が入力されているか判断される（ステップＢ６）。ここで演算子が入力されていると判断されたた場合はステップＢ７に進み、行列の次元数から演算可能かの判断がされるが、ここでは最初の入力であるので、ステップＢ１に戻り、新たなキー入力を待つ（ステップＢ１）。
【００３０】
次に「×」キーが操作されると、その演算子「×」が入力されたことが判断され、表示部に追加入力されて表示される（ステップＢ９）。
【００３１】
そして、次に「Ｂ」キーが入力されると、行列Ｂのデータが行列データメモリ領域２５から呼び出され（ステップＢ２）、行列Ｂに次元数や要素データといった行列データが登録されているかが判断される（ステップＢ３）。行列Ｂには、データが登録されているので、登録されている次元数を読み出して、行列名が次元数とともに表示部１８に表示される（ステップＢ４）。
【００３２】
図６（Ｄ）は、行列Ｂが入力されたときの表示状態を示している。行列Ｂを示す「ＭａｔＢ」とともに、この行列が３×２の大きさであることを示す次元数がメモリから呼び出され、表示されている。
【００３３】
そして、入力された行列Ｂの前に演算子が入力されているか判断される（ステップＢ６）。ここでは演算子×が入力されているので、ステップＢ７に進み、行列の次元数から入力中の演算式が演算可能かどうかの判断がなされる。本例の場合、行列Ａ×行列Ｂは、その次元数から判断して演算可能であるので、ステップＢ１に戻り、新たなキー入力を待つことになる（ステップＢ１）。
【００３４】
もし、ステップＢ７で、演算可能でないと判断された場合は、ステップＢ８に進み、表示部１８のシンボル２０が表示され、正しい行列の入力がなされなかったことがユーザに知らされる。
【００３５】
図６（Ｅ）は、「Ａ」キー、「×」キーの入力の後に、データが登録されていない行列Ｃが入力された場合に、シンボル２０が表示された状態を示している。
【００３６】
このようにシンボル２０が表示された場合は、演算式に入力された行列に誤りがあることになるので、ユーザはカーソル操作で間違えた入力要素を指定し（ステップＢ１０）、消去を命令するＤＥＬキーを操作して、演算式に含まれる要素、この場合は行列名をクリアして（ステップＢ１１）、そして入力し直すことになる。
【００３７】
このようにして行列を含む演算式の入力が終了し、ＥＸＥキーが操作されると、式の演算が実行される（ステップＢ１２）。そして、演算が実行できない場合は、シンタックスに間違いがあると判断されて（ステップＡ１３）、表示部１８にエラーが表示される（ステップＢ１４）。一方、演算の実行ができたならばその演算結果が表示部１８に表示される（ステップＢ１５）。
【００３８】
なお、上記の実施形態においては、入力した演算式の中で行列を表示する場合に、行列の次元数を行列名の横に縦書きでｎ×ｍと表示しているが、他の表現形式を採用しても構わない。例えば、図７に示すように、ドットを配列したパターンで表現してもよい。
【００３９】
また行列は、Ａ〜Ｅのアルファベットキーで指定していたが、数字を用いて「行列１」のように名称を決めてもよく、指定の方法は任意である。また、関数電卓１０が記憶する行列データの数も５個に限らない。
【００４０】
これにより、本実施形態の関数電卓１０の表示部１５であっても、入力された演算式に含まれる行列をユーザに非常に分かり易く表示することができる。
【００４１】
なお、前記実施形態において記載した関数電卓１０による各処理の手法、すなわち、図４、図５のフローチャートおよび図６、図７の表示動作で示す行列演算処理は、何れもコンピュータに実行させることができるプログラムとして、メモリ・カード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記憶媒体１６に格納して配布することができる。そして、各種の計算機能を備えた電子式計算機のコンピュータは、この外部記憶媒体１６に記憶されたプログラムを記憶領域（ＲＯＭ）１５，（ＲＡＭ）１９に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した操作手順記憶／変更／再実行機能を実現し、前述した手法による同様の処理を実行することができる。
【００４２】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワーク上を伝送させることができ、このプログラムデータを、ネットワークに接続された各種の計算機能を備えた電子式計算機のコンピュータに取り込むことで、前述した操作手順記憶／変更／再実行機能を実現することもできる。
【００４３】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【図面の簡単な説明】
【００４４】
【図１】本発明の行列計算機の実施形態に係る関数電卓１０の外観構成を示す正面図。
【図２】前記関数電卓１０の電子回路の構成を示すブロック図。
【図３】前記関数電卓１０のメモリに記憶される行列データの構成を示す図。
【図４】前記関数電卓１０による行列データ登録処理を示すフローチャート。
【図５】前記関数電卓１０による行列演算処理を示すフローチャート。
【図６】前記関数電卓１０の行列データ登録処理、行列演算処理に伴うキー操作と表示部１８に表示される表示状態を示す図。
【図７】前記関数電卓１０の行列演算処理に伴う表示形態の変形例を示す図。
【符号の説明】
【００４５】
１０  …関数電卓
１１  …キー入力部
１２  …数値・四則演算記号キー群
１３  …関数機能キー群
１４  …行列演算モード指定キー
１５  …メニューキー
１６  …アルファベットキー
１７  …カーソルキー
１８  …表示部
１９  …ドットマトリクス表示部
２０  …シンボル表示部
２１  …ＣＰＵ
２２  …記憶装置
２３  …ＲＡＭ
２４  …表示データメモリ
２５  …行列データメモリ
Ｃｕ  …カーソル
【図１】
2009140377.tif 000003
【図２】
2009140377.tif 000004
【図３】
2009140377.tif 000005
【図４】
2009140377.tif 000006
【図５】
2009140377.tif 000007
【図６】
2009140377.tif 000008
【図７】
2009140377.tif 000009