Harj. 9 LV
5.4.02 HA
1.
> restart:
Warning, the name changecoords has been redefined
> with(LinearAlgebra):alias(Tr=Transpose,Van=VandermondeMatrix):
> with(plots):
> xd:=[$1..28];
> yd:=[8,7,6,5,5,4,4,3,3,2$9,3,3,3,4,4,5,6,7,7,7];
> n:=nops(yd);
>
> plot([seq([xd[i],yd[i]],i=1..n)],style=point,symbol=circle,symbolsize=15);
> datakuva:=%:
> C:=Van(xd,n,3);
> C[1..4,1..3];
> M:=Tr(C).C;
> B:=evalf(Tr(C).Vector(yd));
> a:=LinearSolve(M,B);
> p2:=a[1]+a[2]*x+a[3]*x^2;
> display(plot(p2,x=xd[1]..xd[n],color=blue),datakuva);
> solve(diff(p2,x)=0,x);
> tmin:=30+14.39;
> minhetki:=evalf(15*h+44*min+39/100*60*s);
Sekunttien tarkkuuteen tuossa ei voida päästä, joten
> vastaus:=15.44;
2.
> restart:
Warning, the name changecoords has been redefined
> with(LinearAlgebra):alias(Tr=Transpose,Van=VandermondeMatrix):
> with(plots):
Nyt jo tuo aletaan osata. Määritellään samantien funktioksi:
> PNS:=(C,ydata)->convert(LinearSolve(Transpose(C).C,Transpose(C).Vector(yd)),list);
> # C:=Van(xd,nops(xd),deg+1); kertoimet:=PNS(C,yd); poly:=sum(kertoimet[i]*x^(i-1),i=1..deg+1);
> xd:=evalf([1940, 1950, 1960, 1970, 1980, 1990]); # On syytä siirtyä liukulukuihin.
>
yd:=[132.165, 151.326, 179.323, 203.302, 226.542, 249.633];
Pisteet:=[seq([xd[i],yd[i]],i=1..nops(xd))];
> C1:=Van(xd,nops(xd),2); kertoimet:=PNS(C1,yd);
> poly1:=sum(kertoimet[i]*x^(i-1),i=1..2);
> display(plot(Pisteet,style=point,symbol=circle,symbolsize=17),plot(poly1,x=1930..2000,color=green));
> C2:=Van(xd,nops(xd),3); kertoimet:=PNS(C2,yd);
> poly2:=sum(kertoimet[i]*x^(i-1),i=1..3);
> display(plot(Pisteet,style=point,symbol=circle,symbolsize=17),plot(poly2,x=1930..2000,color=green));
> C3:=Van(evalf(xd),nops(xd),4); kertoimet:=PNS(C3,yd);
> poly3:=sum(kertoimet[i]*x^(i-1),i=1..4);
> display(plot(Pisteet,style=point,symbol=circle,symbolsize=17),plot(poly3,x=1930..2000,color=green));
3.
> restart:
Warning, the name changecoords has been redefined
> with(LinearAlgebra):alias(Tr=Transpose,Van=VandermondeMatrix):
> with(plots):
>
#read("c:\\opetus\\maple\\v202.mpl"):
read("/home/apiola/opetus/peruskurssi/v2-3/maple/v202.mpl");
> op(SD2):
> f:=(x,y)->exp(x)*(4*x^2+2*y^2+4*x*y+2*y+1);
> fv:=xx->f(xx[1],xx[2]);
>
> reitti:=SD2(f,([0,0]),4);
> map(fv,reitti);
> Newtopt2(f,(reitti[5]),5);
Kuvien piirtämiset ym. SD.mws:ssä ja muut ohjeet harj9ohje.mws:ssä.
Huom! Versiossa 7 Maple valittaa float[8]-vaikerruksen ja sortuu. Siinä pitäisi tutkia tietotyyppejä (float[16]).
>