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

1 Kommentar

Stephen23
Stephen23 am 27 Mai 2026 um 4:04
Bearbeitet: Stephen23 am 27 Mai 2026 um 9:00
"... is it necessary to use it."
It is not necessary to use it, its usage here marks this code as being extremely badly written.
"I'm planning to use eval function to store code book, is there any alternative."
save(fullfile('test',in{1}),'codebook')

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

lvn
lvn am 23 Apr. 2014

0 Stimmen

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');

Weitere Antworten (0)

Kategorien

Mehr zu Programming Utilities finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 23 Apr. 2014

Bearbeitet:

am 27 Mai 2026 um 9:00

Community Treasure Hunt

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

Start Hunting!

Translated by