How i Calculate the average number of even numbers in an array?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
tomer kapuri
am 4 Dez. 2018
Bearbeitet: Kevin Chng
am 5 Dez. 2018
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 Kommentar
KSSV
am 4 Dez. 2018
Check your question properly....
(1.22+2.22+2.28)/3 = 1.90...
What do you mean by odd numbers here in the array?
Akzeptierte Antwort
Bruno Luong
am 4 Dez. 2018
Bearbeitet: Bruno Luong
am 4 Dez. 2018
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 Kommentare
Bruno Luong
am 4 Dez. 2018
Here is what might happen if one does't take care about rounding
mod(1.12*100,2)==0
ans =
logical
0
Weitere Antworten (2)
Kevin Chng
am 4 Dez. 2018
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 Kommentare
Kevin Chng
am 4 Dez. 2018
Bearbeitet: Kevin Chng
am 5 Dez. 2018
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.
Gareth
am 4 Dez. 2018
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.
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!