error while executing textbook MATLAB code?

Capture.PNG
I am studying Fourier transform through book of alex palamides and it states that there is a property of fourier transform due to which convolution of two time domain signals is equal to inverse fourier*(product of fourier transforms of signals)
But when i try to put this concept to MATLAB as demonstrated in book , i get error shown in attached photo. Although i have wrote exactly same code as on page 312 of Book
My code is follow:
syms t w
x1=heaviside(t)-heaviside(t-2);
x2=heaviside(t)-heaviside(t-4);
X1=fourier(x1,w);
X2=fourier(x2,w);
right =ifourier(X1*X2,t);
ezplot(right,[0 8])

 采纳的回答

In your release of MATLAB, ezplot() was not compatible with plotting symbolic expressions, and fplot() had to be used instead.
However, the ifourier() is giving unusable results that neither ezplot() nor fplot() can use.
The work-around, valid from R2012a, is:
right = ifourier( rewrite(X1*X2, 'exp'), t);
fplot(right, [0 8])

3 个评论

When i try your suggestion i get following error:
Error using fcnchk (line 106)
If FUN is a MATLAB object, it must have an feval method.
Error in fplot (line 60)
fun = fcnchk(fun);
Error in Untitled3 (line 10)
fplot(right, [0 8])
Hmmm. Try
fplot( matlabFunction(right), [0 8])
This line worked out. Thanks walter

请先登录,再进行评论。

更多回答(0 个)

类别

产品

版本

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by