モデル記述言語CASTの「算術関数」  本家のブログから収集しました. 追加  ーーーーーーーーーーーーーーーーーーーー   mのn乗はpow(m,n), 平方根はsqrt(m) 使い方  x:=pow(m,n)で,mのn乗がxに代入されます.    例)pow(2,3)=8 です.  x:=sqrt(m)で,mの平方根がxに代入されます.    例)sqrt(2)=1.4142 です. 追加  ーーーーーーーーーーーーーーーーーーーー   一様分布の乱数を発生させるmyrandom(r) 説明  myrandom(r)で,変数rに0以上1未満の数がランダムに代入されます. 一様分布になります. 使い方(これだけは特殊です)  小数点以下を切り捨てる関数floorとかけ算を使うと,たとえば,   myrandom(r),   x:=floor(7*r)+1, で,変数xに1から7までの整数がランダムに代入されるでしょう. ### 関数にしたければ,ユーザ関数randを作ります. func([rand]); rand()=r <-> myrandom(r); こうしておけば,r:=rand()でrに乱数が代入されます. 追加  ーーーーーーーーーーーーーーーーーーーー   指数関数exp(x)と対数関数log(x) 底(てい)がe=2.718281..のときの指数関数と対数関数(自然対数)です. y=exp(x)は,eのx乗をyに代入します. y=log(x)は,eを何乗したらxになるかを求め,yに代入します. xはリスト(例 x=[[10,20],[30,40]])でもいいみたい. 追加  ーーーーーーーーーーーーーーーーーーーー   整数部分を抜き出す関数floor() 小数点以下を切り捨て,整数部分を抜き出す関数はfoor( )です. floor(4.82)=4 となります. 言い換えると,その数を超えない最大の整数のことです. 教科書p.152図表4.3に追加してもいいかも. 追加  ーーーーーーーーーーーーーーーーーーーー   三角関数 sin( ), cos( ), tan( ) あと,角度の単位はラジアンとして, 三角関数の sin( ), cos( ), tan( ) も使えるようです. 正誤  ーーーーーーーーーーーーーーーーーーーー   invproject(- , x, "l")の l は小文字のエル 教科書 p.155「図表4.5つづき」の第2行の中にある, 値xの位置をすべて求める関数の invproject(- , x, "l")の l は,数字の1ではありません. 返り値がリストlistなので, その頭文字のアルファベットの小文字のエルです. 間違いではありませんが,間違えやすいので書いておきます. A=[1,2,7,7]のとき,invproject(A , 7, "l")の値は,[3,4]です.