MATLAB傅立葉級數的程式怎麼寫

2021-05-19 16:20:52 字數 2075 閱讀 9291

1樓:無極魔道

有現成的函式解傅立葉變換:fft或ifft

2樓:

老大 給個公式 那個是變數那是輸出

matlab怎麼進行傅立葉級數

3樓:毛職汗和玉

你上面的程式,f_series函式是否有定義?若無定義,或定義不準確都有可能出錯

將傅立葉係數的計算(輸出a0,an,bn)以及函式影象的繪製編到m檔案中

function

[a0,an,bn]=fly(f,l,k)

%f為一個週期內的分段函式(分兩段,對分兩段以上的函式可類似處理)

%2l為週期

%k為近似項數,k≥1

%計算傅立葉係數

symsxn

la0=1/l*int(f(1),-l,0)+1/l*int(f(2),0,l);

an=1/l*int(f(1)*cos(n*pi*x/l),-l,0)+1/l*int(f(2)*cos(n*pi*x/l),0,l);

bn=1/l*int(f(1)*sin(n*pi*x/l),-l,0)+1/l*int(f(2)*sin(n*pi*x/l),0,l);

%選擇作圖步長p

ifk>=4

p=fix(k/4);

else

p=1;

end%繪製4個近似子圖

fori=1:4

f=a0/2+symsum(an*cos(n*pi*x/l)+bn*sin(n*pi*x/l),n,1,i*p);

f=subs(f,l,l);

subplot(2,2,i),ezplot(f,[-3*l,3*l]),title(['n=',int2str(i*p)])

end輸入:

f=sym('[x,0]');

[a0,an,bn]=fly(f,pi,32)

輸出:a0

=-1/2*lan=

-l*(cos(n*pi)+sin(n*pi)*n*pi-1)/n^2/pi^2bn=

-l*(-sin(n*pi)+cos(n*pi)*n*pi)/n^2/pi^2

顯然以上結果並未化簡(例如,sin(n*pi)=0)

有了傅立葉係數,利用公式f(x)=a0/2+∑{1,∞}[an*cos(n*pi*x/l)+bn*sin(n*pi*x/l)],即得到式

輸出影象:

4樓:匿名使用者

我會一點點傅立葉變換給你編一段,你做一些修改試試吧>>y=fft(y,512);pyy=y.*conj(y)/512;f=1000*(0:256)/512;plot(f,pyy(1:

257))title('你的程式』)xlabel(『頻率(hz)』)

用matlab求傅立葉級數。。

5樓:匿名使用者

fsin=@(n,x) pi/4*sign(x).*sin(n*x);

fcos=@(n,x) pi/4*sign(x).*cos(n*x);

n=20;

fsin=zeros(1,n+1);

fcos=zeros(1,n+1);

for n=0:n

fsin(n+1)=quad(@(x)fsin(n,x),-pi,pi,1e-8)/pi;

fcos(n+1)=quad(@(x)fcos(n,x),-pi,pi,1e-8)/pi;

endsubplot(211),stem(0:n,fsin);title('sin');

subplot(212),stem(0:n,fcos);title('cos');

原來的訊號可以表示為[-pi,pi]內的 pi/4*sign(x)

反正就是根據傅立葉的公式,求原來函式和sinkx,coskx的乘積的積分

上述程式裡fsin  就是  bk

fcos 就是  ak最後

用matlab對周期函式進行傅立葉如何做?

6樓:匿名使用者

用電子詞典查傅立葉的英文名稱,再到matlab的幫助檔案裡找一下就行了,我身旁沒詞典

高數傅立葉級數問題,高數傅立葉級數問題

直接也可以bai,但是這道題跟dusinx是奇函式有關zhi系。因為需要做奇拓延。你dao會發專現積分外面的屬係數變成了原來的2倍,就是進行了奇拓延。而等於0的情況,也是根據sinx的影象性質在派的偶數倍無論怎樣都是0不需要奇拓延 高數傅立葉級數問題 5 你可以認為這是周期函式在相應有限區間內的擬合...

傅立葉級數是什麼,傅立葉級數有什麼用啊?

一 傅立葉級數的三角函式形式 設f t 為一非正弦周期函式,其週期為t,頻率和角頻率分別為f 1。由於工程實際中的非正弦周期函式,一般都滿足狄裡赫利條件,所以可將它成傅立葉級數。即 其中a0 2稱為直流分量或恆定分量 其餘所有的項是具有不同振幅,不同初相角而頻率成整數倍關係的一些正弦量。a1cos ...

matlab傅立葉曲線擬合,matlab擬合工具箱用傅立葉逼近對某條曲線擬合???

以下 在7.1版以上均可執行。將以下 儲存為m檔案 function yy zzz700createfit x,y,n xdata x ydata y set up fittype and options.ft fittype fourier num2str n opts fitoptions ft...