Harj. 5, to, ratkaisuja

21-25.3.2000

Torstai 23.3.

1.

> with(plots):

a)

> f:=(x,y)->(x+y)/(x-y);

[Maple Math]

> yla:=plot3d(f(x,y),x=-2..2,y=x+.2..2,axes=BOX,view=[-2..2,-2..2,-10..10],orientation=[-30,50],style=patchcontour):

> ala:=plot3d(f(x,y),x=-2..2,y=-2..x-.2,axes=BOX,view=[-2..2,-2..2,-10..10],orientation=[-30,50],style=patchcontour):

> display([yla,ala]);

[Maple Plot]

b)

> x:='x':y:='y':f:=sqrt(x*y);

[Maple Math]

> xposypos:=plot3d(f,x=0..10,y=0..10,color=f):xnegyneg:=plot3d(f,x=-10..0,y=-10..0,color=f):display([xposypos,xnegyneg],style=patchcontour);

[Maple Plot]

Näkyy toimivan yhdessäkin osassa, plot3d on älykäs ja osaa jättää kompleksiarvot oman rauhaansa.

> plot3d(f,x=-10..10,y=-10..10,color=f);

[Maple Plot]

c)

> f:=sqrt(abs(x*y));plot3d(f,x=-10..10,y=-10..10,color=f);

[Maple Math]

[Maple Plot]

Jotkut sanovat tätä Sidneyn oopperataloksi, ehkä pitäis kääntää ylösalaisin, kuka kävis katsomassa?

d)

> f:=(x,y)->x*y/(x^2+y^2);plot3d(f(x,y),x=-5..5,y=-5..5);

[Maple Math]

[Maple Plot]

e)

> x:='x':y:='y':f:=x*y/(x^2-y^2);plot3d(f,x=-10..10,y=-10..10,view=[-10..10,-10..10,-10..10]);

[Maple Math]

[Maple Plot]

> f:=(x,y)->x*y/(x^2-y^2):f(0,0):=0:eps:=0.1:
EW:=plot3d(f(x,y),x=-5..5,y=x+eps..-x-eps):

NSyla:=plot3d(f(x,y),x=-5..5,y=x+eps..5):
NSala:=plot3d(f(x,y),x=-5..5,y=-5..x-eps):

> display([EW,NSyla,NSala],view=[-5..5,-5..5,-10..10]):

Tulos on varsin repaleinen. Laura onnistui kyllä sovittamaan tämän tavan aika hyvin, siinä lienee ollut jonkin verran virittelemistä.

Katsotaan napakoordinaattityyli:

> eps:=0.01:x:=r*cos(phi);y:=r*sin(phi);z:=tan(2*phi)/2;plot(z,phi=-Pi/4+eps..2*Pi-Pi/4-eps,discont=true,view=[-Pi/4+eps..2*Pi-Pi/4-eps,-10..10]);

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Plot]

> eps:=0.01:k1:=plot3d([x,y,sin(2*phi)/(2*cos(2*phi))],r=0..1,phi=-Pi/4+eps..Pi/4+eps):
k2:=plot3d([x,y,sin(2*phi)/(2*cos(2*phi))],r=0..1,phi=Pi/4+eps..3*Pi/4+eps):
k3:=plot3d([x,y,sin(2*phi)/(2*cos(2*phi))],r=0..1,phi=3*Pi/4+eps..5*Pi/4-eps):
k4:=plot3d([x,y,sin(2*phi)/(2*cos(2*phi))],r=0..1,phi=5*Pi/4+eps..7*Pi/4-eps):display([k1,k2,k3,k4],axes=BOX);

[Maple Plot]

2.

tehtävä 2 a) kartio

> plot3d([r*cos(phi),r*sin(phi),r],r=-5..5,phi=0..2*Pi);

[Maple Plot]

Lieriö

> z:='z':plot3d([2*cos(phi),2*sin(phi),z],phi=0..2*Pi,z=-2..2);

[Maple Plot]

Ellipsoidi on luontevaa esittää pallokoordinaatistossa.

> a:=2:b:=4:c:=1:plot3d([a*sin(phi)*cos(Theta),b*sin(phi)*sin(Theta),c*cos(phi)],phi=0..2*Pi,Theta=0..2*Pi,scaling=constrained);

[Maple Plot]

1-vaippainen hyperboloidi:

> restart:with(plots):x:=r*a*cos(t);y:=r*b*sin(t);f:=c*sqrt(x^2/a^2+y^2/b^2-1);

[Maple Math]

[Maple Math]

[Maple Math]

> a:=1:b:=2:c:=3:yla:=plot3d([x,y,f],r=1..2,t=0..2*Pi):ala:=plot3d([x,y,-f],r=1..2,t=0..2*Pi):display([yla,ala]);

[Maple Plot]

3.

> f:=(x,y)->(x^2-y^2)/(x^2+y^2);f(0,0):=0;plot3d(f(x,y),x=-1..1,y=-1..1);

[Maple Math]

[Maple Math]

[Maple Plot]

Kuvasta näkyy selvästi, että osittaisderivaatta x:n suhteen = 0 kaikissa x-akselin pisteissä 0:aa luuunottamatta (funktio x->f(x,0) on vakio =1, kun x erikuin 0.)

Samoin on vastaavasti osittaisderivaatta y:n suhteen = 0 kaikissa y-akselin pisteissä 0:aa luuunottamatta (funktio y->f(0,y) on vakio =-1, kun y erikuin 0.)

Mutta miten on pisteessä (0,0).

> erosx:=(f(h,0)-f(0,0))/h;erosy:=(f(0,h)-f(0,0))/h;

[Maple Math]

[Maple Math]

Siis derivaattoja ei ole origossa (erotusosamäärät lähestyvät ääretöntä. (Niinhän näkyy kuvastakin, sekantti nousee pystyyn, kun h->0). Kaikissa muissa x-akselin pisteissä f:llä on vakioarvo 1, joten niissä os.der. x:n suhteen =0. Sama pätee tietysti y-akselin pisteisiin ja siellä os. derivaattaan y:n suhteen. (Siellä f:n arvo = -1.)

Tehtävän lopussa on virhe, tämä ei ole mainitunlainen esimerkki, koska derivaattoja ei ole.

Katsotaan vielä (epä)jatkuvuutta. Riittää huomata, että x-ja y-akseleita pitkin saadaan eri raja-arvot, 1 ja -1. Siitä seuraa, ettei raja-arvoa ole, joten jatkuvuuden edellytykset kaikoavat taivaan tuuliin. Tarkemmin voidaan vielä katsoa napakoordinaateissa:

> x:=r*cos(phi);y:=r*sin(phi);z:=combine(simplify(f(x,y)));

[Maple Math]

[Maple Math]

[Maple Math]

> plot3d([x,y,z],r=0..1,phi=0..2*Pi);

[Maple Plot]

Lopussa mainitunlainen esimerkki olisi vaikkapa funktio

> f:=(x,y)->piecewise(x*y=0,0,1);f(1,0);display([plot3d(f(x,y),x=-1..1,y=-1..1,grid=[8,8]),spacecurve([x,0,0],x=-1..1),spacecurve([0,y,0],y=-1..1)]);

[Maple Math]

[Maple Math]

[Maple Plot]

4.

5.

> f:=(x,y)->x*y*(x^2-y^2)/(x^2+y^2);

[Maple Math]

> f(0,0):=0;

[Maple Math]

> plot3d(f(x,y),x=-1..1,y=-sqrt(1-x^2)..sqrt(1-x^2),axes=BOX);

[Maple Plot]

> fx:=simplify(diff(f(x,y),x));

[Maple Math]

> fy:=simplify(diff(f(x,y),y));

[Maple Math]

> erosx:=(f(x,0)-f(0,0))/x;

[Maple Math]

> erosy:=(f(0,y)-f(0,0))/y;

[Maple Math]

> plot3d(fx,x=-1..1,y=-sqrt(1-x^2)..sqrt(1-x^2));

[Maple Plot]

> fxy:=simplify(diff(fx,y));fyx:=simplify(diff(fy,x));

[Maple Math]

[Maple Math]

Sekaderivaatat ovat tietenkin samat O:n ulkopuolella.

> plot3d(fxy,x=-0.1..0.1,y=-sqrt(1-x^2)..sqrt(1-x^2),axes=BOX);

[Maple Plot]

Tutkitaan nyt vielä graafisesti ensimmäisten derivaattojen jatkuvuutta O:ssa

> zoom:=(f,x0,y0,w)->plot3d(f(x,y),x=x0-w/2..x0+w/2,y=y0-w/2..y0+w/2,axes=BOX):

> F:=unapply(fx,x,y);zoom(F,0,0,1);zoom(F,0,0,1/2);zoom(F,0,0,1/4);

[Maple Math]

[Maple Plot]

[Maple Plot]

[Maple Plot]

Näyttää menevän niin, että kun ympäristön sivu (säde) puolittuu, niin z-arvokin puolittuu. Näyttää kovasti

raja-arvolta 0.

> fxnapa:=simplify(subs(x=r*cos(phi),y=r*sin(phi),fx));collect(%,r);

[Maple Math]

[Maple Math]

Tämä riittää mainiosti, samalla nähdään, että käyttäytyminen on sellaiata, kuin kuvasta jo näkyi, koska

r on tekijänä.

6 Aaltoyhtälö

Tehdään ensin aaltomuoto, jonka etenmistä on helppo tarkastella. Tämä funktio liittyy liitoskohdissaan x-akseliin äärettömän sileästi. (Samalla se on esimerkki funktioista, jonka Taylorin sarja kehitettynä pisteissä 1 tai -1 on identtisesti 0 (pakko olla, koska sen on toisella puolella yhdyttävä x-akseliin. Koska kyseessä ei kuitenkaan ole 0-funktio, niin Taylorin sarja ei suppene missään pisteessä välillä (-1,1) funktin arvoa kohti.

Tämä ei mitenkään kuulunut tähän, mutta pitipä valistaa!

> f:=exp(-1/(1-x^2));

[Maple Math]

> plot(f,x=-1..1,y=0..1);

[Maple Plot]

> f:=x->piecewise(x>-1 and x < 1,exp(-1/(1-x^2)),0);

[Maple Math]

> plot(f(x-4),x=-10..10);

[Maple Plot]

> animate(3*f(x-t),x=-10..10,t=-10..10,frames=21,color=red,numpoints=100);

[Maple Plot]

> a:='a':f:=u(x+a*t)+v(x-a*t);

[Maple Math]

> fxx:=diff(f,x,x);ftt:=diff(f,t,t);

[Maple Math]

[Maple Math]

> ftt:=collect(ftt,a^2);

[Maple Math]

> ftt-a^2*fxx;

[Maple Math]

7.

a)

> f:=(x,y)->sqrt(x^2+y^2);

[Maple Math]

> assume(h,real):erosx:=simplify((f(h,0)-f(0,0))/h);

[Maple Math]

> plot(erosx,h=-1..1);limit(erosx,h=0,right);limit(erosx,h=0,left);

[Maple Plot]

[Maple Math]

[Maple Math]

Siis ei ole osittaisderivaattoja 0:ssa (fy käyttäytyy tietysti samoin).

b)

> x:='x':y:='y':f:=(x,y)->(x+y)*abs(x+y);

[Maple Math]

> erosx:=simplify((f(h,0)-f(0,0))/h);erosy:=simplify((f(0,h)-f(0,0))/h);

[Maple Math]

[Maple Math]

Siis osittaisderivaatat = 0 O:ssa. Entä derivaatat suoralla y=-x?

> erosx:=simplify((f(x+h,x)-f(x,x))/h);

[Maple Math]

Ei tehdä tätä aivan loppuun saakka, kun ei ole aikaa...