FreeMat v4.0日本語ドキュメントFreeMat関数

 

ドキュメント目次

  • pcode  P-Codeへの変換
  • tic  ストップウォッチタイマースタート
  • clock  現在の時刻を取得
  • clocktotime  時刻をエポック時間に変換
  • toc  ストップウォッチタイマーストップ
  • jitcontrol  JITコンパイラを制御
  • helpwin  オンラインヘルプウィンドウの起動
  • pathtool  パスツールの起動
  • help  オンラインヘルプ
  • mfilename  現在の関数のm-ファイル名
  • computer  FreeMatが動作しているコンピュータのシステム情報
  • simkeys  キー操作によるシミュレーション
  • errorcount  エラーカウンター
  • version  現在のバージョン
  • verstring  現在のバージョンの文字列
  • eval  文字列の実行
  • diary  ログファイルの作成
  • evalin  ワークスペース上で文字列の実行
  • assignin  ワークスペース上で変数の割り当て
  • quiet  実行の冗長度をコントロール
  • source  任意ファイルの実行
  • builtin  組み込み関数の実行
  • feval  関数の実行
  • docli  コマンドラインインターフェースの開始
  • startup  スタートアップ時のstartup.mプログラムの実行
  • quit  FreeMatの終了
  • typerules  型のルール
  • editor エディタウィンドウの起動
  • edit  エディタウィンドウの起動
  • sleep  指定秒のスリープ
  • clc  ディスプレイのクリア
  • etime  経過時間関数
  • addpath  パスの追加
  • exit  FreeMatの終了
  • filesep  ディレクトリを分離するキャラクタ
  • path  パスの閲覧・設定
  • pathsep  ディレクトリを分離するキャラクタ
  • rehash  キャッシュのリハッシュ
  • rescan  mファイルの変更の再スキャン
  • blaslib BLASライブラリの選択
  • profiler  プロファイリングの制御
  • rootpath FreeMatルートパスの設定 

---------------------------------------------------------------------------------------------
pcode P-codeへの生成

 [構文]

 pcode fun1 fun2 ...

mファイルの内容を隠蔽するp-codeを作成します。作成ファイルは
カレントディレクトリに置かれます。

---------------------------------------------------------------------------------------------
tic ストップウォッチタイマースタート

  [例]

--> A = rand(100);
--> b = rand(100,1);
--> tic; c = A\b; toc

ans =

0.1110

---------------------------------------------------------------------------------------------
clock 現在の時刻を取得
現在の日付・時刻をベクトル形式で返します。

  [構文]

 y = clock

出力yは次のようなフォーマットになります。

 y = [年 月 日 時間 分 秒]

  [例]
--> clock

ans =

1.0e+03 *

2.0070 0.0090 0.0220 0.0220 0.0060 0.0423


---------------------------------------------------------------------------------------------
clocktotime 時刻をエポック時間に変換

このコマンドは、経過時間を計算する際に最も有益です。コマンドclock
の結果を与えられるとこれをエポック時間(秒)に変換します。 
  [構文] 
  y = clocktotime(x)
入力xは次のようなフォーマットになります。
  x = [年 月 日 時間 分 秒]


  [例]
--> x = clock

x =

1.0e+03 *

2.0070 0.0090 0.0220 0.0220 0.0060 0.0429

--> sleep(1)
--> y = clock

y =

1.0e+03 *

2.0070 0.0090 0.0220 0.0220 0.0060 0.0439

--> clocktotime(y) - clocktotime(x)

ans =

1.0010

---------------------------------------------------------------------------------------------
toc ストップウォッチタイマーストップ

  [例]

--> A = rand(100);
--> b = rand(100,1);
--> tic; c = A\b; toc

ans =

2.0000e-03


-------------------------------------------------------------------------------------------
jitcontrol JITコンパイラを制御

FreeMatはJITコンパイラを使用しています。


-------------------------------------------------------------------------------------------
helpwin オンラインヘルプウィンドウの起動

  [構文] 
  helpwin

-------------------------------------------------------------------------------------------
pathtool パスツールの起動

  [構文]

  pathtool


-------------------------------------------------------------------------------------------
help オンラインヘルプ

オンラインヘルプをコマンドウィンドウに表示させます。表示する内容は関数のスクリプトファイルのトップに書かれた説明です。helpwinで表示されるものとは若干異なります。

  [構文]

  hlep

-------------------------------------------------------------------------------------------
mfilename 現在のmファイル名を返します

  [構文]

 y = mfilename

-------------------------------------------------------------------------------------------
computer 現在動作しているコンピュータのシステムの情報

 [構文]
 str = computer
 現在以下の3つの返値が用意されています。
  • 'PCWIN' - MS Windows
  • 'MAC' - Mac OS X
  • 'UNIX' - All others


-------------------------------------------------------------------------------------------
simkeys キー操作によるシミュレーション

  [構文]

otext = simkeys(text)



-------------------------------------------------------------------------------------------
errorcount エラーカウンターの表示

  [構文]

 count = errorcount




-------------------------------------------------------------------------------------------
version 現在のバージョン
  [構文]

 v = version


 [例]

--> version

ans =

3.5


-------------------------------------------------------------------------------------------
verstring 現在のファージョンの文字列
  [構文]

 version = verstring
  [例] 
--> verstring

ans =

FreeMat v3.5


-------------------------------------------------------------------------------------------
eval 文字列の実行
  [構文]

 eval(s)
 eval(try_clause,catch_clause)  ※ 例(3)を参照
  [例]

(1)

--> eval('a = 32')

a =

32

--> b = eval('a')

b =

32


(2)

--> s = ['b = a' ' + 2']

s =

b = a + 2

--> eval(s)

b =

34

(3)  try-cathc構文の適用例

--> a = 32

a =

32

--> b = eval('a','1')

b =

32
※ aという実行コマンドがエラーでないからそのままaが実行された。

--> b = eval('z','a+1')
In base(base) on line 0
In simkeys(built in) on line 0
In Eval(b = eval('z','a+1')) on line 1
In eval(built in) on line 0
In Eval(t___0 = z;) on line 1

b =

33

※ zというコマンドが実行できずエラーとなったためa+1が実行された


-------------------------------------------------------------------------------------------
diary ログファイルの作成
コンソール(コマンドウィンドウ)に表示されるテキストのログファイルを作成します。
 [構文]

 diary 
 diary on
 diary off
 diary filename

通常本コマンドで生成されるログファイルの名称は「diary」ですが、
ファイル名を指定することもできます。またログをとるとらないの
設定も可能です。

-------------------------------------------------------------------------------------------
evalin ワークスペース上での文字列の実行
本コマンドはコマンドevalに似ていますが、実行する文字列のワークスペースを指定できることが異なります。つまり関数mファイルでの実行において有益です。

  [構文]

 evalin(workspace,expression)
x = evalin(workspace,expression)
[x,y,z] = evalin(workspace,expression)
evalin(workspace,try_clause,catch_clause)
x = evalin(workspace,try_clause,catch_clause)
[x,y,z] = evalin(workspace,try_clause,catch_clause)

ここでのworkspaceには、'caller' もしくは 'base'の文字列が入ります。ここで指定されたワークスペース上で文字列が実行されます。

-------------------------------------------------------------------------------------------
assigin ワークスペース上での変数の割り当て

  [構文]

 assignin(workspace,variablename,value)

ここでのworkspaceには、'caller' もしくは 'base'の文字列が入ります。ここで指定されたワークスペース上の変数に値が割り当てられます。

  [例]

--> assignin('base','a',1000)
--> a

ans =

1000

-------------------------------------------------------------------------------------------
quiet 実行の冗長度をコントロール

 [構文]

  quiet
  quiet flag

flagには以下のものの1つを設定します。

  • 'normal'  通常の出力
  • 'quiet'   意図した出力のみ表示-(例えばprintfやdispのみ)
  • 'silent'  何も出力しない

また、コマンドquietのみの実行では現在のflagを返します。

  [例]

--> quiet silent
--> ls
-->
※ 何も表示されていない、ことが確認できます。
-------------------------------------------------------------------------------------------
source 任意ファイルの実行

与えられたファイル名の内容を実行します。

  [構文]

 source(filename)
  [例] 
source_test  ※これはmファイルでないことに注意
a = 32;
b = a;
printf('a is %d and b is %d\n',a,b);
実行例
--> clear a b
--> source source_test
a is 32 and b is 32


-------------------------------------------------------------------------------------------
builtin 組み込み関数の実行

  [構文]
 [y1,y2,...,yn] = builtin(fname,x1,x2,...,xm)

fnameは実行するファイル名です。本コマンドはfevalと全く同じ動作をします。


------------------------------------------------------------------------------------------- feval 関数の実行

  [構文]
 [y1,y2,...,yn] = feval(f,x1,x2,...,xm)

fは関数および関数ハンドルです。xiは入力引数。
  [例]

--> feval('cos',pi/4)

ans =

0.7071
関数ハンドルを用いると 
--> c = @cos

c =

@cos

--> feval(c,pi/4)

ans =

0.7071

インライン関数を用いると

--> afunc = inline('cos(t)+sin(t)','t')

afunc =
inline function object
f(t) = cos(t)+sin(t)
--> feval(afunc,pi)

ans =

-1.0000

--> afunc(pi)

ans =

-1.0000


-------------------------------------------------------------------------------------------
docli コマンドラインインターフェースの開始
  [構文]
  docli

-------------------------------------------------------------------------------------------
startup スタートアップ時のstartup.mプログラムの実行

スタート時にFreeMatはstartup.mのスクリプトを探しこれを実行します。本ファイルはパスの通っている場所に置かなくてはなりません。

------------------------------------------------------------------------------------------- quit FreeMatの終了

FreeMatアプリケーションを終了します。
  [構文]
  quit

-------------------------------------------------------------------------------------------
typerules 型のルール

FreeMatはC言語の型のルールを拡張したものに従います。そのルールは以下の通りです。

 ・ 整数はint32型を使用します(配列や除算の操作を除きます)
 ・ 浮動小数点の型と複素数の型の演算は、複素数の型を出力します。

 ・ double型もしくはint型およびdcomplex型の演算はdecomplex型を出力します。

 ・ 引数の型は、一番大きい型が使用されます。

 ・  型の変更は、情報の欠落を許されていません。しかし、唯一64bitの整数型から64bitのdouble型へ変更された場合は、欠落してしまいます。

-------------------------------------------------------------------------------------------
editor エディタウィンドウの起動

 
  [構文] 
  editor


-------------------------------------------------------------------------------------------
edit エディタウィンドウの起動

  [構文] 
 edit file1 file2 file3
 

-------------------------------------------------------------------------------------------
sleep 指定秒のスリープ

  [構文] 
 sleep(n)


nは秒。n秒間実行を停止します。


-------------------------------------------------------------------------------------------
clc ディスプレイのクリア

  [構文] 
  clc


-------------------------------------------------------------------------------------------
etime 時間経過関数

  [構文] 
 y = etime(x1,x2)

x1、x2の経過時間を計算します。これらのフォーマットは

 x = [年 月 日 時間 分 秒]

 です。

  [例]

--> x1 = clock;
--> sleep(1);
--> x2 = clock;
--> etime(x2,x1);


-------------------------------------------------------------------------------------------
addpath パスの追加

  [構文] 
 addpath('directory')
 addpath('dir1','dir2',...,'dirn')
 addpath('dir1','dir2',...,'dirn','-flag')
 
flagは、
'-0'もしくは'-begin'ならばパスの最初に追加されます。また、
'-1'もしくは'-end'ならばパスの最後に追加されます。  



-------------------------------------------------------------------------------------------
exit FreeMatの終了

  [構文] 
  exit


-------------------------------------------------------------------------------------------
filesep ディレクトリを分離するキャラクタ

 
  [構文] 
 x = filesep


通常windowsでは、「 \(フォーワードスラッシュ)」になります。

--> pwd

ans =

 C:/Program Files/FreeMat3.5


-------------------------------------------------------------------------------------------
path パスの閲覧・設定

  [構文]
 x = path		※現在のパス設定の閲覧
 path('thepath')	※パス設定の変更
 path(path,'newpath')	※パスの追加(末尾に追加)
 path('newpath',path) ※パスの追加(先頭に追加)


-------------------------------------------------------------------------------------------
pathsep ディレクトリを分離するキャラクタ

  [構文]
   x = pathsep

通常windowsでは、「 ;(セミコロン)」になります。

-------------------------------------------------------------------------------------------
rehash キャッシュのリハッシュ

通常、FreeMatは自動的にmファイルの変更を認識しますが、時々
強制的にこれを認識される必要があります。これが本コマンドの役割です。 
  [構文] 
  rehash


-------------------------------------------------------------------------------------------
rescan mファイルの変更の再スキャン

  [構文] 
  rescan

 

rehashと同じ動作を行います。

 -------------------------------------------------------------------------------------------
blaslib BLASライブラリの選択

この関数はFreeMatで使用されるBLASのライブラリを選択可能にする。
 
  [構文] 
blaslib LIB_NAME
 
blaslib
(現在選択されているBLASライブラリを返り値とします)
 
  [例] 
--> blaslib
ans =
Internal reference BLAS. Unoptimized
 

---------------------------------------------------------
profiler プロファイリングの制御

  [構文] 
    profiler on
    profiler off
    profiler list symbol1 symbol2...
    profiler
 
  [例] 
--> profiler list
50.000% clc (built-in)
50.000% docli:1 

----------------------------------------------------------
rootpath FreeMatルートパスの設定

  [構文] 
  rootpath
  rootpath(path)
  [例] 
--> rootpath('C:/Program Files/FreeMat/bin/../')
ans =
C:/Program Files/FreeMat