Wednesday 30 November 2011

scilab help browsing #1

scilab の help コマンドを順に見ていって勉強という試み.

Boolean variables.
例えば
[1,2]==[1,4]
とすると,
T F
が返される.また
a=[1,2;3,4]==[1,5;2,4]
とすると,
a=
  T F
  F T 
 となる.ここで b=~a とすると
b=
 F T
 T F
なお,c=zeros(2,2); c~=a とすると結果は ans = F.
and は &, or は |, not は ~ で表される. C++と微妙に紛らわしい.
また,TやFは演算上 1,0 と同じ結果になるようだが,先程の例で
b==[0,1;1,0]
 には F が返される. 
また,他の使い方として( help より抜粋),
"For instance a([%T,%F,%T],:) returns the submatrix made of rows 1 and 3 of a. "

_____________________________________________________________
matrix の extraction.
さっきの最後の例で おっ とおもって help を探ってみると,やっぱりベクトル使って成分指定もできた.
a=2:2:200;
b=[2,4,6];
c=a(b)
 は
c=
  4. 8. 12.
 を返す.ついでに, c=[b;b] は [2,4,6;2,4,6] と一緒になる.
______________________________________________

continue
for 文や while 文の途中で,その loop の残りを飛ばして次の itelationに行きたい場合.
例えば
for k=1:20,
     if modulo(k,2)==0 then continue;
     end;
k
end;
 で,奇数が順に表示される.この場合は else とか ~ で代用ができるけど,場面によっては便利に使えそうである.
_______________________________________________________
こっからは短いのでまとめて.

edit(functionname[,linenumber])
で関数を編集できる.やってみたら今の環境では scinotes が立ち上がった.
ショートカットとして便利かも?しかしエディタ使ってるなら別に要らん気もする

exists (name[,where])
で変数が定義されてるかのチェック.定義されてたら1,なかったら0 を返す.
option で  'l' (local), 'n' (nolocal) ,'a' (all) によって場所を指定できる.default は a .

matrix(v,n,m)
行列v をn行m列に組み替える.どっちかの値に -1 を入れると適切な値を当てはめてくれる.
n,mは数字の組かあるいは[n,m]という vector でもいけるようだ.
_______________________________________________________________________________
なんぼか今すぐ使わなさそうなのは飛ばしてる.
ちょろちょろいろんな人と仲良くなりたいものですなー

No comments:

Post a Comment