MATLAB: How toterate over similar elements in an array

repeating elementsunique

Hi, I have an input text file that looks like what's below (the actual text file is 1000 lines so I'm just providing a sample). Anyway, I need to compute the mean, and variance (to fit data into a Gaussian). The last column of input is "class" I need to compute the values for each unique class. So for each of the 10 classes I need the mean and variance. But the data is not ordered. The output should look like: Class %d Column %d Mean %.2f Variance %.2f. How can I accomplish this goal? Thanks a ton
0.5000 0.4600 0.6400 0.3600 0.5000 0 0.4900 0.2200 1
0.5300 0.5600 0.4900 0.4600 0.5000 0 0.5200 0.2200 1
0.5200 0.5300 0.5800 0.6900 0.5000 0 0.5000 0.2200 1
0.6700 0.6200 0.5400 0.4300 0.5000 0 0.5300 0.2200 1
0.4500 0.5700 0.3000 0.1700 0.5000 0 0.5100 0.2200 3
0.6800 0.5300 0.4400 0.3100 0.5000 0 0.5100 0.2200 1
0.3800 0.4200 0.3100 0.3500 0.5000 0 0.5200 0.2200 3
0.4800 0.4600 0.5800 0.2600 0.5000 0 0.4400 0.2200 2

Best Answer

You can use unique to get the list of classes, and then you can loop over the submatrix with logical indexing (which you might need to convert to indices with find).