如何绘制在MATLAB中积分定义的函数的FFT?
问题描述:
我要绘制的傅立叶变换,使用MATLAB,这是绘制用下面的代码数据:如何绘制在MATLAB中积分定义的函数的FFT?
x = -2:0.01:2; % position vector
s = @(x)heaviside(x+1).*heaviside(-x)+heaviside(x).*heaviside(1-x); % Step
function between -1 and 1
phi = @(x) exp(-1./(1-x.^2)).*s(x); % Test function
d = @(t) integral(@(x)phi(x),0,t); % Data
fplot(d,[0,1])
然而,没有任何MATLAB教程似乎在密谋d的快速傅立叶变换是有用的,这是根据可变积分定义的。
如果我尝试用
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 1000; % Length of signal
t = (0:L-1)*T; % Time vector
s = @(x)heaviside(x+1).*heaviside(-x)+heaviside(x).*heaviside(1-x); % Step
function
phi = @(x) exp(-1./(1-x.^2)).*s(x); % Test function
d = @(t) integral(@(x)phi(x),0,t); %Data
plot(1000*t(1:50),d(1:50))
然后我得到以下错误:
Error using integral
A and B must be floating-point scalars.
Error in @(t)integral(@(x)phi(x),0,t)
我不知道该怎么虽然解决这个问题。