Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

average vector over selected areas

조회 수: 1 (최근 30일)
Lev Mihailov
Lev Mihailov 2020년 2월 3일
마감: MATLAB Answer Bot 2021년 8월 20일
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?

답변 (1개)

KSSV
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
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?
KSSV
KSSV 2020년 2월 4일
Edied the answer.

제품

Community Treasure Hunt

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

Start Hunting!

Translated by