SCILAB- fukncje
Mia : Napisz fukcję, która zwraca sumę kwadratów elementów podanego wektora.
Pakiet SCILAB
To moje rozwiązanie:
function [y]=wektor(x,n)
for k=1:n
y=y+x(k)
2
end
endfunction
ale dla np wektor([1,2],2) zwraca 19.033296, tak więc coś niestety nie jest dobrze

Bardzo proszę o pomoc
30 paź 19:21
Mia : Ludzie, bardzo proszę o jakąś radę!
31 paź 23:10
Godzio:
Nie wiem jak działa Scilab, ale ja bym to tak napisał:
function [y]=wektor(x,n)
suma = 0;
for k=1:n
suma=suma+(x(k))2
end
endfunction
31 paź 23:16
Mia : Ok, ale dlaczego tak?
Właściwie Twoja suma, to mój y

Mogę ustawić suma=0 przed fukcją, czy musi być koniecznie w niej?
31 paź 23:19
Mia : Działa

! Dziękuję

Tylko proszę jeszcze odpowiedz na powyższe pytanie i kolejne: dlaczego w ogóle musi być to, że
suma=0?
31 paź 23:25
Godzio: No bo deklarujesz y = y + (x(k))2, a co to jest ten y?
31 paź 23:35
Godzio: Trzeba go wcześniej zadeklarować,a co do 'sumy' czasami lepiej nie używać tej samej literki do
nazwy funkcji i do zmiennej.
31 paź 23:35
Mia : No ok, ale bez różnicy czy w funkcji zadeklaruję, czy przed, prawda?
31 paź 23:38
Godzio:
Lepiej w funkcji
31 paź 23:38
PW: Musi być "wewnątrz".Pomyśl co się stanie, gdy zadeklarujesz tylko raz suma=0, a użyjesz funkcji
dwa razy?
1 lis 10:46