Main Content

ライブ エディター タスクを使用した位相空間の再構成と状態インジケーターの推定

この例では、ライブ エディター タスクを使用して、等間隔にサンプリングされた信号の位相空間を再構成し、その再構成された位相空間を使用して相関次元とリアプノフ指数を推定する方法を説明します。

ライブ エディター タスクを使用すると、計算結果への影響を観察しながら、パラメーターと設定を対話的に反復できます。その後、タスクは表示された結果を実現する MATLAB® コードを自動的に生成します。このスクリプトのライブ エディター タスクを試行するには、この例を開きます。

ライブ エディター タスク全般の詳細については、ライブ スクリプトへの対話型タスクの追加を参照してください。

データの読み込み

この例では、ローレンツ アトラクターの測定値を持っているものとします。測定値は x 方向のみですが、アトラクターは 3 次元系です。この限られたデータを使用して、元の 3 次元系のプロパティを再現するように位相空間を再構成します。

ローレンツ アトラクター データを読み込み、その xyz 測定値を 3 次元プロットに可視化します。ローレンツ アトラクターは 3 次元のため、dim に 3 を指定します。

load('lorenzAttractorExampleData.mat','data','fs')
X = data(:,1);
plot3(data(:,1),data(:,2),data(:,3));

Figure contains an axes object. The axes object contains an object of type line.

位相空間の再構成

位相空間データを再構成するには、Reconstruct Phase Spaceライブ エディター タスクを使用します。ライブ エディターの [タスク] メニューを使用して、スクリプトにタスクを挿入できます。このスクリプトには、位相空間の再構成が既に挿入されています。例を開き、タスクを試行します。

位相空間の再構成を実行するには、タスクにおいて、読み込んだ信号 X と、埋め込み次元としての 3 を指定します。位相空間の再構成タスクにおいて、ラグと埋め込み次元の値をさまざまに試行して、出力プロットに表示される再構成後のローレンツ アトラクターを確認することができます。利用可能なオプションおよびパラメーターの詳細については、Reconstruct Phase Spaceタスクのリファレンス ページを参照してください。

タスクの試行が完了後、再構成された位相空間データ phaseSpace と推定された時間遅延 lag が MATLAB® ワークスペースに入ります。それを利用して、ローレンツ アトラクターのさまざまな状態インジケーターを特定できます。たとえば、phaseSpace を使用して相関次元とリアプノフ指数の値を推定します。

相関次元の推定

相関次元を推定するには、Estimate Correlation Dimensionライブ エディター タスクを使用します。タスク内で、ワークスペースから位相空間信号 phaseSpace を指定します。信号タイプを Phase space として指定します。タスクは、位相空間信号から、埋め込み次元とラグの値を自動的に計算します。この例では、類似半径の最小値に 0.05、最大値に 20、既定値の 10 ポイントを使用します。Estimate Correlation Dimension タスクでは、類似半径の値と点の数をさまざまに試行し、出力プロットの線形近似ラインを元の相関積分データ ラインに合わせることができます。利用可能なオプションおよびパラメーターの詳細については、Estimate Correlation Dimensionタスクのリファレンス ページを参照してください。

タスクのパラメーターを変化させると、推定の実行とプロットの作成用に、生成されたコードが自動的に更新されます (生成されたコードを確認するには、タスクの下部にある をクリックします)。

リアプノフ指数の推定

リアプノフ指数を推定するには、Estimate Lyapunov Exponentライブ エディター タスクを使用します。タスク内で、ワークスペースから位相空間信号 phaseSpace を指定します。信号タイプを Phase space、サンプリング レートを 100 Hz に指定します。タスクは、位相空間信号から、埋め込み次元とラグの値を自動的に計算します。この例では、拡大範囲の最小値に 21、最大値に 161、平均周期に既定値の 110 を使用します。Estimate Lyapunov Exponent タスクでは、拡大範囲と平均周期の値をさまざまに試行して、出力プロットの線形近似ラインを元の対数発散データ ラインに合わせることができます。利用可能なオプションおよびパラメーターの詳細については、Estimate Lyapunov Exponentタスクのリファレンス ページを参照してください。

コードの生成

各タスクのパラメーターを変化させると、推定の実行とプロットの作成用に、生成されたコードが自動的に更新されます。生成されたコードを確認するには、タスクの下部にある をクリックします。このコードを切り取って貼り付ければ、既存のスクリプトまたは異なるプログラム内で後で使用したり変更したりできます。以下に例を示します。

基となるコードがライブ スクリプトの一部となっているため、各タスクによって作成された変数を、その後の処理に引き続き使用することができます。

参考

| | | | | | |

関連するトピック