コンパイル時に、「エポック」は変数であると判断され、この変数は初期化されていません。「エポック」も関数名であり、以前のバージョンの 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) の「:」に由来しますが、この問題を解決する方法がわかりません..