반복 작업의 반복 진행이 사용자가 쿼리 할 수있는 개체에 저장되어 있지 않으므로 명령 줄에 표시되는 정보를 수집해야합니다.
이
diary temp
% ....
% execute kmeans here, something like this:
% km = kmeans(H',nbin,'Display','iter');
% ....
diary off
% now extract the line by line result from the diary file called "temp"
fid=fopen('temp');
dat=textscan(fid,'%s');
fclose(fid);
delete temp
dat=dat{1};
i1=find(~cellfun('isempty',strfind(dat,'sum')));
ie=find(~cellfun('isempty',strfind(dat,'iterations')));
i1=i1(1)+1;
Nd=str2num(dat{ie(1)-1});
ie=Nd*4+i1-1;
dat=reshape(str2num(strvcat(dat{i1:ie})),4,Nd)';
iter = dat(:,1) % <-- iterations
sm = dat(:,4) % <-- sum
가 diary
파일을 읽는 간소화하는 몇 가지 방법이있을 수 있지만 이것은 나를 위해 일한 다음과 같이이 작업을 수행하는 한 가지 방법이다.
문서를 통해보고 항상 현명 기능을 실행하기 전에 편집
:
doc kmeans
지금까지 노력하고 무엇을 게시하시기 바랍니다. SO 사용자는 코드 작성을 위해 여기에있는 것이 아니라 이미 구현 한 것을 도와줍니다. – random
@AliTahoori 내장형 matlab 함수 kmeans를 사용하고 있습니까? 그렇다면 사용을 게시 할 수 있습니까? –
예 내장 된 matlab 함수를 사용합니다. 사용법은 정말 쉽고 빠릅니다 ..! 왜 묻는거야?? –