How i Calculate the average number of even numbers in an array?
8 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
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!