Google

Go to the first, previous, next, last section, table of contents.


newvect

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.