ホームページ  >  記事  >  コンピューターのチュートリアル  >  Matlabを使ってフーリエ変換をしてみるのはどうでしょうか?

Matlabを使ってフーリエ変換をしてみるのはどうでしょうか?

WBOY
WBOY転載
2024-01-18 08:00:181463ブラウズ

Matlabを使ってフーリエ変換をしてみるのはどうでしょうか?

MATLAB を使用してこのフーリエ変換を行う方法

最初にプログラムを作成します:

clc

###クリア###

CU=[]; %%ここにデータをインポートします

CU_f=fft(CU); %%周波数領域への FFT 変換を実行します

###図1)###

サブプロット(2,1,1)

プロット(CU);

サブプロット(2,1,2)

プロット(abs(CU_f))

*****************************

CU_f はスペクトル図ですが、50Hz に対応する指摘した点は実験プロセスに基づいて見つける必要があります。 MATLAB に入力されるデータは数千点に過ぎず、数学的な意味のみを持ち、物理的な意味はありません。まず第一に、これらの数千点をサンプリングしましたが、サンプリング周波数はどれくらいですか?これは、MATLAB 自体ではなく、実験を行う人だけが知っています。サンプリング周波数をFsとする。そして、ピクチャCU_fにおいて、最後の点に対応する実際の周波数はFsである(最初の点に対応する実際の周波数は0Hz)。すると、線形比例関係に基づいて 50Hz に相当する点が求められます。

MATLAB を使用してフーリエ変換を実装する方法

MATLAB を使用してフーリエ変換を実装します:

ユーザが任意に関数を入力し、その関数のフーリエ変換関数を出力し、振幅周波数を出力します。

x=sin(2*pi*t); %任意の関数を入力します。

y=fft(x); %フーリエ変換関数。

plot(abs(y)); % 振幅周波数。

Function(関数)は、各入力値と固有の出力値との対応関係を表します。この関係により、あるセット内の各要素が別の (おそらく同じ) セット内の固有の要素に対応します。関数 f の入力値に対応する出力値 x の標準記号は f(x) です。関数のすべての入力値を含むセットは関数のドメインと呼ばれ、すべての出力値を含むセットは範囲と呼ばれます。最初にマッピングの概念を定義すると、関数を次のように定義するだけで済みます。空でない数値セット間で定義されたマッピングは関数と呼ばれます。

フーリエ変換は、特定の条件を満たす関数を三角関数 (サイン関数やコサイン関数)、またはそれらの積分の線形結合として表現できます。フーリエ変換には、連続フーリエ変換や離散フーリエ変換など、さまざまな研究分野でさまざまなバリエーションがあります。

MATLAB を使用してフーリエ変換のプロパティを検証するプログラムを作成する方法

% ポイントをくれるのを忘れないでね[満面の笑み]

###すべてクリア###

ts=0.001; % サンプリング期間

t=0:ts:20; % 時間シーケンス

y=sin(t) 0.5*sin(2*t) 0.2*sin(6*t);

###形###

プロット(t,y)

title('オリジナルシングル')

xlabel('時間(秒)')

ylabel('マグニチュード')

Fs=1/ts; % サンプリング周波数

L=長さ(y);

NFFT = 2^nextpow2(L); % y の長さからの次の 2 のべき乗

Y = fft(y,NFFT)/L;

f = Fs/2*linspace(0,1,NFFT/2 1);

% 片側振幅スペクトルをプロットします。

###形###

plot(f,2*abs(Y(1:NFFT/2 1)))

title('y(t)の片側振幅スペクトル')

xlim([0,3])

xlabel('周波数 (Hz)')

ylabel('|Y(f)|')

以上がMatlabを使ってフーリエ変換をしてみるのはどうでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。