ダイアログボックスを用いて値を入力する(FFT処理スクリプトを使いやすくしました)
サンプル集のFFT処理を例に処理するファイルをダイアログボックスで選択する方法を紹介しました。
https://community.altair.com/community?id=community_question&sys_id=c4664cf61b2bd0908017dc61ec4bcb9d
今回は、さらにダイアログボックスで値を入力する方法を紹介します。
inputdlgコマンドを使用すれば、ポップアップしたダイアログにて値、文字列を入力することができます。
これを用いて、FFTに使用する区間を変更できるように修正しました。
使い勝手が大きく改善されますので、是非習得して、他のファイルにも適用してください。
サンプルスクリプトのダウンロードはこちら(修正済み)。
サンプル事例02FFT : https://www.altairjp.co.jp/dataprocess-sample02/
使用製品:Altair Compose
よくあるエンジニアからの質問はこちら
Best Answer
-
先のサンプルデータの入力ファイルで時刻0のデータが抜けていました。
それに伴いデータの読み取りを
修正前
data_f=dlmread(filename_in,0,0);
修正後(1行目はラベル行のためスキップ)
data_f=dlmread(filename_in,1,0);
に修正しました。
また、周波数刻みの定義を下記に変更しました。Nが十分大きければほぼ変わらないと思いますが、使用するdtによっては綺麗な数字になります。お好みでご選択ください。
df=1/((N-1)*dt);
%df=1/N*dt;0
Answers
-
ダイアログボックスで複数の数値を入力できるよう修正しました。
今回は二つですが、いくつでも増やせますので、是非みなさまのスクリプトに合わせて、使ってみてください。
0 -
先のサンプルデータの入力ファイルで時刻0のデータが抜けていました。
それに伴いデータの読み取りを
修正前
data_f=dlmread(filename_in,0,0);
修正後(1行目はラベル行のためスキップ)
data_f=dlmread(filename_in,1,0);
に修正しました。
また、周波数刻みの定義を下記に変更しました。Nが十分大きければほぼ変わらないと思いますが、使用するdtによっては綺麗な数字になります。お好みでご選択ください。
df=1/((N-1)*dt);
%df=1/N*dt;0