read("/p/edu/mat-1.414/maple/v201.mpl"):
# Termien järjestäminen # Järjestetään sarjan termit järjestykseen: # (x(1)+x(3)+x(2)) + (x(5)+x(7)+x(4)) + ... # (Kaksi paritonta + yksi parillinen) + ... # Palautetaan indeksivektori # jarj132:=proc(n) local ind,iplus,iminus,k; iplus:= seq(2*k-1,k=1..3*n); iminus:=seq(2*k,k=1..n); ind:=map(op,[seq([iplus[2*k-1],iplus[2*k],iminus[k]],k=1..n)]); end:
# x:=k->(-1)^(k+1)/k; # Yleinen termi # ind:=jarj132(8);nops(ind); # add(x(i),i=ind):evalf(%); # add(x(i),i=1..nops(ind)):evalf(%); # jarj132(10);sort(%); # Näitä on havainnollista verrata.Tämä antanee valaistusta sarjojen uudelleenjärjestämisestä. Voit miettiä, miksi positiiviterminen (ja siis itseisesti suppeneva) sarja käyttäytyy mallikkaasti, kun taas ehdollisesti suppeneva ei.
Jos lasket vaikka alkup. sarjan osasumman s_100, saat varman ylärajan sarjan summalle. Tietenkään Leibnizin virhekaava ei sovellu järjestettyyn sarjaan, mutta ainakin kokeellisesti näet, että tulokset poikkeavat varsin selvästi.
s:=(z,n)->add(a(k)*z^k,k=0..n);Esim. tehtävässä 3b) voitaisiin tehdä tähän tyyliin:
a:=n->((2+(-1)^k))^(-k); plot([s(z,10),s(z,20),s(z,30)],z=-1..1,color=[red,blue,green]);
n:=30:c[1]:=1.: for k from 1 to n do c[k+1]:=evalf((k-k^2*ln((k+1)/k))*c[k]): od: s:=(z,m)->add((c[k]*z^k,k=1..m)); plot([seq(s(z,k),k=10..n)],z=-2.1..2,color=[red,blue,green]); display([seq(plot(s(z,k),z=-2.2..2),k=20..n)],insequence=true);Kaksi alimmaista riviä edustavat kahta tyyliä piirtää. Ensimmäinen on kai hieman yksinkertaisempi. Jälkimmäinen on tässä tarpeen siksi, että pisteessä -2 sarja käyttäytyy kenties odottamattoman näköisesti. Animaatio auttaa näkemään, mitä siinä tapahtuu.