what is the function of 'eval' ?

180 views (last 30 days)
pricky
pricky on 23 Apr 2014
Answered: lvn on 23 Apr 2014
Hi Please explain what function is eval performing here and is it necessary to use it. I'm planning to use eval function to store code book, is there any alternative.
clc; Nsamp=35000; fs=8050; beep I=wavrecord(Nsamp,fs);
codebook = MFCC_BasedCodebook(I,fs); in=inputdlg('Enter file name -5 characters'); FileName=cell2mat(in); eval(['save ' 'test\' FileName ' codebook;']);
Thank you

Accepted Answer

lvn
lvn on 23 Apr 2014
Eval can be used to run matlab commands which are not known in advance, but only at runtime. In your example eval executes the commando 'save test\FileName codebook' (with filename the specific filename constructed above).
The use of eval is not recommended http://www.mathworks.nl/help/matlab/matlab_prog/string-evaluation.html and in your case, it can simply be replaced by using the different syntax of the save commando ('help save') e.g.
save(sprintf('test\\%s',FileName),'codebook');

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!