command_nameと打ち込むと、command_nameに関するヘルプが表示される。以下の例において不明なコマンドについては、docを使ってヘルプを参照すれば良い。†Matlabでは、上記のようにコマンドプロンプトからコマンドを一行一行打ち込むことも可能であるが、複雑な処理を何度も繰り返す場合、これでは効率が悪い。コマンドはファイルに一括して記述し、それをまとめて実行することが可能である。Matlabスクリプトはさらに、セルという実行単位に分割することが可能である。2c=sin(3);というようなファイルがある場合、行頭の%%から、次のまでが一つのセルとなる。1"等の文字列は無視される。セルを用いると、各セルだけを実行させることが可能になる。Matlabのエディタ上で、セルの中にカーソルを置いて、Ctrl+Enterを押すと、そのセルだけがMatlabインタプリタに送られ、実行される。これは、スクリプトの一部だけを実行したい場合に便利である。†まずは、解析すべきデータをMatlabに読み込まなければならない。ブラウン運動でセーブしたデータは、カンマ区切りのテキストファイルになっている。データファイルのファイル名がdatafile.datであった場合、>>d=dlmread('datafile.dat');で、データファイルの中身が変数dに読み込まれる。datafile.datが抵抗の熱雑音を測った結果だとすると、ファイルの中身は2列であり、1列目が時間、2列目が電圧である。変数dもN行x2列の行列で、Nは測定されたデータ点数である。時間と電圧のデータを取り出す。平均と分散はMatlabのmean()とvar()コマンドを使えば良い。†vのヒストグラムは、>>hist(v,30)でプロットできる。ここで、30はBin数である。vのサンプル数に応じて変えてみると良い。ヒストグラムのデータは、>>[n,x]=hist(v,30);とすることで、nとxに代入される。xは各Binの中央値、nは度数である。>>plot(x,n);を実行すればnとxの意味がわかるはずである。熱雑音の電圧は、一般にガウス分布にしたがう。よって、得られたヒストグラム[n,x]をガウス分布でフィッテイングしたくなる。Matlabにおいて、フィッティングを行うにはいくつかの方法がある。線形フィッティングの場合、polyfit()やpolyval()を使えば良い。ガウス分布は非線形関数である。Toolboxを使うのが一般的であるが、ここではこうしたToolboxを必要としない方法を紹介する。以下がサンプルプログラムである。いう三つのパラメータで特徴付けられる。p0という変数にはこの三つのパラメータの初期値がベクトルの形で代入されている。n1はp0をパラメータとしたときのガウス分布を計算したものである。testfun=@(p)sum((n-p(1)*exp(-(x-p(2)).^2/p(3)^2)).^2);という部分は、最小化したい関数を定義している。functionと呼ばれて、簡単に関数を定義するための書式である。この関数では、xの各点で実測データnと、パラメータpを用いて計算されたガウス分布の差を取って、二乗した後に全点の和を取っている。この関数を最小化するようなpを見つけることが我々の目的である。popt=fminsearch(testfun,p0);この部分では、Matlabのfiminsearch関数を用いてtestfun(p)を最小化するようなpを、p0を初期値として求めている。これがFittingの本体である。あとは、求められた最適パラメータpoptの検証を行っているだけである。