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 です. |
指数関数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]])でもいいみたい. |
三角関数 sin( ), cos( ), tan( ) |
角度の単位はラジアンとして, 三角関数の sin( ), cos( ), tan( ) も使えるようです. |
整数部分を抜き出す関数floor() |
小数点以下を切り捨て,整数部分を抜き出す関数はfoor( )です. floor(4.82)=4 となります. 言い換えると,その数を超えない最大の整数のことです. |
【更新】 一様分布の乱数を発生させる 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に乱数が代入されます. |
【訂正】 範囲指定は project(x,["r",m,n]) です |
m番目からn番目まで範囲(range)を指定して射影をとるのは, project(x, ["r",m,n])でした."r"が必要です. <教科書p.154の記述は誤りです> 例:"r"があると,m番目からn番目まで抽出されます. y:=project([5,6,7,8,9],["r",2,4]) とすると,y=[6,7,8]となります. 例:"r"がないときは,m番目とn番目が抽出されます. y:=project([5,6,7,8,9],[2,4]) とすると,y=[6,8]となります. |
invproject(- , x, "l")の l は小文字のエル |
教科書 p.155「図表4.5つづき」の第2行の中にある, 関数invprojectは値xの位置をすべて求めます. A=[1,2,7,7]のとき,invproject(A , 7, "l")の値は,[3,4]です. ただし,invproject(- , x, "l")の l は,数字の1ではありません. 返り値がリストlistなので, その頭文字のアルファベットの小文字のエルです. 間違いではありませんが,間違えやすいので書いておきます. |
【追加】 部分行列を抜き出す projectMatrix |
書式 N:=projectMatrix(M,x1,y1,x2,y2) 意味 行列Mのセル(x1,y1)からセル(x2,y2)までの長方形の部分行列Nを作成する. 例 N:=projectMatrix([[1,2,3],[4,5,6],[7,8,9]],2,2,3,3) のとき,N=[[5,6],[8,9]] となる. |
【追加】 行列の値を変更する replaceMatrix |
書式 N:=replaceMatrix(M,[[x1,y1,v1],[x2,y2,v2],...]) 意味 行列Mのxi行yi列の値をviに変更した行列Nを作成する. 例 N:=replaceMatrix[[1,1,1],[2,2,2],[3,3,3]],[[1,2,3],[2,3,4],[3,1,7]] のとき,N=[[1,3,1],[2,2,4],[7,3,3]] となる. |