Dla ciągu a: a1, a2, ..., an obliczyć sumę wyrazów o numerach parzystych.

0

Witam,
Dla ciągu a: a1, a2, ..., an obliczyć sumę wyrazów o numerach parzystych.

Aktualnie udało mi się stworzyć coś takiego, niestey nie mam pojęcia jak to dobrze napisać.

load danedozad.txt
a=danedozad(1:end);
n=numel(a);
suma=0;

for i=1:n
    if (i)mod2=0
        suma=suma+a(i);
    end
end
disp(suma) 

liczby w pliku

4 1 9 2.4 8.1 7 0 1.1 8 11

Z góry dziękuje za pomoc.

0
v = [4 1 9 2.4 8.1 7 0 1.1 8 11];
# suma elementów o indeksach parzystych
sum(v(2:2:numel(v)))
# suma elementów o wartościach parzystych
sum(v(~mod(v,2))) 
0
reptile333 napisał(a):
v = [4 1 9 2.4 8.1 7 0 1.1 8 11];
# suma elementów o indeksach parzystych
sum(v(2:2:numel(v)))
# suma elementów o wartościach parzystych
sum(v(~mod(v,2))) 

Niestety nie policzyło 2.4

0

Odswiezam.

0

sum(v(2:2:size(v,2)))==1+2.4+7+1.1+11

0

A jak to zrobić bez ==1+2.4+7+1.1+11 ?

0

sum(v(2size(v,2)))

0

Niestety nadal źle liczy.

0

Podaj przykład dla którego niby źle liczy, bo to ty źle liczysz.
Końcówka ==1+2.4+7+1.1+11 dla podanego przykładu v = [4 1 9 2.4 8.1 7 0 1.1 8 11]; udowadniała że liczy dobrze.

0

Oj sorry. Chodziło mi o to, że źle liczy elementy o wartościach parzystych. Liczenie sumy elementów o indeksach parzystych jest w porządku.

0

Więc może się zdecyduj:
1.

matlabik napisał(a):

... obliczyć sumę wyrazów o numerach parzystych ...

matlabik napisał(a):

... liczy elementy o wartościach parzystych ...

Poza tym wypadałoby określić jakie z wartości z tych:

matlabik napisał(a):

2.4 8.1 1.1
są parzyste, a jakie nie są.

0

sum(v(~mod(v,2))) W liczeniu parzystych nie bierze 2.4

0

W takim razie może wyjaśnisz co ma zliczanie ilości parzystych wartości z tym tematem?

0

reptile podał jak je wyliczyć, również ta metoda jest mi potrzebna.

1

Podobno parzystość to cecha liczb całkowitych.

Prawdopodobnie chcesz osiągnąć taki efekt sum(v(~mod(floor(v), 2)))

1 użytkowników online, w tym zalogowanych: 0, gości: 1