Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
average vector over selected areas
조회 수: 1 (최근 30일)
이전 댓글 표시
I have two vectors, one working, the second sections that I need to average in vector 1
A = randi([5 10],1,548);
B= [102 105 204 99 ]
% what i need to do x=mean(A(1:B(1)) ; x=mean(A(B(1):B(2))
how do i do this?
댓글 수: 0
답변 (1개)
KSSV
2020년 2월 3일
편집: KSSV
2020년 2월 4일
A = randi([5 10],1,548);
B= [1 102 105 204]
% what i need to do x=mean(A(1:B(1)) ; x=mean(A(B(1):B(2))
iwant = zeros(length(B)-1,1) ;
for i = 1:length(B)-1
if B(i) < B(i+1) ;
iwant(i) = mean(A(B(i):B(i+1))) ;
else
iwant(i) = mean(A(B(i):-1:B(i+1))) ;
end
end
댓글 수: 3
Image Analyst
2020년 2월 3일
편집: Image Analyst
2020년 2월 4일
Lev, what indexes in A do you want to average if B(i+1) is LESS than B(i)? Like 200 to 5, or 104 to 6? Do you want to take the mean of from 5 to 200 (the opposite order), inclusive? In other words, sort the numbers in ascending order first?
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!