DesignMat Uge 8Preben Alsholm, 21/10 2009Pakkerrestart;if ssystem("hostname")=[0,"PC-PKA1"] then
libname:="C:/Documents and Settings/alsholm/Dokumenter/DMat/libDMat",libname
elif ssystem("hostname")=[0,"pc-pka"] then
libname:="F:/DMat/libDMat",libname
elif ssystem("hostname")=[0,"alsholm-PC"] then
libname:="F:/DMat/libDMat",libname
else print("Fremmed computer. Skriv selv libname.")
end if;#libname:="J:/DMat/libDMat",libname;with(DMat):with(plots):NormLinearAlgebra:-Norm(<a,b,c>);LinearAlgebra:-Norm(<a,b,c>,2);LinearAlgebra:-Norm(<a,b,c>,2,conjugate=false);LinearAlgebra:-Norm(<a,b,c>,1);LinearAlgebra:-Norm(<a,b,c>,3);LinearAlgebra:-Norm(<a,b,c>,infinity);LinearAlgebra:-Norm(<a,b,c>,Euclidean);Graf for funktion af 2 variableEksempel 1Lad f v\303\246re funktionen defineret vedf:=(x,y)->-6*y/(2+x^2+y^2);Grafen ser s\303\245ledes ud:plot3d(f(x,y),x=-2..2,y=-4..4,axes=framed);2-tallet i n\303\246vneren erstattes nu af a, der vil blive brugt som animationsparameter:fa:=(x,y)->-6*y/(a+x^2+y^2);animate(plot3d,[fa(x,y),x=-2..2,y=-4..4,view=-4..4,axes=framed],a=0..3);Her kommer s\303\245 en periodisk version:fa:=(x,y)->-6*y/(1.1+sin(a)+x^2+y^2);animate(plot3d,[fa(x,y),x=-2..2,y=-4..4,view=-8..8,axes=framed],a=0..20,frames=100);Eksempel 2Lad f v\303\246re funktionen defineret vedf:=(x,y)->(x^3+2*y+4)/(2+x^2+y^2);f er kontinuert overalt. P\303\245 det lukkede rektangel (kvadrat)p1:=plot([-2,2],x=-2..2,filled=true,color=gray,transparency=0.5):p1;har f s\303\245vel en st\303\270rste- som en mindstev\303\246rdi.tr:=plottools:-transform((x,y)->[x,y,0]):p2:=plot3d(f(x,y),x=-2..2,y=-2..2,axes=framed):
display(p2,tr(p1));p1a:=animate(plot,[[-a,a],x=-a..a,filled=true,color=gray,transparency=0.5],a=1..5):p2a:=animate(plot3d,[f(x,y),x=-a..a,y=-a..a,axes=framed],a=1..5):
display(tr(p1a),p2a);Niveaukurver for funktion af 2 variableFunktionen f var givet vedf(x,y);Her f\303\245s 40 niveauer:contourplot(f(x,y),x=-2..2,y=-4..4,contours=40,grid=[35,35]);En 3-dimensional version:contourplot3d(f(x,y),x=-2..2,y=-4..4,contours=40,grid=[35,35],axes=boxed,orientation=[20,70]);Gr\303\246nsev\303\246rdi og kontinuitetEksempel 1 (MA2 p. 28): Eksempel p\303\245 ikke-eksistens af gr\303\246nsev\303\246rdif:=(x,y)->x*y/(x^2+y^2);plot3d(f(x,y),x=-2..2,y=-2..2,axes=framed,title="MA2 p. 28: Eksempel 1");contourplot(f(x,y),x=-2..2,y=-2..2,contours=50);Funktionsv\303\246rdierne p\303\245 en ret linie gennem (0,0) med retningsvektor (a, b):'f(a*t,b*t)'=f(a*t,b*t);simplify(rhs(%));Bem\303\246rk i \303\270vrigt uafh\303\246ngigheden af t. St\303\270rrelsen ovenfor kan antage alle v\303\246rdier mellem -1/2 og 1/2.Eksempel 4 (MA2 p. 29): Eksempel p\303\245 ikke-eksistens af gr\303\246nsev\303\246rdif:=(x,y)->x^2*y/(x^4+y^2);plot3d(f(x,y),x=-2..2,y=-2..2,axes=framed,grid=[50,50],style=patchnogrid,lightmodel=light3);bg:=%:animate(spacecurve,[[x,x^2,f(x,x^2)],x=-sqrt(2)..xm,thickness=2,color=maroon],xm=-sqrt(2)..sqrt(2),background=bg);f(a*t,b*t);normal(%);f(x,x^2);animate(spacecurve,[[x,x,f(x,x)],x=-2..xm,thickness=2,color=black],xm=-2..2,background=bg);Eksempel 2, p. 28f:=(x,y)->x*y^2/(x^2+y^2);Denne funktion har en gr\303\246nsev\303\246rdi for (x, y) -> (0, 0), som det da ogs\303\245 synes at fremg\303\245 af grafen: plot3d(f(x,y),x=-2..2,y=-2..2,axes=framed);Uniform kontinuitet for reel funktion af reel variabelFunktionen f givet ved forskriftenf:=x->1/x;er kontinuert p\303\245 intervallet ]0, 2]. En del af grafen:plot(f(x),x=0..2,y=0..10);Funktionen er ikke uniformt kontinuert p\303\245 ]0, 2], hvilket er fors\303\270gt illustreret nedenfor.Problemet er, at funktionen ikke kan udvides til funktion kontinuert p\303\245 det lukkede interval [0, 2]: epsilon:=.3:
h:=.1:
p1:=FyldtPlot([f(x)+epsilon,f(x)-epsilon],x=0..2,plotoptions=[view=[0..2,0..5],color=yellow,transparency=0.5]):
p2:=plot([f(x),f(x+h),f(x)+epsilon,f(x)-epsilon],x=0..2,y=0..5,color=[black,blue,red,red],legend=[typeset(''f''(x)),typeset(''f''(x+h)),typeset(''f(x)''+epsilon),typeset(''f(x)''-epsilon)]):
display(p1,p2);En animation af det samme, hvor animationsparameteren er h:epsilon:=.3:
h:='h':
p1:=FyldtPlot([f(x)+epsilon,f(x)-epsilon],x=0..2,plotoptions=[view=[0..2,0..5],color=yellow,transparency=0.5]):
animate(plot,[[f(x),f(x+h),f(x)+epsilon,f(x)-epsilon],x=0..2,y=0..5,color=[black,blue,red,red]],h=0.2..0.05,background=p1);I n\303\246ste eksempel er funktionen ogs\303\245 kontinuert p\303\245 ]0, 2], men heller ikke uniformt kontinuert.Problemet er, at funktionen ikke kan udvides til funktion kontinuert p\303\245 det lukkede interval [0, 2]: f:=x->sin(1/x):
epsilon:=.3:
h:=.1:
p1:=FyldtPlot([f(x)+epsilon,f(x)-epsilon],x=0..2,plotoptions=[color=yellow,transparency=0.5]):
p2:=plot([f(x),f(x+h),f(x)+epsilon,f(x)-epsilon],x=0.05..2,color=[black,blue,red,red],legend=[typeset(''f''(x)),typeset(''f''(x+h)),typeset(''f(x)''+epsilon),typeset(''f(x)''-epsilon)]):
display(p1,p2);I vores n\303\246ste eksempel er funktionen kontinuert p\303\245 hele den reelle akse, men funktionen er ikke uniformt kontinuert.Funktionen er uniformt kontinuert p\303\245 enhver begr\303\246nset delm\303\246ngde af R.Problemet her er det ubegr\303\246nsede interval.I dette konkrete tilf\303\246lde g\303\245r det galt, fordi LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEkc2luRicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUklbXN1cEdGJDYlLUYsNiVRInhGJy9GMFEldHJ1ZUYnL0YzUSdpdGFsaWNGJy1GIzYlLUkjbW5HRiQ2JFEiMkYnRjJGQEZCLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0YyRjJGMg== og LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkjbWlHRiQ2JVEkc2luRicvJSdpdGFsaWNHUSZmYWxzZUYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JKG1mZW5jZWRHRiQ2JC1GIzYkLUklbXN1cEdGJDYlLUY2NiQtRiM2Ji1GLDYlUSJ4RicvRjBRJXRydWVGJy9GM1EnaXRhbGljRictSSNtb0dGJDYtUSIrRidGMi8lJmZlbmNlR0YxLyUqc2VwYXJhdG9yR0YxLyUpc3RyZXRjaHlHRjEvJSpzeW1tZXRyaWNHRjEvJShsYXJnZW9wR0YxLyUubW92YWJsZWxpbWl0c0dGMS8lJ2FjY2VudEdGMS8lJ2xzcGFjZUdRLDAuMjIyMjIyMmVtRicvJSdyc3BhY2VHRmZuLUYsNiVRImhGJ0ZERkZGMkYyLUYjNiUtSSNtbkdGJDYkUSIyRidGMkZERkYvJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnRjJGMkYy er faseforskudt med LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYoLUkjbW5HRiQ2JFEiMkYnLyUsbWF0aHZhcmlhbnRHUSdub3JtYWxGJy1JI21vR0YkNi1RIn5GJ0YvLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0Y4LyUpc3RyZXRjaHlHRjgvJSpzeW1tZXRyaWNHRjgvJShsYXJnZW9wR0Y4LyUubW92YWJsZWxpbWl0c0dGOC8lJ2FjY2VudEdGOC8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRkctSSNtaUdGJDYlUSN4aEYnLyUnaXRhbGljR1EldHJ1ZUYnL0YwUSdpdGFsaWNGJy1GMzYtUSIrRidGL0Y2RjlGO0Y9Rj9GQUZDL0ZGUSwwLjIyMjIyMjJlbUYnL0ZJRlctSSVtc3VwR0YkNiUtRks2JVEiaEYnRk5GUS1GIzYlRitGTkZRLyUxc3VwZXJzY3JpcHRzaGlmdEdRIjBGJ0Yv, hvor det er f\303\270rste led, der er problemet. Leddet vil antage enhver v\303\246rdi, n\303\245r x genneml\303\270ber R. f:=x->sin(x^2):
epsilon:=.3:
h:=.1:
p1:=FyldtPlot([f(x)+epsilon,f(x)-epsilon],x=0..5,plotoptions=[color=yellow,transparency=0.5]):
p2:=plot([f(x),f(x+h),f(x)+epsilon,f(x)-epsilon],x=0..5,color=[black,blue,red,red],legend=[typeset(''f''(x)),typeset(''f''(x+h)),typeset(''f(x)''+epsilon),typeset(''f(x)''-epsilon)]):
display(p1,p2);f:=x->sin(x^2):
epsilon:=.3:
h:='h':
p1:=FyldtPlot([f(x)+epsilon,f(x)-epsilon],x=0..5,plotoptions=[color=yellow,transparency=0.5]):
animate(plot,[[f(x),f(x+h),f(x)+epsilon,f(x)-epsilon],x=0..5,color=[black,blue,red,red]],h=0.2..0.05,background=p1);