1樓:匿名使用者
syms t
fourier(dirac(t)) %在matlab中衝擊函式為dirac()
ans = 1
%反變換
ifourier(sym('1'))
ans = dirac(x)
如何在matlab中求sgn符號函式的傅立葉變換
2樓:風雨陽光溫暖
符號函抄數不是絕對可積襲
的函式,不存在常義下的傅立葉bai變換。在考慮廣義du函式的條件zhi下是可求的,但dao
不能用定義式f(jw)=∫f(t)e^dt來求,可以這樣求:
首先已知f=1,且2δ(t)=d(sgn(t))/dt。根據頻域微分定理f=jwf,有f=jwf,得到f=2/(jw)
如何用matlab程式設計求函式的傅立葉變換頻譜函式
3樓:幻想餘
fs = 128; % 取樣頻率
t = 1/fs; % 取樣時間
l = 256; % 訊號長度
t = (0:l-1)*t; % 時間
x = 5 + 7*cos(2*pi*15*t - 30*pi/180) + 3*cos(2*pi*40*t - 90*pi/180); %cos為底原始訊號
y = x + randn(size(t)); %新增噪聲
figure;
plot(t,y)
title('加噪聲的訊號')
xlabel('時間(s)')
n = 2^nextpow2(l); %取樣點數,取樣點數越大,分辨的頻率越精確,n>=l,超出的部分訊號補為0
y = fft(y,n)/n*2; %除以n乘以2才是真實幅值,n越大,幅值精度越高
f = fs/n*(0:1:n-1); %頻率
a = abs(y); %幅值
p = angle(y); %相值
figure;
subplot(211);plot(f(1:n/2),a(1:n/2)); %函式fft返回值的資料結構具有對稱性,因此我們只取前一半
title('幅值頻譜')
xlabel('頻率(hz)')
ylabel('幅值')
subplot(212);plot(f(1:n/2),p(1:n/2));
title('相位譜頻')
xlabel('頻率(hz)')
ylabel('相位')
如何用matlab實現矩形脈衝訊號的傅立葉變換
4樓:匿名使用者
首先 產生矩形脈衝訊號,可以使用 rectpuls(t,w) 函式產生一個幅值為1,以t=0為中心對稱,半寬度為專w/2的矩形脈衝
然後 傅裡屬葉變換 是用 fft() 命令的。如果要得到頻譜的話還要再處理一下,具體就不多說了,給個程式樣例:
t=-20:20;
w=10;
y=rectpuls(t,w); %矩形脈衝訊號yy=fft(y);
n=size(y);
n=n(2);
fy=abs(fft(y))/n*2; %頻譜subplot(2,1,1)
plot(y);
subplot(2,1,2)
plot(fy);
挺粗糙的,最後得到的兩個圖分別是方波脈衝和頻譜圖。。
順帶一提:
1) 三角波是tripuls(t,w);
2) 矩形波也可以通過ones()和zeros生成一個訊號矩陣3) 具體的函式使用和引數規則請參閱help 「command」
4) 其實這些用simulink做,裡面都有現成的模組。這樣倒是很簡潔,但也不容易看懂
如何用matlab求多元函式的極值
on來求解。寫成向量形式,約束a x b,初始值x0附近可以搜出出區域性極小值。輸入 z x 7.2 sqrt 25 15 x 1 2 7.2 107 20 x 1 sqrt 8 x 2 2 20 x 1 2 7.2 x 2 a 1,0 0,1 b 15 8 x0 1 1 x,feval fminc...
求簡單的matlab程式,想實現函式的影象顯示,並且當輸入x
你這個系 複數太麻煩,寫個制m檔案吧 function y f x y 9.7800000000000082 0.0084265734265880 x 0.0015909090909031 x.2 0.0001631701631693 x.3 0.0000058275058275 x.4 end儲存...
如何用matlab求兩個函式的卷積
function convolution t 4 0.001 4 e rectpuls t 0.25,1.5 plot t,e pause h tripuls t 1,2,1 plot t,h pause s 8 0.001 8 f conv e,h plot s,f 卷積後訊號就變長了,如果不想改...