Hi everyone,
I have got 2 questions, I hope someone can help me.
The first one is, I have a matrix A where
A = 1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Then I apply the following
A = A>6 & A<11
[r,c,v] = find(A)
Doing that in the end I will have the information of indices that belong to those elements fulfilling the condition A>5 & A<12 in vectors r and c. Now I have another matrix B of the same dimensions as A.
B = 54 32 13 5
1 10 45 24
4 44 2 15
66 26 17 89
I want to choose only elements of B having the same indices as the elements in A that fulfilled the previous condition, leaving the other elements as zero. But if a row of B doesn't have such element matching what was mentioned above then it's truncated. So in the end I will have
result = 0 0 45 24
4 44 0 0
My last problem is simply how to take the average value on each element of matrix 'result' ignoring zeros, so what I will get is
mean = 34.5
24
I will really appreciate any help. Thanks in advance.

 채택된 답변

Matt J
Matt J 2014년 10월 17일
편집: Matt J 2014년 10월 17일

0 개 추천

L=(A>6 & A<11);
means=sum(B.*L,2)./sum(L,2);
means=means(~isnan(means))

댓글 수: 1

Imam
Imam 2014년 10월 17일
Allright, it does help. Thanks a lot Matt.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Numerical Integration and Differentiation에 대해 자세히 알아보기

질문:

2014년 10월 17일

댓글:

2014년 10월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by