Error :Unexpected matlab operator ????
显示 更早的评论
i linked speech recognition code in matlab with vb.net so when i call it from vb this message appear

this is the code
function test2 =test2()
clear;
[x,f]=audioread('C:\Users\TOSHIBA\father.wav');
extract=melcepst(x,f);
save( 'C:\Users\TOSHIBA\father.mat','extract');
[x1,f1]=audioread('C:\Users\TOSHIBA\color.wav');
extract2=melcepst(x1,f1);
save( 'C:\Users\TOSHIBA\color.mat','extract2');
Fid=fopen('C:\Users\TOSHIBA\path1.txt');
A=fscanf(Fid,'%u');
path=fscanf(Fid,'%s');
fclose=Fid;
[x,fsampling]=audioread(path);
pause(5);
x=fft(x);
fp=100;
fs=1000;
wp=2*fp/fsampling;
ws=2*fs/fsampling;
[N,wn]=buttord(wp,ws,1,5);
[b,a]=butter(N,wn);
y=filter(b,a,x);
soundsc((real(double(y))),fsampling)
[h,t]=impz(b,a);
N1=size(h,1);
n=1:N1;
extract=melcepst(y,fsampling);
if(A==1)
B1=importdata('C:\Users\TOSHIBA\father.mat');
d1=disteusq(extract,B1);
result1=int64(sum(sum(d1)));
if ((result1>=1517405)&&(result1<=3399480))
test='true';
else test='false';
end
end
if(A==2)
B2=importdata('C:\Users\TOSHIBA\color.mat');
d2=disteusq(extract,B2);
result2=int64(sum(sum(d2)));
if ((result2>=521370)&&(result2<=668471))
test='true';
else test='false';
end
end
so please what is the problem it can be :(
4 个评论
Walter Roberson
2013-12-24
You have
function test2 =test2()
The variable that you assign to should never be the same as the name of the function itself. Your function calculates "test" so probably that is the variable name you want on the left side.
n
2013-12-25
n
2013-12-26
Walter Roberson
2013-12-26
There is no unexpected operator in that code. Please show more about how you are invoking the code.
回答(1 个)
Image Analyst
2013-12-26
You can't do
fclose=Fid;
You need to do
fclose(Fid);
类别
在 帮助中心 和 File Exchange 中查找有关 Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
