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])

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 18 Mai 2019

0 Stimmen

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 Kommentare

ABTJ
ABTJ am 18 Mai 2019
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])
ABTJ
ABTJ am 19 Mai 2019
This line worked out. Thanks walter

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Version

R2015a

Gefragt:

am 14 Mai 2019

Kommentiert:

am 19 Mai 2019

Community Treasure Hunt

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

Start Hunting!

Translated by