How i Calculate the average number of even numbers in an array?

조회 수: 2 (최근 30일)
tomer kapuri
tomer kapuri 2018년 12월 4일
편집: Kevin Chng 2018년 12월 5일
How i Calculate the average number of even numbers in an array?
If the array:
1.3700 1.2200 2.2000 2.2800
so the avarage:
1.9
because: (1.22+2.22+2.28)/3=1.9
How i do this?
  댓글 수: 1
KSSV
KSSV 2018년 12월 4일
Check your question properly....
(1.22+2.22+2.28)/3 = 1.90...
What do you mean by odd numbers here in the array?

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

채택된 답변

Bruno Luong
Bruno Luong 2018년 12월 4일
편집: Bruno Luong 2018년 12월 4일
a = [1.3700 1.2200 2.2000 2.2800];
ac = round(a*100);
mean(ac(mod(ac,2)==0))/100
result
ans =
1.9000
  댓글 수: 3
Bruno Luong
Bruno Luong 2018년 12월 4일
Here is what might happen if one does't take care about rounding
mod(1.12*100,2)==0
ans =
logical
0

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

추가 답변 (2개)

Kevin Chng
Kevin Chng 2018년 12월 4일
My answer is
Check the index of Even number first
a = [1.3700 1.2200 2.2000 2.2800];
index = mod(single(a*100),2)==0;
Calculate the mean value of Even Number in the array
mean(a(index))
  댓글 수: 5
Kevin Chng
Kevin Chng 2018년 12월 4일
편집: Kevin Chng 2018년 12월 5일
Ya, numel is calculating the number of element. Sorry for my mistake.
However, tomer kapuri, any difficulties you are facing since you say something is not working.

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


GT
GT 2018년 12월 4일
Hi Tomer,
I am not sure if I understand your question correctly.
In MATLAB to calculate the average you would use the function: mean
In your example:
a = [1.37 1.22 2.20 2.28];
yourAverage = mean(a)
Please note in your question you asked about odd number. You could do:
mean(a(2:end))
This is adding the last 3 elements of the array a, and dividing by 3 as you illustrated, but there is something not right with your Maths... as:
(1.22+2.22+2.28)/3 is not 4.2.
Hope this helps.

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by