ExcelのVBAで2×2複素行列の逆行列を求めるプログラムを作成しました
本日は、ExcelのVBAで2×2複素行列の逆行列を求めるプログラムについて解説したい。ExcelのVBAプログラムは----------Sub Macro1()'' Macro1 Macro'' Keyboard Shortcut: Ctrl+r'Dim a(15, 15), b(15, 15), tmp, tmp1 As VariantN = 2For i = 1 To N For j = 1 To N a(i, j) = Cells(i, j) Next jNext itmp = WorksheetFunction.ImSub(WorksheetFunction.ImProduct(a(1, 1), a(2, 2)), WorksheetFunction.ImProduct(a(2, 1), a(1, 2)))b(1, 1) = a(2, 2)b(1, 2) = WorksheetFunction.ImProduct(-1, a(1, 2))b(2, 1) = WorksheetFunction.ImProduct(-1, a(2, 1))b(2, 2) = a(1, 1)For i = 1 To N For j = 1 To N b(i, j) = WorksheetFunction.ImDiv(b(i, j), tmp) Next jNext iFor i = 1 To N For j = 1 To N Cells(N + 1 + i, j) = b(i, j) Next jNext iEnd Sub---------A1を先頭に2×2行列を入力するとA4:B5に逆行列が出力されますプログラムで作成した逆行列が理論通り計算されているか検証したい。入力した行列は-0.643529499379545+2.02664518302857i,-1.9181862484171-0.235687957177472i-1.4342180598758-0.0235020100407056i,-1.24943342017491-1.16633968749545iです。プログラムを実行するとA4:B5に逆行列が出力されます。セルA7=IMSUM(IMPRODUCT(A1,A4),IMPRODUCT(B1,A5))セルA8=IMSUM(IMPRODUCT(A2,A4),IMPRODUCT(B2,A5))セルB7=IMSUM(IMPRODUCT(A1,B4),IMPRODUCT(B1,B5))セルB8=IMSUM(IMPRODUCT(A2,B4),IMPRODUCT(B2,B5))と入力されていて、2つの行列を掛けると単位行列になっていることがわかると思います。参考にしてください。Excelでマクロを実行するには1.開発タブが無い『ExcelでVBAを使うには(開発タブを表示する)』本日は、ExcelでVBAを使うために開発タブを表示させる方法を解説したい。まず、開発タブが表示されているか確認します。表示されていなければ、「ファイル」…ameblo.jp2.マクロを有効にする『Excelでマクロを有効にするには』本日は、Excelでマクロを有効にする設定変更について解説します。「ファイル」を押します。「オプション」を押します。ポップアップ画面で「トラストセンター…ameblo.jp3.上記ソースコードの使い方『Excelでveq02020のVBAソースコードを使うには』本日は、Excelでveq02020のVBAソースコードを使い方を解説したい。「開発」タブに移動します。「マクロの記録」をクリックします。ポップアップ画…ameblo.jp南京事件 新版 (岩波新書)Amazon(アマゾン)何故、南京事件か余りよくわからなかった。ジョン・コルトレーンのアルバムを紹介したいと思います。ブルー・トレイン (MONO)(通常盤)(UHQCD)(特典:なし)Amazon(アマゾン)唯一のBlue Note録音バラード (UHQCD)Amazon(アマゾン)サックスのバラードは最高!!!カインド・オブ・ブルー+1 - マイルス・デイビスAmazon(アマゾン)ジョン・コルトレーン参加よろしくお願いいたします。以上です!