MAPLE V Hakkında... Maple V, bilgisayar ile matematik

advertisement
MAPLE V Hakk�nda...
Maple V, bilgisayar ile matematik çal�şmalar�nda kullan�lan en güçlü hesaplama
(computation) sistemlerinden birisidir. Kullan�m kolayl�ğ�, genişleyebilirliği, işlem h�z� ve
minimum düzeyde bellek ve donan�m kapasitesi gereksinimi ile Maple ve Maple V, çeşitli
düzenlemeleri ile 10 y�l� aşk�n bir süredir dünya üzerinde mühendislerden bilim adamlar�na,
matematikçilerden öğretmen ve öğrencilere kadar 100.000’in üzerinde bir kullan�c� say�s�na
sahiptir.
Maple V’in başl�ca özellikleri aras�nda nümerik ve sembolik hesaplama, her türlü
matematiksel notasyonu yazabilme, 2 ve 3 boyutlu grafik çizimleri ve grafik animasyonlar�
say�labilir. Bu özellikleri ile Maple, yoğunlukla analiz (Calculus) ve diferensiyel denklemler
olmak üzere geometri, lineer cebir, olas�l�k-istatistik, ayr�k matematik, say�lar teorisi, nümerik
analiz ve temel matematik gibi matematiğin pek çok dal�nda etkin olarak kullan�labilmektedir.
Bunlar�n yan�s�ra, 2500 dolaylar�nda haz�r matematiksel yordam Maple V’in yordam
kütüphanesinde kullan�labilir durumdad�r. Ayr�ca Pascal benzeri yüksek-düzeyli bir
programlama dili sayesinde amaca uygun olarak istenilen uygulamalar�n geliştirilmesi ve
böylelikle kütüphanenin genişletilmesi mümkündür.
Maple, Amerika Birleşik Devletlerinde, Waterloo Üniversitesinde 1980 y�l�n�n Aral�k ay�nda
Keith Geddes ve Gaston Gonnet taraf�ndan kurulumuş olan Symbolic Computation Group
(SGC) taraf�ndan geliştirilmiştir. Bilgisayar Cebiri (Computer Algebra) alan�nda birçok
kan�tlanm�ş teorem ve bunlar baz al�narak yaz�lm�ş bilimsel makalenin üzerine kurulan
sistem, C programlama dili kullan�larak kodlanm�şt�r. Bugün Maple V, Release 4 ve 5
sürümleri ile Macintosh, MS Windows, MS DOS, Unix, VMS, NeXT, Ultrix ve UNICOS
gibi en popüler ve yayg�n işletim sistemleri ortamlar�nda çal�şabilmektedir. Maple çal�şma
sayfalar� (worksheet) bu sistemlerin tümünde ortak bir görünüme sahip olduğundan, işlemler
bir platformdan diğerine kolayl�kla taş�nabilmektedir.
MAPLE V ile Matematiksel Analiz ve Matematik Öğretiminde Maple V Kullan�m�
Maple, bir araşt�rmac�, bir matematik öğrencisi ve matematiği öğrenmeye çal�şan herhangi bir
öğrenci için farkl� biçimlerde yorumlanabilir. Bir araşt�rmac� için Maple, h�zl� ve hatas�z
matematiksel işlem yetenekleri ile işlerini kolaylaşt�racak mükemmel bir yard�mc�d�r. Bir
matematik öğrencisi içinse durum çok daha farkl�d�r. Bir fizik ya da kimya öğrencisi, teorik
derslerinde gördüğü kavramlar�n birçoğunu laboratuar uygulamalar�nda somutlaşt�rabilirken,
bir matematik öğrencisinin bunu gerçekleştirme şans� pek yoktur. İşte son y�llarda geliştirilen
Maple gibi bilgisayar cebiri sistemleri, bir bak�ma matematik öğrencisinin bu aç�ğ�n� önemli
ölçüde kapatm�şt�r. Soyut bir bilim olan matematiğin, analiz gibi temel somut kavramlarla
desteklenmiş bir dal�nda, bu kavramlar� nesnel olarak karş�s�nda gören matematik öğrencisi
için y�llard�r uğraşt�ğ� ve çok teorik bulduğu matematiği daha iyi anlayabilmesi için bundan
iyi f�rsat olamaz.
Diğer yandan, matematik öğretiminde kullan�labilecek bir araç gözüyle bakt�ğ�m�z takdirde
Maple, yine kavramlar�n somut olarak gözlemlenebilmeleri sayesinde oldukça önemli bir
öğretim materyali olarak karş�m�za ç�kacakt�r. Örneğin bir parametreye bağl� olarak değişen
bir fonksiyon grafiği, öğrencinin kafas�ndaki fonksiyon kavram�n� ezbere bir tan�m olmaktan
ç�kararak, bir daha unutmamak üzere vurgulayacakt�r. Öte yandan, gerçekte el ile
yap�ld�ğ�nda ne kadar çok vakit ald�ğ�n� bildiği karmaş�k işlemleri kendisi için göz aç�p
kapay�ncaya kadar gerçekleştiren bir makine ile çal�şmak öğrenciyi cezbedecek, dolay�s�yla
bu onun için öğrenmeye teşvik edici bir motivasyon sağlayacakt�r.
1. FONKSİYONLAR
Maple’da bir ya da çok değişkenli fonksiyonlar tan�mlanabilir ve onlar üzerinde bileşke, değer
bulma, limit ve grafik çizimi gibi işlemler gerçekleştirilebilir.
1.1. Fonksiyonlar�n Tan�mlanmas�
En basit şekliyle tek değişkenli bir fonksiyonu,
>f:=x^2;
f:=x2
olarak tan�mlayabiliriz. Ancak bu gösterimde, örneğin f(3) değerini hesaplatmak
istediğimizde,
>f(3);
f(3)
bildirimi Maple için anlaml� olmayacakt�r. Bunun yerine,
>subs(x=3,f);
9
kullan�labilir. Bu şekilde tan�mlanm�ş bir f fonksiyonu diğer tüm işlemlerde “f” simgesi ile
kullan�lmal�d�r. "f(x)” simgesi, işlemin yanl�ş sonuç vermesine sebep olacakt�r.
Diğer bir tan�mlama biçimi, bağ�ml� değişkenin belirli olduğu,
>f:=x->x^2
f:=x→x2
şeklindedir. Bu tan�mlama ile,
>f(3);
9
olarak hesaplanabilir. Bu durumda işlemlerde kullan�lacak fonksiyon simgesi “f(x)” olacakt�r.
Çok değişkenli fonksiyonlar, tan�m ve değer kümelerinin durumuna göre farkl� biçimlerde
tan�mlanabilirler. Örneğin, f:IR2→IR, f(x,y)=x2+2y+5 fonksiyonunu,
>f:=x^2+2*y+5;
f:= x2+2y+5
olarak tan�mlayabiliriz. Bu fonksiyon için değer hesaplatma işlemini ise, tek değişkenlilerde
olduğu gibi,
> subs(x=1,y=2,f);
10
olarak yapabiliriz.
Diğer yandan, g:IR2→ IR2, g(x,y)=(x+1,y+2) fonksiyonunu göz önüne alal�m. Bu fonksiyonu,
>g:=x->x+1, y->y+2;
g:=x→x+1,y→y+2
olarak tan�mlamak mümkündür. Bu durumda, örneğin g(1,1) değerini,
>g(1,1);
2,3
olarak doğrudan hesaplatabiliriz.
1.2. Kapal� Tan�ml� Fonksiyonlar
Kapal� tan�ml� fonksiyonlar�n tan�mlanmas� da önceki kesimde anlat�ld�ğ� gibi basit olarak
gerçekleştirilebilir. Şöyle ki,
>p:=x*y^2+y-x=0;
p:=xy2+y-x=0
denklemini göz önüne alal�m. Kapal� olarak bir fonksiyon tan�mlayan bu denklemin -3≤x≤3,
-3≤y≤3 için grafiğini çizdirelim:
>with(plots):
>implicitplot(p,x=-3..3,y=-3..3);
Şimdi p denklemini y değişkenine göre çözdürelim:
>pd:=solve(p,y);
pd :=
1 − 1 + 1 + 4x2 1 − 1 − 1 + 4x2
,
2
x
2
x
Art�k p denkleminden iki tane fonksiyon elde ettik. Şimdi bu fonksiyonlar�n ayr� ayr�
grafiklerini çizdirelim:
>plot(pd[1],x=-3..3,y=-3..3);
>plot(pd[2],x=-3..3,y=-3..3);
Böylelikle başlang�çta elde ettiğimiz grafiği iki parça halinde yeniden elde etmiş olduk.
1.3. Fonksiyonlar�n Bileşkesi
Bileşke işlemini “subs” komutunu kullanarak gerçekleştirebilirsiniz. Bunu aşağ�daki örnekle
inceleyelim:
Örnek
>f:=x^3;
f:=x3
>g:=x+1;
g:=x+1
>gof:=subs(x=f,g);
gof:=x3+1
1.4. Fonksiyonlar�n Limiti
Fonksiyonlar�n limitlerini, Maple’�n “limit” fonksiyonunu kullanarak hesaplatabiliriz. Bu
fonksiyonun genel formu;
limit(f,x=x0,d)
biçimindedir. Burada f, x değişkeni x0 noktas�na yaklaş�rken limiti hesaplanacak
fonksiyondur. x0, “infinity” ya da “-infinity” olabilir. d ise yön belirtir ve “left”, “right”,
“real”, ya da “complex” değerlerinden birini al�r. Yaz�lmas� zorunlu değildir.
Örnek 1
3 − 2x
limitini hesaplayal�m:
x →∞ x − 1
lim
>limit((3-2*x)/(x-1),x=infinity);
-2
Örnek 2
f ( x) = 3x −
2
fonksiyonunu göz önüne alal�m. Bu fonksiyonun türevini, türevin limitle
x
tan�m� olan,
lim
h →0
tan�m�n� kullanarak hesaplatal�m:
f ( x + h) − f ( x)
h
>f:=x->3*x-2/x;
1
x
f := x → 3 x − 2
>limit((f(x+h)-f(x))/h,h=0);
3x 2 + 2
x2
olur. Gerçektende,
>diff(f(x),x);
3+ 2
1
x2
olur.
Örnek 3
S�ras�yla, lim
x →0 +
1 − 1 + 1 + 4x 2
1 − 1 + 1 + 4x 2
ve lim
limitlerini hesaplayal�m.
x →0 − 2
2
x
x
>y:= (-1+sqrt(1+4*x^2))/(2*x);
1 − 1 + 1 + 4x 2
x
2
>limit(y,x=0,right);
-∞
>limit(y,x=0,left);
∞
O halde aşağ�daki bildirimden sonra alacağ�m�z yan�t bizi şaş�rtmamal�d�r:
>limit(y,x=0);
undefined
UYGULAMALAR
1. Green Teoremi kullan�larak, C eğrisi saat yönünün tersi yön ile (0,0), (1,1) ve (0,2) köşe
noktalar�na sahip üçgen olmak üzere,
2
2
2
∫ (x + y )dx + (x + 2 y) dy
C
integralinin hesaplanmas�.
Green Teoremi : R, xy-düzleminde düzgün kapal� bir C eğrisi ile s�n�rl� bölge ve P=P(x,y),
Q=Q(x,y) fonksiyonlar� R üzerinde sürekli ve diferensiyellenebilir olsunlar. Bu durumda,
C eğrisi saat yönünün tersi yönde taranmak üzere,
 ∂Q
∂P 
∫ Pdx + Qdy = ∫∫  ∂x − ∂y 
C
olur.
> geometry[point](A,[0,0]);
A
> geometry[point](B,[1,1]);
B
> geometry[point](C,[0,2]);
C
> geometry[triangle](ABC,[A,B,C]);
ABC
> geometry[draw](ABC);
> geometry[line](L1,[A,B]);
L1
> geometry[line](L2,[B,C]);
L2
> E1:=geometry[Equation](L1);
> enter name of the horizontal axis > x;
> enter name of the vertical axis > y;
E1 := -x + y = 0
R
> E2:=geometry[Equation](L2);
> enter name of the horizontal axis > x;
> enter name of the vertical axis > y;
E2 := 2 - x - y = 0
> F1:=solve(E1,y);
F1 := x
> F2:=solve(E2,y);
F2 := 2 - x
> P:=x^2+y^2;
P := x2 + y2
> Q:=(x+2*y)^2;
Q := (x + 2 y)
> int(int(diff(Q,x)-diff(P,y),y=F1..F2),x=0..1);
8/3
2. Bir y=f(x) fonksiyonu için, belirli bir ( x1 , x2 )
teoremini sağlayan c sabitinin bulunmas�.
aral�ğ� üzerinde ortalama değer
Ortalama Değer Teoremi : f : A ⊂ IRn → IR fonksiyonu A aç�k kümesi üzerinde
türevlenebilir olsun. Herhengi iki x1 ,x2∈A noktas� için, x1 ile x2’yi birleştiren doğru
parças� A içinde kalmak üzere, bu doğru üzerinde öyle bir c noktas� vard�r ki, f (x1)-f
(x2)=Df (c) (x1 -x2) eşitliği sağlan�r.
odteo := proc(f, a, b)
local dfc, fa, fb, k;
dfc := subs(x = c, diff(f, x));
fa := subs(x = a, f);
fb := subs(x = b, f);
k := solve(fa - fb = dfc*(a - b), c);
RETURN(k);
end;
> odteo(x^2,0,5);
5/2
3. Bir F(x,y)=0 fonksiyonunun eğrisinin, girilecek doğrularla s�n�rlad�ğ� bölgenin x ya da y
ekseni etraf�nda döndürülmesi ile oluşacak hacmin hesaplanmas�.
Diskler Yöntemi : F(x,y)=0 ise y=f(x) veya x=g(y) olur. Bu durumda,
b
Dönme ekseni x-ekseni ise V = π ∫ [f ( x )]2 dx
a
d
Dönme ekseni y-ekseni ise V = π ∫ [g ( y)] 2 dy
c
olur.
dhacim := proc(f, eksen, alt, ust)
local v, rf, hcm;
if eksen = x then v := y else v := x; fi;
rf := solve(f, v);
hcm := Pi*int(rf[1]^2,eksen=alt..ust);
RETURN(hcm);
end;
> dhacim(y=3-x^2,y,1,2);
3π/2
4. İstenilen bir n’nci basamaktan Legendre polinomunun hesaplanmas�. Bunun için,
Pn ( x ) =
1 d
n! dy n
1
y 2 − 2 xy + 1
y =0
formülü kullan�labilir.
legendrepoly := proc(n) local L;
L := subs(y = 0, diff(1/sqrt(y^2 - 2*x*y + 1), y $ n)/n!);
RETURN(L);
end
> legendrepoly(8);
6435 8 3003 6 3465 4 315 2 35
x +
x −
x +
x −
128
32
64
32
128
5. Tek değişkenli fonksiyonlarda kritik nokta analizi.
y=f(x) fonksiyonunun dy/dx=0 denklemini sağlayan kritik noktalar�n�n analizini, ikinci
türev testini kullanarak gerçekleştirebiliriz. Buna göre, bir c kritik noktas� için, y xx(c)=0
ise c bir dönüm noktas�, yxx(c)>0 ise c bir minimum nokta, yxx(c)<0 ise c bir maksimum
noktad�r.
knokta1 := proc(f)
local a, j, aa, nk;
a := diff(f, x $ 2);
nk := [solve(diff(f, x), {x})];
for j to nops(nk) do
aa := subs(nk[j], a);
if aa < 0 then
print(nk[j], `bir maksimum noktad�r...`);
fi;
if 0 < aa then
print(nk[j], `bir minimum noktad�r...`);
fi;
if aa = 0 then
print(nk[j], `bir dönüm noktas�d�r...`);
fi;
od;
end;
> knokta1(x^3/2-3*x^2/2+5);
{x = 0}, bir maksimum noktad�r...
{x = 2}, bir minimum noktad�r...
Not : nk çözüm kümesinin hesaplanmas�na ilişkin aşağ�daki işlemleri ve sonuçlar�n�
inceleyiniz:
>f:=x^3/2-3*x^2/2+5;
>nk:=solve(diff(f,x),x);
nk := 0, 2
>nk:=solve(diff(f,x),{x});
nk := {x = 0}, {x = 2}
>nk:=[solve(diff(f,x),{x})];
nk := [{x = 0}, {x = 2}]
İlk işlem, solve operatörünün yal�n kullan�m�d�r. Ancak sonuçlar� daha sonra subs operatörü ile
kullanacağ�m�zdan ikinci işlemin sonucu daha kullan�şl� olacakt�r. Diğer yandan elde edeceğimiz verinin liste
tipinde olmas�, amac�m�za tam uygunluk gösterecektir. Aksi takdirde nk değişkenine nops operatörünü
uygulay�p eleman say�s�n� elde edemeyiz.
6. İki değişkenli fonksiyonlarda kritik nokta analizi : z=f(x,y) durumu.
Teorem : (a,b) noktas�, z=f(x,y) fonksiyonunun bir kritik noktas�* ve f(x,y) ile fxx=∂2f/∂x2,
fyy=∂2f/∂y2, fxy= fyx=∂2f/∂x∂y k�smi türevleri bu noktan�n bir komşuluğunda sürekli
olsunlar. A=fxx(a,b), B=fxy(a,b), C=fyy(a,b) ve D=AC-B2 diyelim. Bu durumda,
i.
Eğer D>0 ve A<0 ise (a,b) bir yerel maksimum noktad�r.
ii.
Eğer D>0 ve A>0 ise (a,b) bir yerel minimum noktad�r.
iii.
Eğer D<0 ve A=0 ise (a,b) bir semer noktas�d�r.
* z=f(x,y) fonksiyonunun kritik noktalar�, fx(x,y)=0 ve fy(x,y)=0 denklemlerini sağlayan
(x,y) noktalar�d�r.
knokta2 := proc(f)
local a, b, c, d, j, aa, dd, nk;
a := diff(f, x $ 2);
b := diff(f, x, y);
c := diff(f, y $ 2);
d := a*c - b^2;
nk := [solve({diff(f, x), diff(f, y)}, {y, x})];
for j to nops(nk) do
aa := subs(nk[j], a);
dd := subs(nk[j], d);
if 0 < dd and aa < 0 then
print(nk[j], `bir maksimum noktad�r...`);
fi;
if 0 < dd and 0 < aa then
print(nk[j], `bir minimum noktad�r...`);
fi;
if dd < 0 and aa = 0 then
print(nk[j], `bir semer noktas�d�r...`);
fi;
od;
end;
> knokta2(x^3+y^2-3*x*y);
{x = 0, y = 0}, bir semer noktas�d�r...
{y = 9/4, x = 3/2}, bir minimum noktad�r...
7. İki değişkenli fonksiyonlarda kritik nokta analizi : F(x,y,z)=0 durumu.
Verilen fonksiyonun Hessian matrisi,

2
 −∂ F
 ∂x 2
∆1

2

∂ F
HF =  −
 ∂y∂x

2
− ∂ F
 ∂x∂z

∂ 2F
−
∂y∂x
−
−
∂ 2F
∂y 2
∂2F
∂y∂z




∂ 2F 
−

∂z∂y 

∂ 2F 
− 2

∂z ∆ 3 
−
∆2
∂ 2F
∂z∂x
olarak tan�ml�d�r. Buna göre (a,b,c) kritik noktas�nda*,
i.
|∆1|>0, |∆2|>0 ve |∆3|>0 ise bu nokta maksimum noktad�r.
ii.
|∆1|<0, |∆2|>0 ve |∆3|<0 ise bu nokta minimum noktad�r.
iii.
|∆2|<0 ise bu nokta semer noktas�d�r.
* Söz konusu kritik noktalar, ∂F/∂x=0, ∂F/∂y=0, ∂F/∂z=0 sistemini sağlayan noktalard�r.]
knokta2K := proc(f)
local fxx, fyy, fzz, fyx, fzx, fyz, m1, m2, d1, d2, d3, nk,
dd1, dd2, dd3, j;
fxx := diff(lhs(f), x $ 2);
fyy := diff(lhs(f), y $ 2);
fzz := diff(lhs(f), z $ 2);
fyx := diff(lhs(f), y, x);
fzx := diff(lhs(f), z, x);
fyz := diff(lhs(f), y, z);
m1 := linalg[matrix](2, 2, [-fxx, -fyx, -fyx, -fyy]);
m2 := linalg[matrix](3, 3, [-fxx, -fyx, -fzx, -fyx, -fyy, -fyz, -fzx, -fyz, -fzz]);
d1 := -fxx;
d2 := linalg[det](m1);
d3 := linalg[det](m2);
nk := [solve({diff(lhs(f), x), diff(lhs(f), y), diff(lhs(f), z)},{y, x, z})];
for j to nops(nk) do
dd1 := subs(nk[j], d1);
dd2 := subs(nk[j], d2);
dd3 := subs(nk[j], d3);
if 0 < dd1 and 0 < dd2 and 0 < dd3 then
print(nk[j], `bir maksimum noktad�r...`);
fi;
if dd1 < 0 and 0 < dd2 and dd3 < 0 then
print(nk[j], `bir minimum noktad�r...`);
fi;
if dd2 < 0 then
print(nk[j], `bir semer noktas�d�r...`);
fi;
od;
end;
> knokta2K(x^2+y^2+z^2+2*x+3*y-2*z+10=0);
{x = -1, z = 1, y = -3/2}, bir minimum noktad�r...
8. f1 ve f2 fonksiyonlar�n�n eğrileri aras�nda kalan alan�n hesaplanmas�.
alan := proc (f1, f2)
local j, nk, tpl;
tpl := 0;
nk := [solve(f1 = f2,x)];
if nops(nk) = 1 then RETURN(`İki eğri tek noktada kesişmektedir...`); exit; fi;
nk := sort(nk);
for j from 2 to nops(nk) do tpl := tpl+int(abs(f1-f2),x = nk[j-1] .. nk[j]); od;
RETURN(tpl);
end;
> alan(x^3,x);
1/2
9. Taban yar�çap� r ve yüksekliği h olan bir silindirin hacminin üç-katl� integral yard�m� ile
hesaplanmas�.
İntegralde kullan�lacak s�n�rlar�n belirlenmesi için aşağ�daki şekli inceleyiniz. Biz, söz
konusu bölgenin dörtte birini inceliyoruz. Dolay�s�yla sonucun 4 ile çarp�lmas� gerekiyor.
Şekilde taral� bölge, yani tabandaki x2+y2=r2 çemberinin dörtte birinin z-ekseni boyunca h
noktas�na kadar taranmas� ile elde edilecek hacim,
r
V=
r2 −x2 h
∫ ∫ ∫1dzdydx
0
0
0
integrali ile belirlenir. Bu durumda silindirin hacmi ise 4V’ye eşit olacakt�r.
silindir_hcm := proc (r, h)
local v;
v := 4*int(int(int(1,z = 0 .. h),y = 0 .. sqrt(r^2-x^2)),x = 0 .. r);
RETURN(v);
end;
>silindir_hcm(2,3);
12π
10. Silindir biçiminde ve yat�k konumda duran bir su kazan� bulunmaktad�r. Bu kazan�n ön ve
arka yüzünü oluşturan çemberlerin yar�çap� r, silindirin uzunluğu ise h birimdir.
Problemimiz, kazan�n ön yüzünde yer alan şeffaf bölmeden bak�ld�ğ�nda gözlenen su
seviyesi için kazanda bulunan suyun hacminin hesaplanmas�d�r.
Bunun için, dik koordinat sistemine oturtulmuş yat�k konumdaki bir silindiri, zeksenindeki bir s noktas�nda (su seviyesi) xy-düzlemine paralel bir düzlemle keseceğiz ve
oluşan parçan�n hacmini üç-katl� integral yard�m� ile hesaplayacağ�z.
S�n�rlar� belirlerken integral işleminde kolayl�k sağlamas� aç�s�ndan yüzeyin yar�s�n�
düşüneceğiz ve sonucu iki ile çarpacağ�z. Bu durumda hacmi verecek integral,
s h
r 2 −( z − r ) 2
0 0
0
∫∫ ∫1dxdydz
V= 2.
biçiminde olacakt�r.
kazan := proc(s, r, h)
local v;
v := 2*int(int(int(1, x = 0 .. sqrt(r^2 – (z–r)^2)), y = 0 .. h),z = 0 .. s);
RETURN(v);
end;
> kazan(4,2,2);
8π
Bu, yüzey yar�çap� 2 birim, uzunluğu 2 birim olan bir kazanda s=4 birim seviyesindeki hacmi
vermektedir. s=2r olduğundan sonucun tüm kazan�n hacmi (πr2h) olmas� doğald�r.
Ayn� kazan için seviyeyi yar�ya düşürürsek,
> kazan(2,2,2);
4π
sonucunu al�r�z. Ve yine ayn� kazan için seviyeyi dörtte bire düşürürsek,
> kazan(1,2,2);
8
−2 3 + π
3
olarak hesaplanabilir.
v
11. Verilen bir α : [a , b] ⊂ IR → IR 3 eğrisinin diferensiyel geometrik olarak incelenmesi.
v
Yaz�lacak prosedür, parametre olarak α (t) eğrisini liste tipinde alacak ve aşağ�daki
hesaplamalar� ve yorumlamalar� gerçekleştirecektir:
� İlk olarak eğrinin düzenli olup olmad�ğ� denetlenmelidir. Bunun için,
v
dα
n=
dt
2
olmak üzere, n≠0 olmal�d�r. Eğer n=0 ise prosedür bir hata mesaj� ile sonland�r�lmal�d�r.
� Eğer eğri düzenli ise birim h�zl� olup olmad�ğ�na bak�lmal�d�r. Çünkü Frenet-Serret
hesaplamalar�, eğrinin birim h�zl� olup olmad�ğ�na bağl� olarak değişecektir. Bunun için,
“n=1 � Birim h�zl�; Aksi takdirde birim h�zl� değildir.”
kriteri kullan�lacakt�r.
� Eğrinin yay uzunluğu hesaplanacak ve yay uzunluğu yard�m�yla
parametrelendirilecektir. Bu işlemler aşağ�daki biçimde yap�lacakt�r:
yeniden
t
Yay Uzunluğu: h(t) =
∫ n dt olarak hesapland�ktan sonra, s=h(t) eşitliğinden t=h (t)=g(s)
-1
0
v
v
v
çekilerek α (t) eğrisinde yerine yaz�l�r. Bulunan α (s), α (t) eğrisinin yay uzunluğu
kullan�larak yeniden parametrelendirilişidir.
� Eğrinin birim h�zl� olup olmamas� durumlar�na göre Frenet-Serret beşlisinin hesaplamalar�
aşağ�daki tabloda verilen formüller kullan�larak yapt�r�lacakt�r:
r
Teğet ( T )
Eğrilik (κ)
v
α Birim h�zl�
v
α Birim h�zl� değil
v
dα
dt
v
α&
v
α&
v
dT
dt
2
2
v &v&
α& × α
v 3
α&
2
2
v
Esasnormal Vektör ( N )
v
dT / dt
κ
v r
B× T
v
Binormal Vektör ( B )
v
dT v
×N
dt
v &v&
α& × α
v &v&
α& × α
v
dB v
−<
,N >
dt
v &v& &v&&
< (α& × α
), α >
v& &v&
α×α
Burulma (τ)
2
2
Bu değerler hesapland�ktan sonra söz konusu eğri için aşağ�daki yorumlar yap�labilir:
τ=0 ise eğri düzlem eğrisidir; Aksi takdirde uzay eğrisidir.
τ≠0 ve κ>0 ise eğri bir dönel helistir.
τ/κ≠0 ise eğri bir genel helistir.
τ=0 ve κ>0 ise eğri bir çemberdir.
κ=0 ise eğri bir doğrudur.
Prosedür tan�m� ve örnek uygulama aşağ�da verilmiştir:
freser := proc (L::list)
local n, T, K, N, B, B1, To, Y, L1, s1;
n := simplify(linalg[norm](diff(L,t),2),assume = positive);
if n = 0 then ERROR(`EĞRİ DÜZENLİ DEĞİLDİR`); fi;
if n = 1 then
print(`BİRİM HIZLI`);
T := diff(L,t);
K := simplify(linalg[norm](diff(T,t),2),assume = positive);
N := diff(T,t)/K;
B := simplify(linalg[crossprod](diff(T,t),N));
To := -simplify(linalg[innerprod](diff(B,t),N));
else
print(`BİRİM HIZLI DEĞİL`);
T := diff(L,t)/simplify(linalg[norm](diff(L,t),2),assume = positive);
K := simplify(linalg[norm](simplify(linalg[crossprod](diff(L,t),diff(L,t$2))),2),
assume = positive)/simplify(linalg[norm](diff(L,t),2),assume = positive)^3;
B1 := simplify(linalg[crossprod](diff(L,t),diff(L,t$2)));
B := simplify(linalg[crossprod](diff(L,t),diff(L,t$2)))/
simplify(linalg[norm](B1,2),assume = positive);
N := simplify(linalg[crossprod](B,T));
To := simplify(linalg[innerprod](B1,diff(L,t$3)))/(simplify(linalg[norm](B1,2),
assume = positive);
fi;
Y := int(n,t = 0 .. t);
s1 := solve(s = Y,t);
L1 := subs(t = s1,L);
if To <> 0 and 0 < K then print(`DÖNEL HELİS`);
elif To/K <> 0 then print(`GENEL HELİS`); fi;
if To = 0 then print(`DÜZLEM EĞRİSİ`);
else print(`UZAY EĞRİSİ`); fi;
if To = 0 and 0 < K then print(`ÇEMBER`); fi;
if K = 0 then print(DOĞRU); fi;
print(`Teğet`,T);
print(`Eğrilik`,K);
print(`Esas Normal`,N);
print(`Binormal`,B);
print(`Burulma`,To);
print(`Yay Uzunluğu`,Y);
print(`Yay Uzunluğu ile Parametrelenedirilmesi`,L1);
end;
> freser([2*cos(t),2*sin(t),t]);
BİRİM HIZLI DEĞİL
DÖNEL HELİS
UZAY EĞRİSİ
Teğet,
1
[ −2 sin( t ), 2 cos( t ),1 ] 5
5
Eğrilik,
2
5
Esas Normal, [-cos(t), -sin(t),0]
Binormal,
1
[ 2 sin( t ), − 2 cos( t ),4 ] 5
10
Burulma,
1
5
Yay Uzunluğu,
5t


1

1
 1
Yay Uzunluğu ile Yeniden Parametrelendirilmesi, 2 cos s 5  , 2 sin s 5  , s 5 
5

5
 5


12. T:IR3�IR3, T(x,y,z)=(3y+z,x-2y,4x) lineer dönüşümü veriliyor. T’nin α1=(1,1,1),
α2=(1,1,0), α3=(1,0,0) taban�na karş�l�k gelen A matrisini hesaplay�n�z. A matrisi
köşegenleştirilebilir midir?
Söz konusu A matrisi,
T(α1)=a11α1+ a12α2+ a13α3
T(α2)=a21α1+ a22α2+ a23α3
T(α3)=a31α1+ a32α2+ a33α3
olmak üzere,
  a11

A= Transpose a 21
 a
  31
olarak hesaplanabilir.
> with(linalg):
Warning, new definition for norm
Warning, new definition for trace
> T:=[3*y+z,x-2*y,4*x];
T := [3 y + z, x - 2 y, 4 x]
> Alfa1:=[1,1,1];
Alfa1 := [1, 1, 1]
> Alfa2:=[1,1,0];
Alfa2 := [1, 1, 0]
> Alfa3:=[1,0,0];
a12
a 22
a 32
a13    a11

a 23   = a12
a33   a13
a 21
a 22
a 23
a 31 
a 32 
a 33 
Alfa3 := [1, 0, 0]
> T1:=subs({x=Alfa1[1],y=Alfa1[2],z=Alfa1[3]},T);
T1 := [4, -1, 4]
> T2:=subs({x=Alfa2[1],y=Alfa2[2],z=Alfa2[3]},T);
T2 := [3, -1, 4]
> T3:=subs({x=Alfa3[1],y=Alfa3[2],z=Alfa3[3]},T);
T3 := [0, 1, 4]
> A:=array(1..3,1..3);
A := array(1 .. 3, 1 .. 3, [])
>C:=solve({T1[1]=A[1,1]*Alfa1[1]+A[1,2]*Alfa2[1]+A[1,3]*Alfa3[1],T1[2]=A[1,1]*
Alfa1[2]+A[1,2]*Alfa2[2]+A[1,3]*Alfa3[2],T1[3]=A[1,1]*Alfa1[3]+A[1,2]*Alfa2[3]+
A[1,3]*Alfa3[3],T2[1]=A[2,1]*Alfa1[1]+A[2,2]*Alfa2[1]+A[2,3]*Alfa3[1],T2[2]=A[2,
1]*Alfa1[2]+A[2,2]*Alfa2[2]+A[2,3]*Alfa3[2],T2[3]=A[2,1]*Alfa1[3]+A[2,2]*Alfa2[3
]+A[2,3]*Alfa3[3],T3[1]=A[3,1]*Alfa1[1]+A[3,2]*Alfa2[1]+A[3,3]*Alfa3[1],T3[2]=A[
3,1]*Alfa1[2]+A[3,2]*Alfa2[2]+A[3,3]*Alfa3[2],T3[3]=A[3,1]*Alfa1[3]+A[3,2]*Alfa2
[3]+A[3,3]*Alfa3[3]});
C := {A[1, 1] = 4, A[1, 2] = -5, A[2, 1] = 4, A[2, 2] = -5,
A[2, 3] = 4, A[3, 1] = 4, A[3, 2] = -3, A[3, 3] = -1,A[1, 3] =
5}
> assign(C);
> A:=transpose(A);
4
4
4

A = − 5 − 5 − 3
 5
4 − 1
> B := diag(eigenvalues(A));


− 1

0
0


1 1
B=0 − +
33
0

2 2


1 1
0
− −
0
33 


2 2
> issimilar(A,B,P);
true
> print(P);
3
1


−
−2
−


2
2
 5 5

1
1 5
− −
33 − 1 −
33 − −
33 
11
4 4
 4 4

1
1 5
 5 − 5 33
1−
33
−
33 
 4 4

11
4 4
13. Bir p(x)=anxn+an-1xn-1+...+a1x+ a0 polinomunun,
n
p( x ) e =
∑a
2
i
i =0
formülü kullan�larak Euclidean normunun hesaplanmas�.
enorm := proc(p::polynom)
local t, c;
c := [coeffs(p, x)];
t := sum(abs(c[j]), j = 1 .. nops(c));
RETURN(t);
end;
> enorm(2*x^5-7*x^4+2*x^3+2*x^2-x+4);
18
∞
14.
∑k
k =1
π
1
1
= coth(π) − eşitliğini MAPLE kullanarak gösterelim.
2
+1 2
2
> T1:=sum(1/(k^2+1),k=1..infinity);
T1 :=
1
1
I Ψ (1 − I) − I Ψ (1 + I)
2
2
> T2:=(Pi/2)*coth(Pi)-1/2;
T 2 :=
> is(T1=T2);
true
1
1
π coth(π) −
2
2
Download