Average values only next to each other in a matrix
이전 댓글 표시
I have a matrix as such: (it is much longer irl)
A = [ 62.9; 63; 83.10; 83; 43; 43; 63; 63.2; 82.9; 83; 83; 62.90; 62.90; 62.9 ];
I am looking for an efficient way to average the values that surround the values next to each that are almost identical ( +- 0.2) other as such:
A_final = [ 62.95; 83; 43; 63.1, 83; 62.90 ]
I was thinking to do it with unique, but then I risk the possibility of the same value coming up in matrix A. Is there a simple way to do so in matlab?
댓글 수: 2
the cyclist
2021년 4월 16일
Step 1: Define "almost identical" mathematically.
Jimmy Neutron
2021년 4월 16일
채택된 답변
추가 답변 (1개)
Ahmed Redissi
2021년 4월 16일
You can reshape the n by 1 vector so that it is 2 by n/2 and then take the mean which will calculate the average for each column and give you the result that you want. Here is how it is done:
A = [62.9; 63; 83.10; 83; 43; 43; 63; 63.2; 83; 83; 62.90; 62.90];
n = length(A);
A_shaped = reshape(A,2,n/2);
A_final = mean(A_shaped)';
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!