このページでは関数パッケージの圧縮ファイル中に含まれる各ディレクトリおよびファイルに関して説明を行っています。順次拡充させていく予定です。
[PW,FRQ]=FFTFUN(X,DT)はサンプリング間隔DTの単数列 の時系列信号XのパワースペクトルPWと、対応する周波数 FRQを返します。計算には高速フーリエ変換を用いるため 離散入力Xは2のべき乗個数のみ使用されます。ウィンド ウとしてCOSINE窓が適用されます。 [PW,FRQ]=FFTFUN(X,DT,WINDOW)によりウィンドウの種類 を選ぶことができます。選択可能なウィンドウは以下の 通りです。 'COS':コサイン型ウィンドウ 'TRAP':台形型ウィンドウ 'NONE':ウィンドウ無し [PW,FRQ]=FFTFUN(X,DT,[],SW)はSW=1のとき、無次元化 信号のパワースペクトルを計算します。
[CPW,FRQ]=CFFTFUN(X,DT)はサンプリング間隔DTの二列の 時系列信号XのクロススペクトルCPWと、対応する周波数FRQ を出力します。計算には高速フーリエ変換を用いるため、 離散入力Xは2のべき乗個数が使用されます。ウィンドウは COSINE窓が適用されます。 [CPW,FRQ,K,Q,TH]=CFFTFUN(X,DT)は、コスペクトルK、クオド スペクトルQ、および位相差THを出力します。ここで、各値は K=REAL(CPW)、Q=-IMAG(CPW)、TH=ATAN2(Q,K)により計算されます。 関数ENSEMBLEを使用する場合には、-pi<=TH<=piであることから 平均化されたTHは必ずしも正しくありません。TH=ATAN2(Q,K) または-ANGLE(CPW)により再計算してください。 [CPW,FRQ]=CFFTFUN(X,DT,WINDOW)によりウィンドウの種類を 選択できます。 'COS':コサイン型ウィンドウ 'TRAP':台形型ウィンドウ 'NONE':ウィンドウ無し 参考:FFTFUN, CORFUN
[COR,LAG]=CORFUN(X,DT)はサンプリング間隔DTの列ベクト ルXの相関係数を出力します。ここでXが単数列ベクトルの ときCORには自己相関係数、Xが複数列ベクトルのときCOR には相互相関係数が代入されます。また、対応する時間遅 れLAGが返されます。 [COR,LAG]=CORFUN(X)はサンプリング間隔を1として相関 係数を求めます。 [COR,LAG]=CORFUN(X,DT,DMAX)は時間遅れ・進みの方向に DMAX点ずれた点までを計算します。入力Xが大きいときは DMAXを小さくすることで計算時間を大幅に短縮すること ができます。 [COR,LAG]=CORFUN(X,DT,DMAX,TYPE)はTYPE='FUN'のとき CORに相関関数を出力します。これは入力変数Xの単位の 二乗の単位を有します。TYPE='COE'のときは相関係数を 出力します。
[PY,PX]=PDFFUN(X)は列ベクトルXの無次元化した確率密度関数 (PX,PY)を出力します。PXには[-3.95:0.1:3.95]'を返します。 XがN列のとき、N次元の結合確率密度関数を計算します。この ときPXはN列、PYはN次元となります。 [PY,PX]=PDFFUN(X,PDFSET)はPDFSET=[BIN,DIV]に従ってPDFを 計算します。このときDIVは偶数でなくてはなりません。 [PY,PX]=PDFFUN(X,[],'OFF')はPDFを無次元化しません。
[PX,Q,R]=RPFUN(X)は単数列ベクトルXのPDF型再構成パラメータ Q,Rを出力します。Q,RはそれぞれXの無次元化信号の一階微分の二乗の 条件付き平均、二階微分の条件付き平均です。 PXには[-3.95:0.1:3.95]'を返します。 [PX,Q,R]=RPFUN(X,PDFSET)はPDFSET=[BIN,DIV]に従ってパラメータを 計算します。このときDIVは偶数でなくてはなりません。 [PX,Q,R,RPY]=RPFUN(X)は再構成PDFのRPYを出力します。 [PX,Q,R,RPY,PY0]=RPFUN(X)は通常のPDFであるPY0を付け加えます。 また[PX,Q,R,RPY,PY0,PY1]=RPFUN(X)はデータ長半分を用いたPDFである PY1を返します。 パラメータQ,Rの計算にはフーリエ変換を利用した微分プログラムDIFが 用いられています。関数DIFの特性上、データ中央の離散点数半分しか Q,Rの計算には使用されません。 参考:DIF
[D]=KLDFUN(PY)はPYの中心周り非ゼロ要素のみを使用して カルバックライブラーのダイバージェンス(KLD)を計算します。 計算式はD(P||Q)=SUM(P*LOG(P/Q))です。 出力Dは列方向にP、行方向にQとして格納されます。 [D]=KLDFUN(PY,PX,PXRANGE)は閉区間PXRANGE=[PX0,PX1]にPXが 収まる範囲でKLDを計算します。 ゼロ要素が含まれる場合NaNを出力します。
[CX,LAG]=CONDFUN(X,TH,DIRECTION,DT,DMAX)はDIRECTION=±1に対し、 単数列ベクトルX(:,1)が閾値TH以上/以下となる連続行中で最大/ 最小となる点を中心に±dmax点ずつXを切り出し、平均化した 条件付き平均波形CXを出力します。Xが複数列のとき、CXの1行目 はAuto-CA波形、2行目以降はCross-CA波形となります。時間LAG はサンプリング間隔DTによりCXと対応し、平均化の基準点がLAG=0 となります。 [CX,LAG]=CONDFUN(X,TH,DIRECTION,DT,DMAX,MODE)では平均化の 基準点の決定方法MODEを変更できます。標準ではMODE='PEAK'です。 DIRECTION=±1に対して設定できるMODEは以下の通りです。 'PEAK':最大/最小 'UP':立ち上がり/立ち下がり 'DOWN':立ち下がり/立ち上がり 'MIDDLE':'UP'、'DOWN'の中間点 [CX,LAG,LIN,NUM]=CONDFUN(X,TH,DIRECTION,DT,DMAX)は基準点 の行番号LINとその個数NUMを返します。 [CX,LAG]=CONDFUN(X,TH,DIRECTION,DT,DMAX,MODE,RD,RW)では 連続行の持続行数と基準点同士の間隔をそれぞれRD、RWにより 設定できます。例えばRD=[2,LENGTH(X)]のとき、基準点が1点 のみ閾値以上/以下となる点は除外され、またRW=[2,LENGTH(X)] では基準点2点が1点をはさんで並ぶとき、2点目が除外されます。 これらの設定はXに高周波ノイズが含まれるときに役立ちます。 参考:OVERTH
[PW,PD,LAG]=WDFUN(X,TH,DIRECTION,DT)はDIRECTION=±1に対し、 単数列ベクトルXが閾値TH以上/以下となっている持続時間の分布 PDと、TH以下/以上となっている待ち時間の分布PWを計算します。 また、サンプリング間隔DTを用いて各分布の横軸LAGを返します。 このときPW、PDは規格課されていません。 [PW,PD,LAG]=WDFUN(X,TH,DIRECTION,DT,DMAX)は待ち時間、持続 時間がそれぞれLAG=1:DMAX*DTの分布を出力します。 [PW,PD,LAG]=WDFUN(X,TH,DIRECTION,DT,DMAX,NORMALIZE)はNOR- MALIZEが'ON'のとき、各分布PW、PDを規格化します。 参考:OVERTH
[PHI,LAMBDA]=PODFUN(X,DIM)は多点同時計測された複数列 信号Xの分散共分散行列を作成し、その固有ベクトルPHI と固有値LAMBDAを返します。このとき時系列方向は次元DIM となります。この計算には膨大な計算量を要することに注意 してください。 [PHI,LAMBDA]=PODFUN(X)は時系列方向をXの最大長方向に 設定します。 [PHI,LAMBDA,AI]=PODFUN(X,DIM,MODE)はモードMODEで指定 した基底の時系列信号AIを出力します。 [PHI,LAMBDA,AI,RXF]=PODFUN(X,DIM,MODE)はMODEで指定 した基底を用いて再構成した時系列信号の揺動成分RXFを 返します。 [PHI,LAMBDA,AI,RXF,RX]=PODFUN(X,DIM,MODE)は揺動成分 RXFに平均値を加えた再構成信号RXを返します。MODEが [1:PROD(SIZE(X))/SIZE(X,DIM)]のときXとRXはほぼ等しく なります。 [PHI,LAMBDA,AI]=PODFUN(X,DIM,MODE,TYPE)はTYPE='COE'の とき信号Xの相関行列を固有値分解します。
[PHI,LAMBDA,AI]=SSPODFUN(X,DIM,MODE)は多点同時計測された 複数列信号Xの空間方向に渡っての分散共分散行列を作成し、 その固有ベクトルAIと固有値LAMBDAを返します。このとき 時系列方向は次元DIMとなります。また指定したモードMODEの 空間に渡る基底のPHIを出力します。この計算には膨大な計算量 を要することに注意してください。 参考:PODFUN
[U,S,V]=SVDFUN(X,DIM)は多点同時計測された複数列の信号 Xに特異値分解を適用します。ここで、時系列方向は次元DIM で指定します。時間変数の基底U(クロノ(chrono))、空間の 基底V(トポ(topo))、特異値Sについて、サンプリング点数と 検出地点の数のうち小さい数のモードに分解されます。時間 変数の基底Uは1次元方向を時間方向とし、空間の基底Vは最後 の次元がモードを示します。 [U,X,V,RX]=SVDFUN(X,DIM,MODE)は指定したモードMODEを使用 して再構成した信号RXを出力します。 参考:PDFFUN
[SN,LAG]=STCFUN(X,N,DT)はサンプリング間隔DTの単数列 ベクトルXの次数Nの構造関数SNと、対応する時間遅れLAG を返します。
[COH,FRQ]=COHFUN(NMAX,X,DT)はサンプリング間隔DTの二列 の時系列信号Xのコヒーレンス関数COHと、対応する周波数 FRQを出力します。計算の中でXはNMAX点ずつに分割され、 それぞれにおいて計算されたパワースペクトルPXX,PYY,お よびクロススペクトルPXYをコヒーレンスCOHの計算に用いま す。このとき内部でENSEMBLE2関数を使用するため、外部での 併用は推奨されません。 計算式は次のようになります。 COH=abs(PXY).^2./(PXX.*PYY), 0<=COH<=1 なお計算には高速フーリエ変換を用いるため、NMAXには2の べき乗が推奨されます。また窓関数WINDOWにはCOSINE窓が 適用されます。 [COH,FRQ]=COHFUN(NMAX,X,DTWINDOW)はWINDOWの種類を以下 から選択できます。 'COS':コサイン型ウィンドウ 'TRAP':台形型ウィンドウ 'NONE':ウィンドウ無し 参考:CFFTFUN, ENSEMBLE
[BC,FRQ1,FRQ2]=BCFUN(NMAX,X,DT)はサンプリング間隔DTの単数列 時系列信号XのバイスペクトルBCと、それに対応する周波数FRQ1 およびFRQ2を出力します。計算の中でXはNMAX点ずつに分割され、 それぞにおいてフーリエ展開された係数が計算に用いられます。 なお計算には高速フーリエ変換を用いるため、NMAXには2の べき乗が推奨されます。また窓関数WINDOWにはCOSINE窓が 適用されます。 [BC,FRQ1,FRQ2]=BCFUN(NMAX,X,DT,WINDOW)はWINDOWの種類を以下 から選択できます。 'COS':コサイン型ウィンドウ 'NONE':ウィンドウ無し
[WCOEF,WSCALE,FREQ]=CWTFUN(X,SCALE,DT)はサンプリング間隔 DTの単数行信号Xの連続ウェーブレット変換を行い、ウェーブ レット係数WCOEFと、その1次元方向に対応するウェーブレット スケールWSCALE、周波数FREQを出力します。2次元方向は時間 軸に対応します。入力のSCALEはWSCALE/DTに対応し、ウェーブ レットスケールの離散点数となります。マザーウェーブレット には複素ウェーブレットであるMorletウェーブレットを使用 します。変換時に信号の端にはゼロを外挿しています。注意点 として、Morletウェーブレット使用時にSCALEの値に2/f0未満 を用いた場合にウェーブレットの平均がゼロから大きく離れる ことからWCOEFの絶対値が過大に評価されます。 [WCOEF,WSCALE,FREQ,EA,PWW,FC,CG]=CWTFUN(X,SCALE,DT,NAME) はNAMEで指定されたマザーウェーブレットを用いて連続ウェー ブレット変換を行います。また、ウェーブレットスケールごと のエネルギーEA、ウェーブレットパワースペクトルPWWを返し ます。さらに通過大域中心周波数または特徴周波数FC、アドミ ッシブル定数CGを出力します。選択可能なマザーウェーブレッ トは以下の通りです。 'MORLET':Morlet wavelet 'MEXICAN':Mexican hat wavelet 参考:新誠一・中野和司 監訳 「図説 ウェーブレット変換ハンドブック」朝倉書店、2005.
[XA,SCALE,DS]=ICWTFUN(WCOEF,WSCALE,DT)はサンプリング間隔 DTの単数行信号から計算したウェーブレット係数WCOEFと、それ に対応するウェーブレットスケールWSCALEを用いて連続ウェーブ レット逆変換を実行します。なお出力のSCALEはWSCALE/DTに対応 し、ウェーブレットスケールの離散点数となります。DSはSCALE の平均間隔(=MEAN(DIFF(SCALE)))を出力します。 出力XAを用いることで、SCALEが等間隔の場合にはSUM(XA*DS,1) により逆変換が完了します。WSCALEが信号のエネルギーを全て 含有するときにはこれは元信号の揺動成分にほぼ対応します。 ここでマザーウェーブレットとしてはMorletウェーブレットを 使用します。逆変換時に信号の端にはゼロを外挿しています。 [XA,SCALE,DS]=ICWTFUN(WCOEF,WSCALE,DT,NAME)はNAMEで指定 されたマザーウェーブレットを用いて連続ウェーブレット逆変 換を行います。選択可能なマザーウェーブレットは以下の通り です。 'MORLET':Morlet wavelet 'MEXICAN':Mexican hat wavelet 参考:新誠一・中野和司 監訳 「図説 ウェーブレット変換ハンドブック」朝倉書店、2005.
[Y]=FLUCTFUN(X)は入力Xから平均値を引いた揺動成分Y を出力します。Xが2次元以上の配列のとき、最も長い次元 の方向に平均値を計算します。 [Y]=FLUCTFUN(X,DIM)は次元DIMの方向に平均値を計算 します。 参考:NORMALIZE
[Y]=NORMALIZE(X)は入力Xから平均値を引き標準偏差で無次 元化した変数Yを出力します。Xが2次元以上の配列のとき、 最も長い次元の方向に無次元化を行います。 [Y]=NORMALIZE(X,DIM)は次元DIMの方向に無次元化を行います。 参考:FLUCTFUN
[Y]=FLUCTLEVELFUN(X)は入力Xの標準偏差を平均値で割り無次元 化した揺動レベルYを出力します。Xが2次元以上の配列のとき、 最も長い次元の方向に平均値と標準偏差を計算します。 [Y]=FLUCTLEVELFUN(X,DIM)は次元DIMの方向に平均値を計算 します。 参考:SKEWFUN, FLATFUN
[Y]=SKEWFUN(X)は入力XのSkewnessを返します。Xが2次元 以上の配列のとき、最も長い次元の方向に対して計算します。 [Y]=SKEWFUN(X,DIM)は次元DIMの方向に計算します。 参考:FLATFUN, FLUCTLEVELFUN
[Y]=FLUCTFUN(X)は入力Xから平均値を引いた揺動成分Y を出力します。Xが2次元以上の配列のとき、最も長い次元 の方向に平均値を計算します。 [Y]=FLUCTFUN(X,DIM)は次元DIMの方向に平均値を計算 します。 参考:NORMALIZE
[Y]=GAUSSIAN(X)は座標Xにおけるガウス分布に従う変数Y を出力します。このとき平均値は0、標準偏差は1です。 Xが複数列のとき、出力Yも同じ大きさの複数列となります。 [Y]=GAUSSIAN(X,MU,SIGMA)は平均値MU、標準偏差SIGMAの ガウス分布に従う変数Yを出力します。 [Y]=GAUSSIAN(X,MU,SIGMA,DIM)は複数列(行)ベクトルX の各列(行)に対してMUやSIGMAを設定し、かつ行数に比べ 列数(列数に比べ行数)が多いときに用いてください。 次元DIMは共通の平均値、標準偏差を用いる次元方向です。 参考:GAUSSMULTI
[Y]=GAUSSMULTI(X)は座標Xにおける平均値0、分散共分散 行列が単位行列となる多変量正規(ガウス)分布Yを出力 します。ここでX=[X1,...,Xi,...,Xn]のときXをn変数と して、出力Yはn次元の変数となります。なおXiは全て長さ の同じ列ベクトルとしてください。 [Y]=GAUSSMULTI(X,MU,SIGMA)は平均値MU、分散共分散行列 SIGMAの分布Yを返します。入力SIGMAの長さが1のとき、計 算ではこれに単位行列を掛けて扱います。 平均値MUまたは分散共分散行列SIMGAが空行列のとき、それ ぞれ0と単位行列を代入します。 参考:GAUSSIAN
[Y]=HERMITE(X,N)はN次のエルミート多項式のX座標の変数Y を出力します。このときXは単数列(行)ベクトルでなくては なりません。 [Y]=HERMITE(X,[N1,N2,...])はN1,N2,...次のエルミート 多項式のX座標の変数Yを出力します。このときYは複数列(行) ベクトルとなります。 [Y]=HERMITE(X,N,A)は重み関数の指数EXP(-AX^2)のAの値 を設定します。Gram-Charier級数展開では重み関数が正規 分布であるためA=1/2であり、デフォルトではこの値を用 います。ロドリゲスの公式に従うエルミート多項式の計算 はA=1により実行できます。
[PY,PX]=POISSON(XMAX,LAMBDA)は離散点PX=1:XMAXに対し 平均LAMBDA、分散LAMBDAとなるポワソン分布PYを返します。
[BH]=FBM(H,LEN,M)はハースト指数H、長さLENの非整数ブラウン 運動の記録BHを単数列ベクトルで出力します。この計算では 相関の持続する長さMを指定する必要があります。単位長さを 8分割して計算することで近似の精度を高めています。また BH(1)=0とします。 [BH]=FBM(H,LEN,M,N)は単位長さの分割数Nを指定します。 [BH,DBH]=FBM(H,LEN,M)は記憶BHの微小変動DBHを出力します。 参考:J・フェダー著、松下貢・早川美徳・佐藤信一訳 「フラクタル」啓学出版、1991、P183.
[Y]=PROC(X,NMAX,TYPE)は単数列ベクトルXをNMAX点数ずつ に分割して群集合を作成し、各集合をTYPEで指定した方法 で加工します。その後各集合ごとに標準偏差で無次元化を 行い、結合した時系列を出力します。なおNMAX点で割り切 れなかった余りの集合は外挿されます。 [Y]=PROC(X,NMAX,TYPE,NORMALIZE)はNORMALIZEにより無次 元化の実行有無を指定します。NORMALIZE='ON'のとき無次 元化を実行し'OFF'のとき無次元化を行なっていない時系列 を返します。 加工方法は以下のとおりです。 0,'MEAN';平均値の差分を出力 1,'LINEAR:最小二乗法による線形フィッティングの差分を出力 2,3,4,5,6,7,8,9:各次数のフィッティングの差分を出力 他:未実装
[Y]=FFTFIL(X,NMAX,DT,RANGE)は単数列ベクトルXをNMAX点数 ずつに分割して群集合を作成し、各集合をFFTによりフィルタ リングします。なお、NMAX点で割り切れなかった余りの集合 は外挿されます。このとき離散点の時間間隔DTの単位の逆次 元が周波数範囲RANGEの次元となります。 [Y]=FFTFIL(X,NMAX,[],RANGE)は時間間隔DTに1を代入します。 この関数のアルゴリズムとして、分割された時系列をFFT関数 を用いて周波数成分を計算し、RANGEが全て{正またはゼロ}の ときRENGEで指定された成分の逆変換を出力します。ここで RANGE=[S1,E1;S2,E2;...]は閉区間集合[[S1,E1],[S2,E2],...] の和となります。 RANGEが全て{負またはゼロ}のときRANGEで指定された周波数 成分を除いた時系列データが出力されます。 RANGEが全て{ゼロ}のとき入力変数Xをそのまま返します。
[Y]=FFTFIL2(X,NMAX,DT,RANGE)は単数列ベクトルXをNMAX点数 ずつに分割して群集合を作成し、各集合をFFTによりフィルタ リングします。関数FFTFILと異なる点として、郡集合ごとの 接続点周りのNMAX/2点に対し、NMAX/2点ずらして求められた フィルタ済み波形を上書きします。また、NMAX点で割り切れ ない場合、外側にゼロ行列を外挿してFFTを実行します。その 他の注意事項はFFTFILを参照してください。 参考:FFTFIL
[Y]=FFTSHP(X,NMAX,DT,FIT_RANGE,SHP_RANGE)は単数列ベクト ルXをNMAX点数ずつに分割して群集合を作成し、各集合をFFT によりフィルタリングします。なお、NMAX点で割り切れなかっ た余りの集合は外挿されます。このとき離散点の時間間隔DTの 単位の逆次元が周波数範囲RANGEの次元となります。 [Y]=FFTSHP(X,NMAX,[],RANGE)は時間間隔DTに1を代入します。 この関数のアルゴリズムとして、分割された時系列をFFT関数 を用いて周波数成分を計算し、閉区間FIT_RANGE=[S1,E1]でパワ ースペクトルをべき乗フィッティングします。その後、閉区間 SHP_RANGE=[S2,E2]内の周波数成分の振幅を、パワースペクトル が先程フィッティングしたべき乗に乗るように調整します。 参考:FFTFIL
[YI,YIF]=INTERPSQ(X,Y,XI,FREQ)は、配列Xの点で配列Yの値を とる信号に乗っている周波数FREQ=[FREQ1,FREQ2,...]の各矩形 波の振幅、初期位相を求め、各矩形波が配列XIの点でとる値の 和YIおよび各周波数成分YIFを返します。XIが空行列のとき、 XIにはXが代入されます。このプログラムは実験回路のインダ クタンスに起因する矩形波を除去する際に有効です。
[OUT1,...]=ENSEMBLE(FH,NMAX,X,CONST1,...)は複数列ベクトル XをNMAX点数ずつに分割して群集合を作成し、各集合を関数ハン ドルFH=@function_nameの関数の計算に用います。この際、関数 FHの計算に必要な定数はCONST1,...を用います。 各集合の計算出力値はアンサンブル平均の後OUT1,...に出力され ます。
[OUT1,...]=ENSEMBLE2(FH,NMAX,X,CONST1,...)は複数列ベクトル XをNMAX点数ずつに分割して群集合を作成し、各集合を関数ハン ドルFH=@function_nameの関数の計算に用います。ここで各集合は NMAX/2点ずつずらして切り出して作られ、点数を有効に使用でき ます。また、関数FHの計算に必要な定数はCONST1,...を用います。 各集合の計算出力値はアンサンブル平均の後OUT1,...に出力され ます。 参考:ENSEMBLE
[OUT1,...]=MULTIIN(DIMIN,DIMOUT,FH,CONST1,...)は次元DIMIN 方向へ連結された複数列ベクトルCONST1,...を関数ハンドルFH の引数として計算し、出力OUT1,...を次元DIMOUT方向へ連結して 返します。CONST1,...の連結をしない場合には0を代入できます。 たとえばC1,C2,C3,C4を入力し、C3のみ2次元方向に連結している 場合には、DIMIN=[0,0,2,0]としてください。 参考:SLICEGET
[FD]=DIF(Y,N)は等間隔の単数列ベクトルYのN階微分値FD を出力します。このとき離散点間隔DTは1に設定されます。 微分計算には高速フーリエ変換を利用することから、入力 Xの長さは2のべき乗とすることが推奨されます。 [FD]=DIF(Y,N,DT)は離散点間隔にDTを用います。 この関数では、両端の出力振幅値が真値より大きくなります。 これは滑らかな正弦・余弦波により両端の直角形状を形成 する際に必要な高周波の成分が大きく現れるためです。 計算に用いる場合は出力値中央を使用してください。
[LINPEAK]=OVERTH(X,TH)は単数列ベクトルXが閾値TH以上となる 連続した行の中で、Xが最大となる行番号LINPEAKを出力します。 もし連続行の中でXが複数回同一の最大値を持つ場合、LINPEAKは 最初に最大値となった行番号を返します。 [LINPEAK]=OVERTH(X,TH,DIRECTION)は、DIRECTION=1のとき入力 Xが閾値TH以上、DIRECTION=-1のとき閾値TH以下となる行の中で、 Xが最大/最小となる行番号LINPEAKを出力します。 [LINPEAK,LINUP,LINDOWN,LINMIDDLE]=OVERTH(X,TH,DIRECTION)は 閾値以上/以下となる行番号LINUPと、その後閾値を下回る/上回る 行番号LINDOWN、またそれらの中間の行番号LINMIDDLEを返します。 参考:CONDFUN, WDFUN
[MOMENT]=MOMENT(Y,CONST,[N1,N2,...])は単数列ベクトルYの [N1,N2,...]次のモーメントの移動平均の結合列ベクトルを 出力します。CONST点の移動平均により出力変数は入力変数の 長さからCONST-1点だけ短くなります。 [M1,M2,...]=MOMENT(Y,CONST,[N1,N2,...]は各次数のモーメントの 移動平均を[M1,M2,...]に分割して出力します。 [MOMENT_Y,MOVEAVE_X]=MOMENT(Y,X,CONST,[N1,N2,...])では 単数列ベクトルXの移動平均MOVEAVE_Xも同時に出力します。 [M1_Y,M2_Y,...,MOVEAVE_X]=MOMENT(Y,X,CONST,[N1,N2,...])も 同様に動作します。 N次のモーメントはE[(x-\mu)^N]で定義されます。E[]はアンサンブル 平均です。この関数では方程式を展開して演算を行うことで 高速化を実現しています。 PDF型の定量化によく用いられる歪度(SKEWNESS:S)、偏平度(FLATNESS:F)の 移動平均は2-4次のモーメントにより、S=M3./M2.^1.5,F=M4./M2.^2から 容易に求めることが可能です。
[MOMENT]=MOMENT2(Y,CONST,[N1,N2,...])は単数列ベクトルYの [N1,N2,...]次のモーメントの移動平均の結合列ベクトルを 出力します。出力の両端にはNaNを外挿します。詳細な説明は MOMENTを参照してください。 参考:MOMENT
[P,FY]=GNFIT(X,Y,FUN,S)は単数列ベクトルX、Yを関数 名FUN、初期パラメータSの関数でフィッティングを行い、 フィッティング後のパラメータPと変数FYを返します。 ここで利用可能な関数は解析的に微分可能なものに限ら れ、FUNCPACK.Mに登録されたもののみとなります。収束 条件はABS(P)が10^-5未満、収束の重みは1e-2です。 [P,FY,DP]=GNFIT(X,Y,FUN,S)によりパラメータの最終 変化値DPを出力できます。 [P,FY]=GNFIT(X,Y,FUN,S,ERR,W)により収束条件ERRと 収束の重みWを設定できます。 [P,FY]=GNFIT(X,Y,FUN,S,[],[],DEMO)により収束の様子 を確認することができます。DEMO=1のとき収束後の図が、 DEMO=2のとき収束経過が表示されます。 参考:FITTING, FUNCPACK
[Y]=FUNCPACK(X,PA,0,FUN)は単数ベクトルX、パラメータPAを 関数FUNに代入した値Yを返します。 [DY]=FUNCPACK(X,S,D,FUN)は関数FUNをS(D)の変数で偏微分した 値DYを返します。 非線形最小二乗法によるフィッティングを行うGNFIT関数を用い るときは、この関数内でフィッティングしたい関数が定義されて いるかどうか確認してください。 現在登録されている関数は以下の通りです。この他にも、解析 的に偏微分可能な関数であればユーザにより適宜追加が可能です。 'GAUSS':ガウス分布(引数4) 'GAUSS+LINEAR':ガウス+線形(引数5) 'LORENTZ':ローレンツ関数(引数4) 'EXP':指数関数(引数3) 'EXP0':定数0の指数関数(引数2) 'BEKI':べき関数(引数2) 'BN':Barndorff-NielsenのPDF一般型(引数7) 参考:GNFIT, FITTING
[P,FY]=FITTING(X,Y,RX,RY,FUN)は単数列ベクトルX、Yを RX(1)<=X<=RX(2)かつRY(1)<=Y<=RY(2)の範囲内で関数FUN によりフィッティング後のパラメータP、ベクトルFYを 出力します。フィッティングに必要な初期パラメータは 概算されます。RX、またはRYは空行列のときX,またはYの 全範囲をフィッティングの対象とします。 [P,FY,DP]=FITTING(X,Y,RX,RY,FUN)はパラメータの最終 変化値DPを出力します。 [R,FY]=FITTING(X,Y,RX,RY,FUN,S)では初期パラメータS を設定できます。 [R,FY]=FITTING(X,Y,RX,RY,FUN,S,DEMO)により収束の様子 を確認することができます。DEMO=1のとき収束後の図が、 DEMO=2のとき収束経過が表示されます。 フィッティングには関数GNFITを用います。 参考:GNFIT, FUNCPACK
SURF2(X,Y,Z,C)はSURF(X,Y,Z,C)を実行し、その後視点を 2次元の視点へ移すことで2次元サーフェスプロットを実現 します。またシェーディングを補間、ライティングをphong に設定します。さらに軸のスケーリングを変更します。 参考:SURF
[Y]=SIGNDIGIT(X,N)は有効桁数をNとして変数Xを丸めます。 参考:ROUND
HMS=SEC2HMS(SEC)は、単数列の秒数信号SECを、時・分・秒を 横方向に連結した2次元配列HMSに変換して返します。
[IMR,THETA,RHO]=POLARGET(IM,CENTER,DR)は3次元行列IM の1,2次元面内で中心座標CENTER、半径DRとなる円弧上に 位置する点での値IMRを抽出します。また対応する点の角度 THETA(ラジアン)および半径RHOを出力します。円弧上で抽 出する点数はROUND(DR*12)ですが、1ピクセルに二つ以上の 点が重なった場合、その数だけ減少します。 [IMR,THETA,RHO]=POLARGET(IM,CENTER,DR,NUM)は円弧上で 等間隔にNUM点抽出します。
[LINE]=DETECTLINE(FNM,NAME,param,value,...)は、ファイ ルFNMの1列目を検索し、セル配列NAMEの記述された行番号 LINEを出力します。区切り子の指定などは下記に従い設定 してください。 設定可能なオプションのパラメータ名/値 'delimiter' - 区切り子 'bufsize' - バイト単位で表した最大文字列の長さ
[SLI]=SLICEGET(MATIN,DIM,LAYER)は多次元行列MATINから 次元DIMの行番号LAYERに対応する行列をSLIに切り出します。
OUT=COMBO(X1,X2,...)は、1次元配列入力X1,X2,...の要素を持つ 全ての組み合わせをNDGRID関数により抽出し、2次元配列OUTとし て出力します。 例えば、OUT=COMBO(X1,X2)は以下で計算されたOUTと一致します。 > out=zeros(length(x1)*length(x2),2); lin=1; > for jj=1:length(x2) > for ii=1:length(x1) > out(lin,:)=[x1(ii),x2(jj)]; > lin=lin+1; > end > end 参考:NDGRID, CELLOUT
C=CELLOUT(FH,NOUT,...)は、関数ハンドルFHにNOUTより後ろの全 ての変数を入力し、NOUTの数だけ出力変数を取り出して一つのセ ル配列Cにまとめます。
CLOSE2(H)は、ハンドル番号がHであるウィンドウを削除しま す。CLOSE(H)との違いは、ハンドル番号Hのウィンドウが無い 場合にもエラーメッセージを表示しません。 参考:CLOSE
H=SUBAXES(L,M,N,W_EXT,W_IN)は、L行M列の小さいAXESのうちN番目の AXESを作成し、ハンドル番号Hを返します。このとき、AXESと外枠の 間隔W_EXTと各AXES間隔W_INを指定できます(範囲:0〜1)。 参考:AXES, SUBPLOT
MOVEOBJ(H,DXYZ)は、ハンドル番号HのAXES内オブジェクトを各座標 軸の方向にDXYZ=[DX,DY]または[DX,DY,DZ]だけずらします。Hには オブジェクトのハンドル番号を直接入力することもできます。 参考:GET, SET, FINDOBJ
[OUT1,...]=SEPLY(FH,DIM,X,CONST1,...)は行列Xを次元 DIM方向に分割し、関数ハンドルFH=@function_nameの関 数の計算に用います。このとき、関数FHの計算に必要な 定数はCONST1,...を用います。分割したXごとに単数の 出力OUT1,...を出力します。 [OUT1,...]=SEPLY([],DIM,X)はXをDIM方向に分割して OUT1,...に返します。 参考:SLICEGET
POLAR3(THETA,RHO,Z)は、円筒座標(方位角THETA,半径RHO, 高さZ)の入力に対してデカルト座標(X,Y,Z)を計算し、 PLOT3(X,Y,Z)を実行します。 POLAR3(THETA,RHO,Z,S)は、文字列Sはで指定したラインスタ イルを使います。有効なラインスタイルの詳細については、 PLOTを参照してください。 参考:POLAR, PLOT3, PLOT
SQINPUT(FH,DIM,XYZUVW,...) は関数ハンドルFHのグラフィック関数 に対し、次元DIM方向に分割したXYZUVWとそれ以降を入力します。 例えばDATA=CAT(3,[X1,Y2],[X2,Y2])のような3次元データをPLOT関 数により描画するとき、 PLOT(SQUEEZE(DATA(:,1,:)),SQUEEZE(DATA(:,2,:))); と書かなければならないコマンドを SQINPUT(@PLOT,2,DATA); により代用できます。 参考:SLICEGET
[DRIVE]=DRSEARCH(DIRECTORY)はディレクトリ名DIRECTORYを 直下の階層に持つドライブ名DRIVEの英字(半角)を文字列で 返します。検索範囲はA〜Zドライブです。2つ以上のドライブ がある場合には、英字を連結します(例:DRIVE='CH')。なお DIRECTORYは大文字・小文字を区別しません。 [DRIVE,TYPE]=DRSEARCH(DIRECTORY)はDIRECTORYがディレクトリ 以外の場合にも検索を行い、種類をTYPEで返します。ここで TYPEとして返される値の詳細は関数EXISTを参照してください。 すなわち、この関数はファイルの検索にも利用できます。 参考:EXIST
NUM=CALL_TIMES(S)は、文字列・数値配列あるいは関数ハンドルS を入力とした「CALL_TIMES(S)」のコマンドが、過去に実行された 回数NUMを返します。NUMのカウントはCLEAR ALL/FUNCTIONS/CALL_TIMES コマンドにより0に初期化されます。MATLAB終了時もカウントは 初期化されます。Sが未入力の場合、空行列が代入されます。 NUM=CALL_TIMES(S,LOCK)はLOCK==1のとき、CLEAR関数によるカウ ントの初期化を防ぎます。LOCK==0により、再度初期化を可能に します。 参考:PERSISTENT, MLOCK, MUNLOCK, CLEAR, ISA
XYZM=LINSPACE2(XYZ1,XYZ2,N)は、2つの座標XYZ1とXYZ2の間でN点の 等間隔座標XYZMを出力します。 [XYZM,DX,DXA]=LINSPACE2(XYZ1,XYZ2,N)は、XYZMの間隔のベクトルDX およびDXのノルムDXAを出力します。 参考:LINSPACE2
RESULT=DLMREAD2(VARARGIN)は任意入力VARARGINに対し DLMREAD(VARARGIN)を実行し、その出力の中で全行ゼロの 列を除いた配列RESULTを出力します。 参考:DLMREAD
DISPLACE_TEXT(SOURCE,DESTINATION,S1,S2,SD,NUM)は、ファイル SOURCEを新しいファイルDESTINATIONにコピーするとともに、文 字列S1,S2に挟まれた範囲を文字列SDに置換します。ここで、S1は NUM個目に現れたものを用います。複数の文字列を同時に置換させ たい場合は、S1,S2,SDにセル配列を用いて下さい。 DISPLACE_TEXT(SOURCE,[],S1,S2,SD,NUM)のとき、ファイルSOURCE 内の文字列を置換します。SOURCEとして、フルパスでの指定を推奨 します。 参考:FSCANF, FPRINTF
この関数はMATLAB/Octave起動時に自動で実行されることを 想定しています。 作成済みの関数が格納されているディレクトリをサーチパス に設定し、MATLABのグラフィックスプロパティを定義します。
このプログラムは、サンプルデータの読み込みからその先、 各種解析手法の適用例をまとめています。データ読み込み 箇所や変数など、用途に合わせて変更することができます。
※本プログラムよりもtips_sample.m内の関数利用法を参考 にすることを推奨します。 このプログラムを使って、サンプルデータに対して各種解析 手法を適用し、その結果を図示できます。適用可能な解析手 法FUNは以下の通りです。 'PDF':確率密度関数 'JPDF':結合確率密度関数 'FFT':パワースペクトル 'COR':相関係数 'CA':条件付き平均 'WD':待ち時間・持続時間分布 また、プログラム中の各関数の説明は[help 関数名]により コマンドウィンドウ上に表示されます。[which 関数名]では 関数の保存されているディレクトリが表示されます。