こんにちは皆さん。
JMP にインポートする 3 つの FRF (txt スタイル) ファイルがあり、データをインポートして処理する次のスクリプトがありました。 3 つの説明項目を含む 1 つの説明テーブルがあり、昇順で FRF データ テーブルに割り当てる必要があります。 例えば:
z-ht_0.414 を割り当てる必要がありますccf_23101106.FRF
z-ht_0.464 を ccf_23101703.FRF に割り当てる必要があります
z-ht_0.514 を ccf_23101701.FRF に割り当てる必要があります
私のスクリプトの問題により、ccf_23101701 よりも後で ccf_23101703 が開かれてしまいます。 その結果、z-ht_0.514 は 3 番目のデータテーブル ccf_23101701 ではなく 2 番目のデータテーブル ccf_23101703 に割り当てられます。 これは、ccf_101703 が最後に開かれたデータ テーブル ウィンドウであることを示していますが、私のスクリプトでは、ccf_101703 は 2 番目に開かれたデータ テーブル ウィンドウである必要があります。 誰かこの奇妙なことを説明し、私の質問に対する解決策を提供してくれる人はいますか? 以下のスクリプトをコピーし、生データを添付しました。 さらに詳しい情報が必要な場合はお知らせください。 ありがとう。
/------------------------------------------------- -------------------------------------------------- --------------
名前のデフォルトは Here( 1 );
Globals() をクリアします。
説明 = 新しいテーブル( "説明",
行を追加( 0 )、
新しい列( "説明", 文字, 値を設定( {
//=============================================== ==========================
// 手動入力 #1: FRF データの説明 (コロンを保持する必要があります)
//=============================================== ==========================
"z-ht_0.414",
"z-ht_0.464",
「z-ht_0.514」
}))
);
FRF_file_num = N 行(説明);
dtList = 複数のファイルのインポート(
<
<<非表示の表示を設定( 0 )、
<<サブフォルダーを設定( 0 )、
<<名前フィルターの設定
//=============================================== ==========================
// 手動入力 #2: FRF データの名前 (コロンを保持する必要があります)
//=============================================== ==========================
( "
ccf_23101106.frf;
ccf_23101703.frf;
ccf_23101701.frf;
" )、
<<名前の設定を有効にする( 1 ),
<<サイズ フィルターの設定( {90190, 90190} ),
<<サイズを有効に設定( 0 )、
<<日付フィルターの設定( {3761729046.157, 3761730593.651} ),
<<日付の設定を有効にする( 0 )、
<<ファイル名追加列を設定( 1 )、
<<ファイル サイズ列の追加を設定( 0 )、
<<ファイルの日付列の追加を設定( 0 )、
<<インポート モードの設定( "CSVData" ),
<
<<スタックモードを設定(「類似スタック」)、
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<<インポート コールバックを設定( Empty() )
) << データをインポート;
//=============================================== ==========================
// 個々の FRF データごとに生の FRF データ テーブルを処理します
//=============================================== ==========================
For(i = 1, i<= FRF_file_num, i++,
dtList[i] << Set Window Size( 880, 400 );
dtList[i] << ウィンドウを移動( 1600, 0+i*20 );
Column( dtList[i], 1 ) << setname( "Null" );
Column( dtList[i], 2 ) << setname( "Freq kHz" );
Column( dtList[i], 3 ) << setname( "Disp 1" );
Column( dtList[i], 4 ) << setname( "FRF フェーズ" );
Column( dtList[i], 5 ) << setname( "Disp 2" );
Column( dtList[i], 6 ) << setname( "フェーズ 2" );
Column( dtList[i], 7 ) << setname( "FRF Gain" );
Column( dtList[i], 8 ) << setname( "説明" );
Nrow = N 行( dtList[i] );
For( j = 1, j <= Nrow, j++,
dtList[i][j, 2] = dtList[i][j, 2] / 1000;
dtList[i][j, 7] = 20 * Log10( dtList[i][j, 3] / dtList[i][1, 3] );
dtList[i][j, 8] = 説明 [i, 1];
);
dtList[i]:Null << 選択を設定;
dtList[i]:Disp 1 << 選択を設定;
dtList[i]:Disp 2 << 選択を設定;
dtList[i]:フェーズ 2 << 選択を設定;
dtList[i] << 列の削除();
//待機(2);
);
/------------------------------------------------- -------------------------------------------------- --------------