ベクトル・マトリクスの演算子

ベクトル以外の演算子

演算子においてはint, float, string などではC,C++などとほぼ同じなので解説は省略して ここではベクトル・マトリクスの演算子について述べる。

ベクトルの演算子

ベクトル(vector)には以下の演算子が使用できる。

+
プラス
-
マイナス
*
int, floatとのはスカラー積、ベクトル同士は内積
/
除算
%
剰余
^
外積
||, &&, !
論理演算子
==, !=, >, <, >=, <=
関係演算子

その他、 +=, -=, *=, /=, %=, &= も使用できる。

+, -, /, % は各項ごとに演算する。

vector $v1 = <<1, 2, 3>> + <<4, 5, 6>>; // <<5, 7, 9>>
vector $v2 = <<6, 5, 4>> - <<3, 2, 1>>; // <<3, 3, 3>>
vector $v3 = <<9, 4, 6>> / <<3, 2, 4>>; // <<3, 2, 1.5>>
vector $v4 = <<5, 4, 7>> % <<3, 2, 4>>; // <<2, 0, 3>>
vector $v5 = 3 * <<3, 2, 4>>; // <<9, 6, 12>>
float $val = <<4, 6, 8>> * <<2, 3, 4>>; // 58 ( 内積の結果はfloatになる )
vector $v6 = <<3, 0, 0>> ^ <<0, 4, 0>>; // <<0, 0, 12>>
if(<<1, 2, 3>> && 1); // True
if(<<0, 0, 0>> || 0); // False
if(! <<0, 0, 0>>); // True
if(<<1, 2, 3>> == <<3, 2, 1>>); // False
if(<<1, 2, 3>> == <<1, 2, 3>>); // True
if(<<1, 2, 3>> >= <<3, 2, 1>>); // True
if(<<0, 0, 4>> > <<3, 2, 1>>); // True

マトリクスの演算子

マトリクス(matrix)には以下の演算子が使用できる。

+
プラス
-
マイナス
*
乗算

その他、 +=, -=, *= も使用できる。

+, - は行と列の数が合致していなくてはならない。
* では左のマトリクスの列と、右のマトリクスの行の数が合致していなくてはならない。

matrix $mat1[1][4] = <<1, 2, 3, 4>> + <<5, 6, 7, 8>>; // <<6, 8, 10, 12>>
matrix $mat2[1][4] = <<8, 7, 6, 5>> - <<4, 3, 2, 1>>; // <<4, 4, 4, 4>>
matrix $mat3[2][4] = <<1, 2, 3, 4;
                       5, 6, 7, 8>>;
matrix $mat4[4][3] = << 1,  2,  3;
                        4,  5,  6;
		        7,  8,  9;
		       10, 11, 12>>;
matrix $mat5[2][3] = $mat3 * $mat4; // << 70,  80,  90;
                                         158, 184, 210>>

参考


prev | next
Home | Contents
Mail