1 1.2
1 1.3
1 1.5
3 1.4
3 1.6
3 1.8
3 1.9
4 1.2
4 1.7
4 0.9
and i want average like
1 1.333333333
3 1.675
4 1.266666667

3 commentaires

Alexandra Harkai
Alexandra Harkai le 30 Nov 2016
Please explain more what exactly it is you want to compute. Help is more likely if you describe your problem clearly and show what you have tried so far.
Jan
Jan le 30 Nov 2016
@AKHILESH KUMAR: I've formatted the message for you. Please use the "{} Code" button to avoid the standard block format of text in this forum. Thanks.
AKHILESH KUMAR
AKHILESH KUMAR le 1 Déc 2016
Thank you; it works perfectly but i need explanation. if i have 3 or more column then.

Connectez-vous pour commenter.

 Réponse acceptée

Mohammad Abouali
Mohammad Abouali le 30 Nov 2016
% I assume you have your data in a row
x = [1 1.2 1 1.3 1 1.5 3 1.4 3 1.6 3 1.8 3 1.9 4 1.2 4 1.7 4 0.9];
% change it in two column sets of data as in your image:
x = reshape(x,2,[])';
% get average in each group
avg = grpstats(x(:,2),x(:,1),'mean');
% form the output matrix like in your figure:
results = [unique(x(:,1)), avg]
results =
1 1.33333333333333
3 1.675
4 1.26666666666667

Plus de réponses (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by