コンピュータは働きたくて、いつもウズウズしています!   Data + Automation = Datamation
TEXT_SIZE

203 汎用行列乗算プログラム

汎用行列乗算プログラムは、多変量解析では欠かすことの出来ない行列と行列の乗算する場合に使用します。
下図のように、2種類の行列が必要です。

サンプルデータ

203 汎用行列乗算プログラム サンプルデータ


操作手順

アドイン接続を終え、メニューの「汎用行列乗算」をクリックすると、次のように設定画面が表示されます。

203 汎用行列乗算プログラム 設定画面

行列A範囲

1つ目の行列を範囲指定します。
ここでは上図の青色の行列を範囲指定しています。
なお範囲選択できるのは最大で、100行×100列です。

行列B範囲

2つ目の行列を範囲指定します。
ここでは上図の緑色の行列を範囲指定しています。
なお範囲選択できるのは最大で、100行×100列です。

A行列とB行列のラベル

先頭の行・列のデータラベルを含めて範囲選択をした場合は、「A行列とB行列のラベル」部分で「共にあり」を選択します。
なお行列Aのみ、行列Bのみで別々な設定はできません。

掛算の種類

どのように行列の掛け算を行うのかを1つ選択します。

  • A*B
  • 転置A*B
  • A*転置B
  • 転置A*転置B

ここでは、「A*B」を選択しています。

出力先

出力を開始したいセル1か所を選択します。

設定が済んだら、「開始」ボタンをクリックします。

ここで設定画面を閉じるには、「中止」ボタンをクリックします。

なおデータの範囲選択において、データラベルの有無に誤りがあるなどの場合は、次のようなエラーメッセージが表示されることがあります。
「OK」ボタンをクリックして、もう一度データの範囲指定や、データの準備からやり直します。

203 汎用行列乗算プログラム エラーメッセージ

また行列と行列の掛け算においては、行列Aの列数行列Bの行数が等しくないと計算できないというルールがあります。

転置行列とは、基の行列から行と列を入れ替えた行列を指します。

よってこのサンプルデータの行列A・Bについては、「転置A*B(転置行列Aの列数=4、行列Bの行数=5)」や「A*転置B(行列Aの列数=5、転置行列Bの行数=4)」の種類を選ぶことができません。
このとき、次のようなエラーメッセージが表示されます。
「OK」ボタンをクリックして、もう一度データの範囲指定や、データの準備からやり直します。


出力結果

203 汎用行列乗算プログラム 出力結果


参考

計算方法は、次の通りです。

X(i,j) = ΣA(i,k) * B(k,j)  


アドインプログラム販売価格: ¥1,000.-(税込)   
※販売のみを行っております。ご質問対応等のサポート及び改変は承っておりません

ご注文はこちらから。別途、注文フォームが開きます。


VBAソースコード販売価格: ¥30,000.-(税込)
※コードの内容は、上記標準版の内容の通りです
※サポート・ご質問の対応・改変のご依頼を承ることはできません

VBAソースコードを注文する


▲動作環境・アドイン接続方法など▲

動作環境

日本語版Windows用 日本語版Microsoft Excel2003以降(推奨)が快適に動作するパソコン。
Excelのアドイン「分析ツール-VBA」のアドイン接続を必ず行い、マクロを使用可能にして下さい。
その他は、Microsoft Excelの仕様に基づきます。

なおMicrosoft社によるサポートが終了したバージョンのExcelを使用したときのいかなる障害・損害・不便などにおきましては、当方では責任を負いかねます。
予めご了承ください。

アドイン接続方法・
ソフトウェア使用許諾

addman03     addman07

※Excel2016・2019も右側の「Excel2007・2010・2013用」をお選びください
※Microsoft365も対応しておりますが、インストール版を対象としております。Web版は非対応です。

    get adobe_reader

マクロが実行できないときにご確認ください https://faq.mypage.otsuka-shokai.co.jp/app/answers/detail/a_id/314030

当商品のような、インターネットからダウンロードしたExcelのファイルについて、マクロが実行できない仕様になっているようです。

マクロを有効化する方法が記されています。お試しください。

※カスタマイズは対応不可となりました(2019年1月)

Excel用アドインプログラム