在编译时,“epoch”被确定为一个变量并且这个变量是未初始化的。“epoch”也是一个函数名,以前版本的 MATLAB 会调用该函数。但是,MATLAB 7 禁止在相同的上下文中使用相同的名称作为函数和变量。
function slope1_4=s(x,m)
A=xlsread(x);
slope1_4=[];
%B=xlsread(y);
%nbligneA=size(A,1);
%nbcolonneA=size(A,2);
%nbligneB=size(B,1);
%nbcolonneB=size(B,2);
for j=m %nbcolonneA
clear ini;
clear fin;
ini=epoch(:,A(1,j),1);
fin=epoch(:,A(1,j),2);
ini(ini==0)=[];
fin(fin==0)=[];
for i=1:size(ini,1)
clear f;
clear a;
clear b;
clear y;
debut=ini(i);
ending=fin(i);
interval=ending-debut+1;
a=A(debut+1:ending+1,j);
for y=1:interval
f(y)=a(y);
end
y=1:interval;
b=polyfit(y,f,1);
slope1_4=[slope1_4,b(1)];
end
end
问题可能来自 epoch(:,A(1,j),1) 中的“:”,但我不知道如何解决这个问题..