Algebra Symboliczna Wykład z Algebry Symbolicznej

Transkrypt

Algebra Symboliczna Wykład z Algebry Symbolicznej
Algebra Symboliczna
1 z 26
Wykład z Algebry Symbolicznej
dr Andrzej Odrzywołek
pokój 427, IV piętro, środa 11-13
[email protected]
A. Odrzywołek
2 z 26
Algebra Symboliczna
A. Odrzywołek
Wykresy 1D
Wykres funkcji y = f (x) w przedziale (a, b): plot(f(x),x=a..b);
Kilka funkcji równocześnie: plot([f1(x),f2(x),f3(x)],x=a..b);
W postaci parametrycznej x = x(t), y = y(t): plot([x(t),y(t),t=t1..t2]);
Podstawowe opcje:
• Zakres na osi pionowej jako trzeci argument: y min..y max lub jako jeden z dalszych argumentow jako: view=y min..y max
• Kolor linii: color=nazwa coloru lub color=COLOR(RGB,0.2,0.3,0.9)
• Więcej opcji: > ?plot,options
Wykres funkcji dwóch zmiennych F (x, y):
plot3d(F(x,y),x=-x min..x max,y=y ,min..y max);
Algebra Symboliczna
3 z 26
A. Odrzywołek
plot([exp(x),ln(x),x/2,x,2*x],x=-infinity..infinity,color=[red,blue,black,
black,black], linestyle=[SOLID,SOLID,DOT,DASH,DASHDOT]);
infinity
-infinity
infinity
x
-infinity
Algebra Symboliczna
4 z 26
A. Odrzywołek
plot(sin);
1
0.5
–10
–8
–6
–4
–2
0
–0.5
–1
2
4
6
8
10
Algebra Symboliczna
5 z 26
A. Odrzywołek
plot(tanh);
1
0.5
–10
–8
–6
–4
–2
2
–0.5
–1
4
6
8
10
Algebra Symboliczna
6 z 26
A. Odrzywołek
plot(AiryAi);
0.4
0.2
–10
–8
–6
–4
–2
0
–0.2
–0.4
2
4
6
8
10
Algebra Symboliczna
7 z 26
A. Odrzywołek
plot([AiryAi(x), BesselJ(x,5)], x=-5..5, -1..1,
color=[blue, COLOR(RGB,0.2,0.8,1)], linestyle=[DASH,DOT]);
1
0.8
0.6
0.4
0.2
–4
–2
0
–0.2
–0.4
–0.6
–0.8
–1
2
4
x
Algebra Symboliczna
8 z 26
A. Odrzywołek
plot([FresnelC(t),FresnelS(t),t=-5..5],numpoints=1000);
0.6
0.4
0.2
–0.8
–0.6
–0.4
–0.2
0
–0.2
–0.4
–0.6
0.2
0.4
0.6
0.8
9 z 26
Algebra Symboliczna
A. Odrzywołek
plot3d(FresnelC(x)*FresnelS(y),x=-3..3,y=-3..3,numpoints=10000);
Algebra Symboliczna
10 z 26
A. Odrzywołek
plot3d(FresnelC(x)*FresnelS(y),x=-3..3,y=-3..3,gridstyle=triangular,numpoints=
10000, style=patchcontour,shading=zhue,contours=15,projection=0.1,axes=boxed);
0.4
0.2
0
–0.2
–0.4
–3
–3
–2
–2
–1
–1
0
0
y
1
1
2
2
3
3
x
11 z 26
Algebra Symboliczna
Niektóre z mozliwości pakietu plots
Wykresy we współrzędnych biegunowych r = f (φ):
polarplot(f(phi), phi=0..2*Pi, scaling=constrained);
Tzw. wykres w skali logarytmicznej:
logplot(f(x), x=x min..x max);
i podwójnie logarytmicznej:
loglogplot(f(x), x=x min..x max);
A. Odrzywołek
12 z 26
Algebra Symboliczna
A. Odrzywołek
polarplot(1/(1+0.8*sin(phi)),phi=0..2*Pi,scaling=constrained);
–1.5
–1 –0.5
0.5
0
–1
–2
–3
–4
–5
1
1.5
Algebra Symboliczna
13 z 26
A. Odrzywołek
(log)logplot([exp(x),log(x),xˆ2,xˆ3],x=0.01..10,
color=[red,blue,black,black],numpoints=1000);
.1e5
.1e5
.1e4
.1e4
.1e3
.1e3
.1e2
x
2
4
6
8
10 .1e–1
x
.1
.1e2
.1e2
1.
1.
.1
.1
.1e–1
.1e–1
.1e–2
.1e–2
.1e–3
.1e–3
1e–05
1e–05
1e–06
1e–06
Algebra Symboliczna
14 z 26
A. Odrzywołek
implicitplot(xˆ3+yˆ3=3*x*y,x=-3..3,y=-3..3,numpoints=10000,scaling=constrained);
2
1
–3
–2
y
x
1
–1
0
–1
–2
–3
2
15 z 26
Algebra Symboliczna
A. Odrzywołek
Przekształcenia konforemne
Analityczna funkcja zespolona f (z) definiuje przekształcenie
konforemne płaszczyzny zespolonej.
Następująca funkcja wykreśla przekształcenie siatki prostokątnej (kwadratu o rogach z min, z max):
conformal(f(z),z=z min..z max);)
Algebra Symboliczna
16 z 26
A. Odrzywołek
f (z) = z
conformal(tan(z),z=-1-I..1+I,numxy=[100,100],color=[red,blue]);
1
0.5
–1
–0.5
0.5
–0.5
–1
1
Algebra Symboliczna
17 z 26
A. Odrzywołek
f (z) = tan(z)
conformal(tan(z),z=-1.5*(1+I)..1.5*(1+I),-2-2*I..2+2*I,
grid=[20,20],numxy=[100,100]);
1
0.5
–1.5
–1
–0.5
0.5
–0.5
–1
1
1.5
Algebra Symboliczna
18 z 26
A. Odrzywołek
2
1
–2
–1
0
–1
–2
1
2
Algebra Symboliczna
19 z 26
Czy funkcja tan(z) przyjmuje wartość ±i?
solve(tan(z)=I,z);
Brak wyniku.
> fsolve(tan(z)=I,z);
-7.207846668+186.3505898*I
> evalf(subs(z=%,tan(z)));
-.2641777612·10−161+1.*I
Uwaga: Równanie tan z = ±i nie posiada żadnego rozwiązania.
(Jak to pokazać?)
A. Odrzywołek
20 z 26
Algebra Symboliczna
A. Odrzywołek
Zastosowanie animacji
Najprostsze przekształcenia konforemne:
1. f (z) = z −→ przekształcenie tożsamościowe
2. f (z) = z + c −→ przesunięcie o wektor c = a + bi
3. f (z) = eiφz −→ obrót o kąt φ
4. f (z) = kz −→ podobieństwo w skali k
Idealnie to zobaczenia tego nadaje się animacja.
Schemat jest następujący:
Jeżeli pojedynczy wykres rysujemy jako np:
> plot instr(f(x), zakres, parametry);
to animacja w ktorej zmienia się parametr t jest generowana przez:
> animate(plot instr, [f(x),zakres,parametry] , t=t min..t max,opcje animacji);
21 z 26
Algebra Symboliczna
A. Odrzywołek
Np: kolejne sekwencje przekształceń konforemnych z zostały wygenerowane jako:
animate(conformal,
[ t*z, z=0..1+I,-2-2*I..2+2*I,
grid=[10,10],numxy=[20,20] ],
t=1..2,scaling=constrained);
animate(conformal,
[2*z-(1+I)*t,z=0..1+I,-2-2*I..2+2*I,
grid=[10,10],numxy=[20,20]],
t=0..1,scaling=constrained);
animate(conformal,
[(2*z-(1+I)*1)*exp(I*t),z=0..1+I,-2-2*I..2+2*I,
grid=[10,10],numxy=[20,20]],
t=0..Pi/2,scaling=constrained);
Algebra Symboliczna
22 z 26
A. Odrzywołek
Obrót krzywej płaskiej
Jak widzimy mnożenie przez liczbę eiφm gdzie φ jest rzeczywiste, odpowiada obrotowi płaskiemu o kąt φ.
Problem: narysować wykres funkcji y = f (x) obróconej o kąt alpha.
1. Funkcję y = f (x) przedstawiamy w postaci zespolonej:
z = x + i f (x)
2. Mnożymy z przez eiφ
3. Obliczamy X(t) = Re(zeiφ), Y (t) = Im(zeiφ)
4. Rysujemy wykres funkcji danej w postaci parametrycznej:
x = X(t),
y = Y (t)
Algebra Symboliczna
23 z 26
A. Odrzywołek
Oto przykładowy wynik obrócenia funkcji y = ex o kąt φ = π/3:
–1
–2
–3
–4
–6
–4
–2
0
2
Czy zostaliśmy przekonani, że wyżej opisana procedura
rzeczywiście daje obrót??
Tylko animacja rozwiewa wątpliwości ostatecznie. . .
24 z 26
Algebra Symboliczna
A. Odrzywołek
Formaty graficzne
Maple pozwala na użycie kilku sposobów wyświetlania wykresów oraz zapisu plików
graficznych w różnych formatach.
Do zmiany standardowych ustawień, czyli wykresów wyświelanych inline służy
funkcja plotsetup.
• plotsetup(inline);
.– ustawienie domyślne
• plotsetup(window);
— wykres w osobnym oknie.
• plotsetup(x11);
— tylko Linux (UNIX): osobny proces zarządzający danym wykresem.
• plotsetup(ps, plotoptions=‘colour=rgb,width=4in,height=3in, noborder‘,
plotoutput=‘nazwa pliku.ps‘)); – postscript.
• plotsetup(jpeg, plotoptions=”height=600,width=800”,
plotoutput=‘nazwa pliku.jpg‘); — zapisanie wykresu do pliku jpg.
25 z 26
Algebra Symboliczna
A. Odrzywołek
• plotsetup(gif, plotoptions=”height=600,width=800”,
plotoutput=‘nazwa pliku.gif‘);.— GIF w tym animowane
• plotsetup(bmp, plotoptions=”height=600,width=800”,
plotoutput=‘nazwa pliku.bmp‘);. — bitmapa
• plotsetup(pov, plotoutput=‘nazwa pliku.pov‘); — eksport do formatu POVRay-a,
tylko wykresy 3D.
26 z 26
Algebra Symboliczna
A. Odrzywołek
Generowanie sekwencji plików graficznych
Ze względu na skromne możliwości eksportu animacji (tylko GIF), przydatna jest
umiejętność zapisywania sekwencji pojedynczych „klatek”:
for i from 1 to 100 do
plotsetup(jpeg,
plotoptions=”height=600,width=800”,
plotoutput=cat(‘movie/frame‘,1000+i,‘.jpg‘));
conformal((i/50.0+0.5)*z*exp(I*2*Pi*i/10)+i/100.0*exp(I*2*Pi*i/100), z=-1-I..1+I,3-3*I..3+3*I,grid=[10,10],numxy=[100,100]);
#print(i);
od;
Klatki te można następnie przetworzyć do dowolnego formatu np: AVI skompresowane przez MPEG-4 przez linuksowy program MPlayer (www.mplayerhq.hu):
$ mencoder ”mf://*.jpg” -mf fps=15 -o movie.avi -ovc lavc -lavcopts vcodec=mpeg4
Analogiczne narzędzia są dostępne dla Windows np: RAD Video Tools
(www.radgametools.com)

Podobne dokumenty