[MATLAB]Suma wyrazów parzystych

matlabik
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 22 sty 2016, o 17:12
Płeć: Mężczyzna
Lokalizacja: Poznań

[MATLAB]Suma wyrazów parzystych

Post autor: matlabik »

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ć.

Kod: Zaznacz cały

load danedozad.txt
a=danedozad4(1:end);
n=numel(a);
suma=0;
x=0;
for i=1:n
    if a(i)mod2=0
        suma=suma+a(i);
    end
end
disp(suma)
     
liczby w pliku

Kod: Zaznacz cały

4 1 9 2.4 8.1 7 0 1.1 8 11

Z góry dziękuje za pomoc.
Awatar użytkownika
kropka+
Użytkownik
Użytkownik
Posty: 4389
Rejestracja: 16 wrz 2010, o 14:54
Płeć: Kobieta
Lokalizacja: Łódź
Podziękował: 1 raz
Pomógł: 787 razy

[MATLAB]Suma wyrazów parzystych

Post autor: kropka+ »

Przecież napisałeś, że numery wyrazów mają być parzyste, a nie wyrazy.
matlabik
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 22 sty 2016, o 17:12
Płeć: Mężczyzna
Lokalizacja: Poznań

[MATLAB]Suma wyrazów parzystych

Post autor: matlabik »

Kod: Zaznacz cały

for i=1:n
    if (i)mod2=0
        suma=suma+a(i);
    end
end
nie mam pojęcia co jeszcze z tym zrobić
Awatar użytkownika
kropka+
Użytkownik
Użytkownik
Posty: 4389
Rejestracja: 16 wrz 2010, o 14:54
Płeć: Kobieta
Lokalizacja: Łódź
Podziękował: 1 raz
Pomógł: 787 razy

[MATLAB]Suma wyrazów parzystych

Post autor: kropka+ »

A co Ci wypisuje?
matlabik
Użytkownik
Użytkownik
Posty: 3
Rejestracja: 22 sty 2016, o 17:12
Płeć: Mężczyzna
Lokalizacja: Poznań

[MATLAB]Suma wyrazów parzystych

Post autor: matlabik »

Pierwszy kod wcześniej sumował wszystko, po ponownym odpaleniu wypisuje 4....


Kod: Zaznacz cały

for i=1:n
    if mod(i,2)
       
             suma=suma+a(i);
    end
    end
Spróbowałem jeszcze z tym, wychodzi.... 29.1

-- 22 sty 2016, o 19:08 --

Spróbowłem z nieparzystymi

Kod: Zaznacz cały

a=load('danedozad4.txt')
n=length(a);
s=0;
for i=1:2:n
    s=s+a(i);
end
disp(s)
    
    
wynik to 29.1
Oczywiście zły, wtf.
Awatar użytkownika
jarzabek89
Użytkownik
Użytkownik
Posty: 1337
Rejestracja: 11 lis 2007, o 21:36
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 4 razy
Pomógł: 181 razy

[MATLAB]Suma wyrazów parzystych

Post autor: jarzabek89 »

matlabik pisze:-
Spróbowłem z nieparzystymi

Kod: Zaznacz cały

a=load('danedozad4.txt')
n=length(a);
s=0;
for i=1:2:n
    s=s+a(i);
end
disp(s)
    
    
wynik to 29.1
Oczywiście zły, wtf.
Może nauczmy się dodawać?

Kod: Zaznacz cały

if mod(i,2)
Nie panujesz nad tym co robisz.

Kod: Zaznacz cały

mod(i,2)
zwróci Ci 0 albo 1.
Warunek będzie spełniony jeśli będzie 1, czyli dla nieparzystych.

Kod: Zaznacz cały

 if a(i)mod2=0
A tutaj co chciałeś osiągnąć?
ODPOWIEDZ