行列
行列とは
行列とは、実数や複素数を行と列に並べた長方形の配列です。r × c 行列は r 行と c 列からなります。整数 r と c は行列のサイズ(次元)です。行列内の個々の項目を要素と呼びます。r 行 c 列の要素は er,c で表します。
文献では、行列は一般に太字の大文字、たとえば A で表されます。
r × 1 行列は列行列、1 × c 行列は行行列と呼ばれます。1 × 1 行列はスカラーと呼ばれます。行または列が 1 つだけの行列は、ベクトルと呼ばれることもあります。
行数と列数が等しい行列を正方行列と呼びます。
単位行列(恒等行列)とは、主対角線上の要素がすべて 1 で、それ以外の要素がすべて 0 である正方行列です。ある行列に単位行列を掛けても、元の行列は変わりません。
零行列とは、すべての要素が 0 である行列です。
対角行列とは、主対角線上にない要素がすべて 0 である正方行列です。
実数を含む行列と複素数を含む行列を区別するために、実行列または複素行列という用語を用います。
MedCalc スプレッドシートでは、行列は 1 つのセル内に波かっこで囲んだ値のリストとして表されます。同じ行の値はカンマ(またはお使いの地域のリスト区切り記号)で区切り、行と行は縦線で区切ります。たとえば、次の行列
| 5 | 6 | ||
| 7 | 8 |
のテキスト表現は {5,6|7,8} です。
大きな行列で、すべての値を 1 つのセルに表示できない場合、表示できない値は 3 つの点で表されます。たとえば、12 行 12 列の単位行列は、テキストで次のように表されます。
{1,0,0,0,0,0,0,0,0,0,0,0| 0,1,0,0,0,0,0,0,0,0,0,0| 0,0,1,0,0,0,0,0,0,0,0,0| 0,0,0,1,0,0,0,0,0,0,0,0| 0,0,0,0,1,0,0,0,0,0,0,0| 0,0,0,0,0,1,0,0,0,0,0,0| 0,0,0,0,0,0,1,0,0,0,0,0| 0,0,0,0,0,0,0,1,0,0,0,0| 0,0,0,0,0,0,0,0,1,0,0,0| 0,0,0,0,0,0,0,…}
データから行列を作成する
既存のデータから行列を作成するには、次のように { } 演算子を使用します。
スプレッドシートの変数から行列を作成する
{変数リスト} は、スプレッドシート内のすべてのケースについて、複数の変数のデータを含む行列を返します。列数は変数リスト内の変数の数、行数はケースの数です。
var1、var2、var3 がスプレッドシート内の変数である場合、{var1,var2,var3} は
結果の行列には欠損データが含まれる場合があります。空の列と欠損データのある行を削除するには、CLEAN 関数を使用します。
スプレッドシートの範囲から行列を作成する
{範囲} は、指定したスプレッドシート範囲内のすべてのデータを含む行列を作成します。データ範囲には欠損データが含まれていてもかまいません。
{a1:b20} は、スプレッドシートのセル A1 から B20 までのデータを含む 20 × 2 行列を作成します。
データリストから行列を作成する
{v11, v12, … | v21, v22, …} は、引数リストに列挙したデータを含む行列を返します。同じ行の要素はカンマ(またはお使いの地域のリスト区切り記号)で区切り、行と行は縦線 | で区切ります(便宜上、行区切りとして ! または \ も使用でき、MedCalc が自動的に | に変換します)。
行列には欠損データが含まれていてもかまいません。データリストの項目には、数値またはセル参照を指定できます。
{5,6|7,8} は、次の 2 × 2 行列を作成します。
| 5 | 6 | ||
| 7 | 8 |
{5,6|7,8,9} は、次の 2 × 3 行列を作成します。
| 5 | 6 | |||
| 7 | 8 | 9 |
空の行を指定するには、スペースで区切った 2 本の縦線 | | を使用します。例:{5,6| |7,8,9}
| 5 | 6 | |||
| 7 | 8 | 9 | ||
MedCalc のセル内のテキストの長さは約 250 文字に制限されているため、この方法で大きな行列を作成することはできません。
基本的な数学演算
| 符号の反転 | |
| −A | 行列の前にマイナス記号を付けると、各要素の符号が反転します。 |
| 行列と実数の乗算または除算 | |
| A * r | 行列 A の各要素に実数 r を掛けます |
| A / r | 行列 A の各要素を実数 r で割ります |
| 行列と実数の加算または減算 | |
| A + r | 行列 A の各要素に実数 r を加えます |
| A − r | 行列 A の各要素から実数 r を引きます |
| 行列の加算または減算 | |
| A + B | 2 つの行列の対応する要素を加算します。行列のサイズが同じでなければなりません (*) |
| A − B | 2 つの行列の対応する要素を減算します。行列のサイズが同じでなければなりません (*) |
| 要素ごとの乗算 | |
| A &* B | 2 つの行列の対応する要素を乗算します。行列のサイズが同じでなければなりません (*) |
| 要素ごとの除算 | |
| A &/ B | 行列 A のすべての要素を、行列 B の対応する要素で割ります。行列のサイズが同じでなければなりません (*) |
| 行列の乗算 | |
| A * B | A が
$$ (\mathbf{A}\mathbf{B})_{ij} = \sum_{k=1}^m A_{ik}B_{kj} $$
行列の乗算では、1 つ目の行列の列数が 2 つ目の行列の行数と等しくなければなりません |
| 行列の除算 | |
| A / B | 行列 A に行列 B の逆行列を掛けます |
(*) 一方の行列が
個々の要素、行、列へのアクセス
個々の要素、行、列には、INDEX 関数を使用してアクセスできます。
たとえば、セル A1 に行列 {4,5,6|7,8,9} が含まれている場合、
INDEX(A1,2,2) は 8 を返します
INDEX(A1,0,2) は、A1 の行列の 2 番目の列である列行列 {5|8} を返します
INDEX(A1,2,0) は、A1 の行列の 2 番目の行である行行列 {7,8,9} を返します
また、次の構文も使用できます:A1[r,c]
A1[2,2] は 8 を返します(この数式はセルアドレスで始まるため、スプレッドシートでは数式の前に = 記号を付ける必要があります)。
行列関数
MedCalc には、行列の作成、列と行の削除と追加、行列の性質、行列の演算と変換、および連立一次方程式のための多数の関数が用意されています。
行列関数を参照してください。
行列に対する数学関数
次の関数は、引数として行列またはデータ範囲を受け付け、その場合は結果として行列を返します。
数学関数を行列に適用すると、その関数は行列の個々の要素すべてに適用されます。
数学関数:
三角関数:
2 つの引数を必要とする関数(Power、Mod、Round、RandNorm、Atan2 など)では、両方の引数が行列の場合、それらの行列の行数と列数が同じでなければなりません。
行列に対する統計関数
次の統計スプレッドシート関数のいずれかを行列に適用すると、行列の対応する各列のデータの統計量を含む行ベクトルが返されます。
次の関数は実行列に使用できます。
AVEDEV, AVERAGE, COEFVAR, COUNT, COUNTNEG, COUNTPOS, GEOMEAN, HARMEAN, MAX, MEDIAN, MIN, PERCENTILE, PERCRANK, SEM, STDEV, SUM, SUMNEG, SUMPOS, SUMSQ, TESTNORM, TrimMean, TrimMeanSEM, TrimMeanLOW, TrimMeanHIGH, VAR
次の関数は、複素数を含む行列に使用できます。
行列に対する統計検定関数
統計検定関数では自由度が整数である必要がありますが、検定値には行列を使用できます。