Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

eval function in matlab

Status
Not open for further replies.

sana_akhtar

Member level 2
Joined
Apr 21, 2012
Messages
47
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,606
I am a beginner in MATLAB coding. I was reading a code which I got from net about speech recognition. The .m file in which audio wave is loading has the code like this

clc;
name=['S5T0','S5T1','S6T0','S6T1','S7T0','S7T1','S8T0','S8T1','S9T0','S9T1']; %
digit=['0123456789']; %

for d=1:length(digit)
eval(['x=wavread(''ti_0',digit(d),'apple01.wav.wav'');']);
for k=1:4:length(name)
[x1 x2]=vadnew(x);
eval(['ti_0',digit(d),'F3',name(k:k+3),'=x(100*x1:100*x2);']);
%ti_00F3S0T0=wavread('x(1).wav');
x=x(x2*100:length(x));
end
end
save ('F3new.mat', 'ti*');

Can someone please tell me what is this line eval(['x=wavread(''ti_0',digit(d),'apple01.wav.wav'');']); is doing??
 

eval takes a string, and processes it as a matlab command.

in this case, assume d = 1.
['x=wavread(''ti_0',digit(d),'apple01.wav.wav'');']
becomes the string:
x=wavread(''ti_01apple01.wav.wav'');
and eval will run that matlab command, reading the samples from that file into a vector called "x".
if d = 2 then you get:
x=wavread(''ti_02apple01.wav.wav'');
etc...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top