这个算法速度很慢就是了,更改算法 后发现break 和continue和我像的不一样,还是先保持这个全部遍历的
clear all;
[nmat nstr]=readmidi('再回首.mid');
Cchannel=8;
%统计nstr里面对应的轨道上Cchannel[按下,放开,触后]的音符的个数
Nstrcnt=0;
for i=1:size(nstr.track,2);
for j=1:size(nstr.track(i).messages,2);
if((Cchannel==nstr.track(i).messages(j).chan)&ismember(fix(nstr.track(i).messages(j).type/16),[8,9,10]))
Nstrcnt=Nstrcnt+1;
end;
end;
end;
Nmatcnt=sum(double(Cchannel==channel(nmat)),1);%统计nmat里面轨道Cchannel音高个数