Data averaging on a specific cell of a matrix
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello, Say I have a matrix (A1) of single coloumn and 1000 rows ( 1000 X 1) in size. I have 0 values at random cells in it. Say row 55 has a 0 value, where row 54 has a values of 5.5 and row 56 has a value of 4.5. How to write a for loop that will find the 0 values and fill it with the averaging of its previous and after cell/row values?
thanks in advance
댓글 수: 0
채택된 답변
Akira Agata
2018년 3월 20일
You don't have to use for-loop for this. Assuming A1(1) and A1(1000) are not zero, and there is NO consecutive 0s, the following code can fill the 0 values with the averaging of its neighbourings.
idx = find(A1 == 0);
A1(idx) = (A1(idx+1)+A1(idx-1))/2;
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!