Go to the first, previous, next, last section, table of contents.
- newvect(len[,list])
-
:: 長さ len のベクトルを生成する.
- return
-
ベクトル
- len
-
自然数
- list
-
リスト
-
長さ len のベクトルを生成する. 第 2 引数がない場合,
各成分は 0 に初期化される. 第 2 引数がある場合,
インデックスの小さい成分から, リストの
各要素により初期化される. 各要素は, 先頭から順に
使われ, 足りない分は 0 が埋められる.
-
ベクトルの成分は, 第 0 成分から第 len-1 成分となる.
(第 1 成分からではない事に注意. )
-
リストは各成分が, ポインタを辿る事によってシーケンシャルに
呼び出されるのに対し, ベクトルは各成分が
第一成分からのメモリ上の displacement (変位)によってランダムアクセスで
呼び出され, その結果, 成分のアクセス時間に大きな差が出てくる.
成分アクセスは, リストでは, 成分の量が増えるに従って
時間がかかるようになるが, ベクトルでは, 成分の量に依存せずほぼ一定である.
-
Asir では, 縦ベクトル, 横ベクトルの区別はない.
行列を左から掛ければ縦ベクトルとみなされるし, 右から掛ければ横ベクトルと
みなされる.
-
ベクトルの長さは
size()
によって得られる.
-
函数の引数としてベクトルを渡した場合, 渡された函数は, そのベクトルの成分
を書き換えることができる.
[0] A=newvect(5);
[ 0 0 0 0 0 ]
[1] A=newvect(5,[1,2,3,4,[5,6]]);
[ 1 2 3 4 [5,6] ]
[2] A[0];
1
[3] A[4];
[5,6]
[4] size(A);
[5]
[5] def afo(V) { V[0] = x; }
[6] afo(A)$
[7] A;
[ x 2 3 4 [5,6] ]
- 参照
-
section
newmat
, section size
, section vtol
.
Go to the first, previous, next, last section, table of contents.