Is there a way to initialise an array automatically inside while loop?
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi all,
I am working on build clustering algorithm (Fixed-width)clustering. In every iteration inside while loop, some points need to be store in an array to use them in final plot. However, I do not know how can I store points that are belonge to a specific cluster in new array in every iteration. The target is showing all points with their clusters in a single plot.
Thank you
댓글 수: 0
채택된 답변
Geoff Hayes
2014년 11월 1일
Abdulatif - if you just want to add some to an array at each iteration of a loop (in your case, a while loop), then you could try the following
% initialize the cluster points array to be empty
clusterPoints = [];
while true
% do some stuff
% add (x,y) to clusterPoints
clusterPoints = [clusterPoints [x;y] ];
end
In the above, we assume that each point is 2D only. Once we break out of the while loop, clusterPoints will be a 2xm vector where m is the number of points that we have added to the array. The first row will correspond to all x's, and the second row will correspond to all y's.
댓글 수: 5
Geoff Hayes
2014년 11월 2일
If you wish to plot the data by cluster, then you could try
figure;
hold all; % use hold all to plot clusters in different colours
for k=1:length(clusterPoints)
data = clusterPoints{k};
if ~isempty(data)
plot3(data(:,1),data(:,2),data(:,3),'o');
end
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!