Maple
Maple
net/publication/290394433
CITATIONS READS
0 4,608
1 author:
Tolga Kabaca
Pamukkale University
42 PUBLICATIONS 189 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Pre-Service Lower Secondary School Mathematics Teachers’ Ability of Drawing the Symmetry of a Figure according to a Line View project
All content following this page was uploaded by Tolga Kabaca on 13 January 2016.
I II
sadece ilgili okuyucuları Maple programından daha ileri düzeyde
ÖNSÖZ faydalanabilir hale getirmek hedeflenmiştir.
III IV
• Kavramların işlendiği bölümler içindeki komutlar canlı ve
KİTAPTAN YARARLANIRKEN DİKKAT EDİLMESİ birbirine bağlı olduğu için çalışmanız sırasında Maple’ı kapatır ve
GEREKEN TEMEL HUSUSLAR daha sonra kaldığınız yerden devam etmek isterseniz çalışmakta
olduğunuz Maple sayfasını kaydedip kapatabilirsiniz. Fakat tekrar
açtığınızda çalışma sayfasının sorunsuz çalışması için sayfadaki
BAŞLAMADAN ÖNCE LÜTFEN OKUYUNUZ ! bütün komut satırlarını tekrar çalıştırmalısınız.
2. bölüm bazı yüksek matematik kavramlarının, Maple “>” işareti Maple’ın etkileşimli arayüzünde zaten bulunmakta
programının sunduğu görsel ve cebirsel imkânlar yardımı ile olduğundan komutları yazarken bu işareti kullanmamalısınız.
incelenmesini içermektedir.
“:” veya “;” işaretleri ise bir komut satırının bitirildiğini ve
3. bölümde, Maple programından yararlanarak bazı matematik çalıştırılmaya hazır hale geldiğini gösterir. Her komut satırı
problemlerinin nasıl çözülebileceğine dair örnekler sunulmuştur. muhakkak bu işaretlerden biri ile bitirilmelidir. İki işaretin birbirleri
yerine kullanılabileceği durumlar olduğu gibi aynı anlama gelmediği
4. bölüm ise Maple’ın ileri seviye bir özelliği olan Maple ile durumlar da vardır.
programlamayı konu almaktadır. Öncelikle Maple’a has
programlama dilinin temel özellikleri tanıtılmıştır. Daha sonra, Bu işaretlerin doğru kullanımları için 1. bölümü inceleyiniz.
Matematik çalışırken Maple yardımı ile üretilen programlardan
nasıl yararlanılabileceğine dair örnekler verilmiştir. • Maple programının 9. sürüm ve sonraki sürümlerinde iki farklı
çalışma sayfası tasarlanmıştır. Bunlardan birisi “Maple X”, diğeri
2, 3 ve 4. bölümlerde kullanılan Maple komutlarından en verimli “Classic Worksheet Maple X” isimli ikonlar tarafından temsil
şekilde yararlanabilmek için 1. bölüm mutlaka işlenmelidir. Bu edilmektedir.
bölümlerde yer alan Maple komutlarını, Maple programının çalışma
sayfasına yazıp çalıştırdığınızda komutun üretmiş olduğu cebirsel Bu kitapta örnek alınan çalışma sayfaları Maple’ın klasik
ya da grafiksel sonuçları ekranda görebileceksiniz. Bu komutları çalışma sayfasına aittir. Diğer çalışma sayfası, daha ileri düzey
kullanırken dikkat etmeniz gereken bazı noktalar aşağıda Maple uygulamaları için tasarlandığından evlerimizde kullandığımız
sıralanmıştır; kapasitedeki bilgisayarlarımızın çoğunda istenilen performansta
çalışmayabilmektedir.
• Kavramlar hakkındaki uygulamalar sırasında kullanılan Maple
komutları birbirine bağlıdır. Bu komutları Maple’a aktarırken çok Maple ile çalışmak istediğinizde, “Classic Worksheet Maple X”
dikkatli olmanız gerekmektedir. Kullanıcı olarak komutların hangi isimli ikonu kullanarak programı çalıştırınız. Eğer daha önce
kısımlarına müdahale edip değiştirebileceğinize dikkat ediniz. kaydettiğiniz bir dosyayı açmak istediğinizde bu dosyanın üzerine
çift tıklarsanız, Maple varsayılan olarak klasik çalışma sayfası
V VI
yerine diğer çalışma sayfasını açacaktır. Bu durumu engellemek
için bir defaya mahsus olmak üzere aşağıdaki uygulamayı yapınız.
VII 1
MAPLE ÖĞRENİYORUZ
Son hareketleri geri veya ileri alır.
Maple, bir bilimsel hesap makinesinin yapabildiği her işlemi
yapmanın yanında, 2 ya da 3 boyutlu grafik çizme, sembolik
hesaplamalar yapabilme ve özel cebirsel operatörlerin işlemlerini Bu üç buton Maple için geçerli fonksiyonlardır.
uygulayabilme kapasitesine sahip bir paket programdır. Maple ve Sigma, standart modu gösterir. Bunun anlamı,
benzeri programlara “Bilgisayar Cebiri Sistemleri” denir. Maple metin bölgesine işletilmeyen standart matematik
programı uygun şekilde kullanıldığında, birçok matematiksel sembolleri yerleştirir. T ye tıklandığında, Maple
kavramı anlamanızı kolaylaştırabilir. Bunun için profesyonel bir kilitlenir ve metin moduna geçilir. Burada metin
Maple kullanıcısı olmanız gerekmez. üzerinde Word’de olduğu gibi yazım değişiklikleri
yapmak mümkündür. Tekrar matematik moduna
dönmek için [> butonu tıklanır.
1.1 MAPLE ARAYÜZÜ
Bu iki buton, seçilen bölüm için alt klasör kapatma
Maple, Windows ortamında kullanmaya alışık olduğunuz birçok ve alt klasör açma işlevini gerçekleştirir.
programa benzer bir arayüze sahiptir. Bu arayüz, iki ana bölümden
oluşur; Sıradaki buton Stop işaretidir. “Panik” butonu
olarak kullanılır. Çalışmakta olan hesaplamayı
I. Bölüm: Menü ve bazı özel durdurmak için kullanılır. (Ctrl+C de aynı işi
görevleri olan düğmelerin yapar.)
bulunduğu araç çubuğu.
2 3
Birincisi, cebirsel editör görevi yapan bölge: Bu bölge, [> 1.2.1 Komut Satırını Çalıştırmak
işareti ile başlayan satırdır. Bu satıra yazdığınız her şey özel bir
yazı stili ile kırmızı renkte görünür. Bu bölgeye kurallarına uygun Her komut ; işareti ile bitirilip [Enter] tuşuna basıldığında, eğer
bir Maple komutu yazıp [Enter] tuşuna bastığınızda komutu komutta bir söz dizimi hatası yoksa çalıştırılır ve komutun sonucu
çalıştırmış olursunuz ve hemen alt satırda mavi renk ile komutun bir alt satırda mavi renk ile çıktı olarak görünür.
tanımladığı işlemin sonucu görünür. Bu bölgeye komut satırı da
diyebilirsiniz. Bu satır interaktiftir. Eğer komut ; işareti yerine : işareti ile bitirilip [Enter] tuşuna
basılırsa komut çalıştırılır ve hesaplama yapılır ancak sonuç
İkincisi kelime işlemci olarak kullanılabilen bölge: Maple ekrana yazılmaz, daha ilerideki hesaplamalarda kullanılmak üzere
açıldığında, varsayılan olarak kernel cebirsel editör olarak açılır. hafızada tutulur.
Eğer bir komut değil de açıklama tarzında bir yazı yazmak
1.2.2 Maple Komutları
istiyorsanız araç çubuğundaki düğmesine tıklayarak komut
satırını kapatırsınız. Artık satır [ işareti ile başlar ve bu satıra aynı
Maple’dan istekleriniz dört işlem olabileceği gibi özel
bir kelime işlemcide (Word) olduğu gibi yazılar yazabilirsiniz. Bu
matematiksel operatörler de olabilir. Maple, yapmış olduğu
satır interaktif değildir. Tekrar interaktif komut satırını açmak için
hesaplamaların sonuçlarını sizin alışık olduğunuz tarzda, yani
araç çubuğundaki düğmesine tıklar veya Ctrl-J tuş matematiksel dile uygun bir şekilde ekranda gösterir. Bu kısım
kombinasyonunu kullanırsınız. daha önce de belirttiğimiz gibi mavi renklidir. Mavi renkli bölgeye
müdahale edemezsiniz.
4 5
Maple’da Komutların adı genelde matematiksel operatörün İngilizce
Matematiksel Maple sonucu olarak
yazım tarzı karşılığının kısaltılmış halinden oluşur.
İşlem ekranda görülen çıktı
örnekleri
evalf komutu;
Toplama, 2+4; 6
çıkarma 5-7; -2 Maple, hesap makinesinden farklı olarak bir hesaplamanın
sonucunu sembolik olarak da verebilir. Sonucun sayısal karşılığını
56 görmek istiyorsanız evalf komutunu aşağıdaki gibi kullanabilirsiniz;
7*8; 7
Çarpma, bölme 7/8; evalf( F,m)
8
Bir sayının F = hesaplanacak ifade
kuvveti 2^5 32
25 m = ifadenin kaç basamağının hesaplanacağı
6 7
1.2.5 Maple’da Atama Yapma ve Fonksiyon Tanımlama
Sembol veya Maple’da yazılışı Maple’da kullanımı kolaylaştıran unsurlardan biri de, bir
Uyarılar
fonksiyon ve kullanımı değişkeni sabit bir sayıya ya da bir fonksiyona atayabilmektir.
>Pi; Pi yazarken p harfi Atama kavramını isimlendirme gibi düşünebilirsiniz. Atama yapmak
π büyük, i harfi küçük için önce sayı, fonksiyon ya da ifadeye hangi ismi verecekseniz
π sayısı >evalf(Pi); onu yazarsınız daha sonra := işaretinden sonra sayı, fonksiyon ya
yazılmalı. pi, Pİ, pİ gibi
3.141592654 yazımlar doğru değildir. da ifadeyi yazarsınız.
>exp(1); exp(m) = em anlamına Bir atama yaptıktan sonra, bir harf ile atadığınız
e gelmektedir. e sayısını (isimlendirdiğiniz) ifade yerine o harfi kullanabilirsiniz.
e sayısı >evalf(exp(1)); belirtmenin tek yolu
2.718281828 exp(1) yazmaktır. Örnek:
Maple trigonometrik
>sin(2); ifadeleri hesaplarken > b:=3;
sin( 2 ) bağımsız değişkeni, b := 3
>evalf(sin(2)); varsayılan olarak radyan
0.9092974268 cinsinden kabul eder. Bundan sonra Maple, “b” yazıldığında 3 değerini algılayacaktır.
Çünkü derslerimizde de
>tan(Pi/3);
öğrendiğimiz gibi radyan, > 5^b;
Trigonometrik 3 açı ölçüsü ile sıradan bir 125
fonksiyonlar >cot(Pi/2); reel sayının buluştuğu
0 yerdir. Yani hem > a:=x^2;
>cos(Pi/6); trigonometrik oranın
içinde hem de dışında
a := x 2
3
aynı değişkeni
2 kullanıyorsanız radyan Bundan sonra Maple, “a” yazıldığında x2 değişkenini
olmalıdır. algılayacaktır.
Maple, log ile doğal
>log(10); logaritma olan ln > a/7;
ln( 10 ) yazımını aynı anlamda x2
>ln(exp(1)); varsayar. logab yazmak 7
Logaritmik 1 istiyorsanız log[a](b)
fonksiyon >log[2](10); veya taban değiştirme Not: Bir Maple dosyasında çeşitli atamalar yapıp bu sayfayı
ln( 10 ) kuralını kullanarak daha sonra kullanmak üzere kaydedip kapatsanız bile tekrar
ln( 2 ) ln(a ) açtığınızda bu atamaların hiçbiri hafızada kalmaz. Bütün atama
yazabilirsiniz.
ln(b) satırlarını tekrar çalıştırarak (satırın üzerine gelip [Enter] tuşuna
basmak) atamaları yenilemelisiniz.
Bu fonksiyonlar ve semboller arttırılabilir. Burada en sık
Bir çalışma sayfasındaki atamaları sayfayı kapatmadan
kullanılanların tanıtılması ile yetinilmiştir.
sıfırlamak istiyorsanız bir komut satırına restart; komutu yazıp
çalıştırmalı veya araç çubuğundaki düğmesini tıklamalısınız.
8 9
1.2.6 Tanımlanan İfadede Değişken Yerine Bir Değer Yazma 1.2.8 Grafik çizme
Burada yeni bir komut daha öğreneceğiz! “subs” komutu; Maple programı her türlü fonksiyonun grafiğini hem 2 boyutlu
hem de 3 boyutlu çizebilme kapasitesine sahiptir. Şimdilik sadece
Komutun kullanımı: subs(x=a,f) f isimli ifadede x değişkeni 2 boyutlu grafik çizmekten bahsedeceğiz.
yerine a değerini koy anlamına gelir.
Grafik çizmek için plot komutunu kullanırız. Bir fonksiyonun
Örnek: grafiğini çizmek için en azından fonksiyonu ve çizimin yapılacağı
tanım aralığını yazmalıyız;
> f:=3*x^2-(x-2)/(x+5);
x−2 > plot(x^2+3*x-1,x=-10..10);
f := 3 x 2 −
x+5
> subs(x=2,f);
12
> subs(x=e,f);
e−2
3 e2 −
e+5
> f:=x->sin(x)+x^2;
f := x → sin( x ) + x 2
> f(Pi/3);
3 π2
+
2 9 “plot” komutunun minimum kullanımı
plot(fonksiyon,bağımsız değişken aralığı)
f:=x->sin(x)+x^2 yazımı matematiksel olarak f(x) = sinx +
x2 anlamına gelir. Bu sayede f(a); yazarak x yerine a yazmış şeklinde olmakla beraber,
oluruz. plot(fonksiyon,bağımsız değişken aralığı,bağımlı değişken
aralığı,renk)
10 11
> plot(tan(x),x=-Pi/2..Pi/2,y=-10..10, 1.3 MAPLE’IN YARDIM MENÜSÜNÜ KULLANMAK
color=black);
Bu kullanım kılavuzu ile Maple’ın bütün özellikleri
anlatılmamıştır. Sizin eğitiminiz boyunca Maple’ı kullanabilmeniz ve
çalışmalarımız sırasında Maple ile ilgili göreceğiniz yeni özellikleri
anlayacak kadar Maple bilgisine sahip olmanız hedeflenmiştir.
Örnek:
Ayrıca, aşağıdaki gibi aynı koordinat sistemi üzerinde birden
fazla fonksiyonun da grafiği çizilebilir. Bir fonksiyonun limitini bulmaya yarayan komutu merak ettiğinizi
düşünelim. Limit zaten İngilizce bir kelimedir.
> plot([sin(x),ln(x)],x=0..2*Pi,y=-1..1,
color=[black,blue]); > ?limit
12 13
1.4 MAPLE BİLGİMİZİ GELİŞTİRİYORUZ İkinci fonksiyon ise f olarak isimlendirilmiş olsa da t
değişkeninin hangi kurala göre işlendiği tanımlanarak verildiği için f
Önceki bölümde Maple okur-yazarı olmayı hedeflemiştik. Bu adı ile çağrılan bizim fonksiyonumuz değildir. Bu tanımlamaya göre
bölümde ise Maple bilgilerimizi biraz daha geliştirmeyi hedefliyoruz. fonksiyonumuz f(t)’dir.
Maple yardımı ile yapabileceklerimizi bazı seçme başlıklar altında
tanıtmaya çalışacağız. Tabii ki f(t) tanımlaması, fonksiyonun sadece kuralıdır.
Fonksiyonun özelliğine göre bağımsız değişken uygun şekilde
1.4.1 Fonksiyon Tanımlama atanmalıdır;
14 15
> factor(A); > solve(A,x);
( x − 2 ) 2 x sin( x ) −y 2 + 5 , − −y 2 + 5
“factor” komutunun tam tersi bir işlem ise “expand” komutu ile
gerçekleştirilebilir; Yukarıda A adı ile kapalı bir fonksiyon olan çember denklemi
tanımlanmış ve solve(A,x) komutu ile A denkleminde x’in y
> B:=(x-2)^2*x*sin(x); cinsinden yazılması sağlanmıştır.
B := ( x − 2 ) 2 x sin( x )
Örneklerin çıktı satırlarından da anlaşılabileceği gibi çözülen
denklemin iki farklı sonucu varsa bu sonuçlar aralarına virgül
> expand(B); konularak görüntülenmektedir.
x 3 sin( x ) − 4 x 2 sin( x ) + 4 x sin( x )
Maple bu sonuçları sıralı n’li olarak algılamaktadır. Eğer
çözümün yapıldığı komut satırını aşağıdaki gibi isimlendirirsek
1.4.3 Denklem ve Eşitsizlik Çözme sonuçları kullanma şansımız olur;
Uygulamalarımız sırasında bazı denklemleri veya eşitsizlikleri
> B:=solve(A,x);
çözmek zorunda kalabiliriz. Bu durumda “solve” komutundan
yararlanırız. Bu komutun çalışma prensibi aşağıda B := −y 2 + 5 , − −y 2 + 5
örneklendirilmiştir.
B[k] yazımı, B adı verilen sıralı n’linin k. elemanı anlamına
> B:=x^2-2*x+5=0; gelmektedir.
B := x − 2 x + 5 = 0
2
> B[1];
> solve(B); −y 2 + 5
1 + 2 I, 1 − 2 I
Yukarıdaki gibi denklemleri bir ad ile tanımlamak yerine direk [Link] Denklem sistemleri
olarak solve komutunun içine de yazabilirsiniz;
“solve” komutunu kullanarak denklem sistemlerini de
> solve(x^2-2*x+5=0); çözebiliriz. Öncelikle, aşağıdaki gibi bir denklem sistemi
1 + 2 I, 1 − 2 I tanımlayalım;
> A:=x+2*y=1;
Bu komut çok farklı kullanım özellikleri ile de karşımıza çıkabilir.
B:=-x+3*y=3;
Aşağıdaki örneği inceleyiniz;
A := x + 2 y = 1
> A:=x^2+y^2=5; B := −x + 3 y = 3
A := x 2 + y 2 = 5
16 17
> solve({A,B}); Gördüğünüz gibi Maple aynı denklemin (-30,-20) aralığındaki
4 -3 kökünü hesapladı.
{y = , x = }
5 5
[Link] Eşitsizlikler
Eğer verilen denklem sisteminin reel kökü yok ise veya Maple Eşitsizlikler veya eşitsizlik sistemlerini de “solve” komutu ile
analitik yöntemler ile çözemiyorsa aşağıdaki gibi bir sonuç verir; çözebilirsiniz;
> ?fsolve;
> f:=sin(x)-exp(x)=0:
solve(f); 1.4.4 Grafik çizme
RootOf( _Z − ln( sin( _Z ) ) )
Maple matematiksel kavramları çok farklı şekillerde
görselleştirme yeteneğine sahiptir.
> fsolve(f);
-12.56636713 En basit grafik çizme işlemi için “plot” komutu ile tanışacağız;
Denklemlerin sayısal çözüm yöntemleri, denklemin bir tek [Link] “plot” komutu
kökünü bulmaya elverişlidir. Eğer başka kökler varsa kök için aralık
belirterek araştırılabilir; Tek değişkenli fonksiyonların grafiklerini çizmek için en sık
kullanacağımız komuttur. Fonksiyonu ve bağımsız değişkenin
> fsolve(f,x=-30..-20); aralığını girdi olarak tanımlamamız yeterlidir.
-25.13274123
18 19
> f:=exp(x)+sin(x);
f := e x + sin( x ) Çizilen grafiğin görüntü aralığını değiştirmek için, değişken
isminden bağımsız olarak, görünün anlamına gelen view
> plot(f,x=-10..10); kelimesi kullanılmaktadır.
> f:=exp(x)+sin(x);
f := e x + sin( x )
> g:=sin(2*x);
g := sin( 2 x )
> plot(f,x=-10..10,view=-5..5);
20 21
Görüntüyü daha anlaşılır hale getirmek için Maple birçok
avantaj sunar.
> plot([f,g],x=-10..10,view=-2..2,
color=[black,red]);
Grafik çizimi ile ilgili eğri stili, eğrinin kalınlığı gibi daha fazla
opsiyon belirleyebilirsiniz. Daha fazla bilgi için;
> ?plot[options]
22 23
> plot([f(x),abs(f(x)),abs(f(abs(x))),f(abs(x))], Denklemini ele alalım. A denklemi x ve y değişkenlerinin bir
x=-5..5,view=-20..20, arada sunulduğu birinin cinsinden diğerinin nasıl ifade edildiğinin
color=[red,black,blue,yellow], tam olarak tanımlandığı bir denklemdir. Böyle bir denklemin ifade
thickness=[1,2,4,6],linestyle=[1,2,3,1]); ettiği eğriyi çizdirelim;
> with(paket_adı);
Komutunu çalıştırmaktır.
24 25
> implicitplot(A,x=-2..3,y=-2..2);
> B:=solve(A,y);
B := −x 2 + 2 x + 3 , − −x 2 + 2 x + 3
> plot([B[1],B[2]],x=-1..3,color=[red,blue]);
26 27
[Link] “plot3d” komutu Üç boyutlu grafikleri daha farklı açılardan da
inceleyebilirsiniz;
Maple iki değişkenli fonksiyonların grafiklerini çizmek için plot3d
komutundan yararlanır. Grafiğin üzerine tıkladığınızda araç çubuğunun hemen
altındaki “context bar” ın grafiğe ait özellikleri
Öncelikle iki değişkenli bir fonksiyon tanımlayalım; yönetebileceğiniz şekilde değiştiğini göreceksiniz.
> f:=(x,y)->abs(x^3+y^3);
f := ( x, y ) → x 3 + y 3
Context bar sayesinde dikey ve yatay döndürme
açılarını, yüzeyin görüntü özelliklerini ve koordinat
Fonksiyonumuz iki değişkenli olduğundan hem x hem de y sisteminin görünümünü yönetebilirsiniz.
değişkenlerinin aralıklarını tanımlamamız gerekmektedir.
Not: Context bar her türlü grafik için, o grafiğe ait özelliklere
> plot3d(f(x,y),x=-10..10,y=-10..10, göre aktif hale gelecektir.
numpoints=5000);
> with(plots):
> A:=polarplot(1+cos(theta),theta=0..2*Pi,
numpoints=5000,color=black):
B:=implicitplot((x-1)^2+y^2=1,x=-2..3,
y=-2..2,color=blue):
28 29
Son olarak aşağıdaki gibi A ve B olarak isimlendirdiğimiz iki
grafiği aşağıdaki gibi görüntüleyebiliriz;
> display(A,B);
3 boyutlu öklid uzayında bir eğriye ait noktaları sıralı üçlü 1.4.5 Animasyonlar Üretme
şeklinde olacaktır. Aşağıdaki gibi parametrik olarak tanımlanan bir
eğriyi sıralı üçlü olarak yazalım; Maple ile sizin belirleyeceğiniz bir kurala göre hareket eden
grafikler de üretebilirsiniz. "animate” komutunu aşağıdaki gibi
x = cos(2t), y = sin(2t), z = t/2 [cos(2t),sin(2t),t/2] kullanarak hareketli grafikler üretebilirsiniz.
30 31
İleriki bölümlerde matematiksel kavramların analizi amacı ile
> with(plots): farklı özelliklere sahip animasyonlar üretilmiştir. Komutların nasıl
kullanıldığını ayrıntılı olarak inceleyebilirsiniz.
> animate(plot,[cos(t*x),x=-Pi..Pi],t=0..4);
Daha fazla bilgi için;
> ?animate
> f:=x->(x-Pi/2)*tan(x);
π
f := x → ⎛⎜⎜ x − ⎟⎟⎞ tan ( x )
⎝ 2⎠
> limit((x-Pi/2)*tan(x),x=Pi/2);
-1
> limit(tan(x),x=Pi/2);
undefined
Yukarıda animasyon sırasında t=1 için elde edilen grafik
görülmektedir.
Verilen noktada limiti olmayan fonksiyonlar için Maple tanımsız
“undefined” tanımlaması yapmaktadır. Limiti olmayan fonksiyonlar
Üretilen animasyonlu grafiğin üzerinde tıklandığında “Context
için sağdan ve soldan limitlerinin aynı olmadığı sonucunu
Bar” ın bir CD çalar’ın fonksiyonlarını yansıtan düğmelerden
çıkarabilir ve bunu Maple ile kontrol edebiliriz.
oluştuğunu göreceksiniz. Aşağıdaki şekilde animasyonlu bir grafiğe
ait “Context Bar” ın fonksiyonları açıklanmaya çalışılmıştır. > limit(tan(x),x=Pi/2,left);
∞
sonraki oynatma oynatma
sürekli
kare yönü (ileri) hızını arttır
durdur oynat > limit(tan(x),x=Pi/2,right);
−∞
32 33
1.4.7 Türev Hesaplama
> f:=x->ln(sqrt(x))+exp(sin(x))+arctan(x);
sin( x )
f := x → ln( x ) + e + arctan ( x )
> A:=diff(f(x),x);
1 sin( x ) 1
A := + cos( x ) e +
2x 1 + x2
> simplify(A);
sin( x ) sin( x )
Grafikte gördüğünüz x=π/2 noktasındaki dikey doğru dikey 1 1 + x 2 + 2 cos( x ) e x + 2 cos( x ) e x3 + 2 x
asimptottur. Maple, grafikte varsa dikey asimptotları varsayılan 2 x ( 1 + x2 )
olarak, grafik ile aynı renkte çizer. Bunu engellemenin yolu plot
komutu içinde opsiyonel olarak kullanılabilen discont=true simplify kelimesi “sadeleştir” kelimesinin İngilizce
argümanından yararlanmaktır. karşılığıdır ve Maple çalışma sayfasında bir
ifadenin sadeleştirilmesi için kullanılır.
> plot(tan(x),x=0..Pi,view=-50..50,discont=true);
Yukarıdaki ifade sadeleştirilince daha uzamış
görünmektedir ☺
> subs(x=1,A);
sin( 1 )
1 + cos ( 1 ) e
34 35
Türevin x=1 noktasındaki değeri sembolik olarak elde edilmiştir. Burada elde ettiğiniz sonuç tam olarak iki fonksiyonun
Bu değerin sayısal karşılığı için evalf(…) komutu kullanılabilir; çarpımının türevi öyle değil mi!
> evalf(%); > diff(f(x)/g(x),x);
2.253380768
f( x ) f( x ) ⎛⎜⎜ g( x ) ⎞⎟⎟
d d
dx
− ⎝ dx ⎠
% işareti bir önceki çıktıyı (mavi renkli satır) işaretin g( x ) g( x ) 2
kullanıldığı komutun girdisi olarak kullanılmasını sağlar!
Bu sonuç da iki fonksiyonun bölümünün türevi olsa gerek ama
Çok değişkenli fonksiyonların kısmi türevlerini de şekil olarak benzemiyor! Sadeleştirelim;
hesaplayabiliriz;
> simplify(%);
> f:=(x,y)->x^2*y+sin(x*y)/ln(x); ⎛ d f( x ) ⎞ g( x ) − f( x ) ⎛ d g( x ) ⎞
sin( x y ) ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟
f := ( x, y ) → x 2 y + ⎝ dx ⎠ ⎝ dx ⎠
ln( x ) g( x ) 2
Yukarıda, iki değişkenli bir fonksiyonun önce x’e gore sonra da İntegral alma için kullanacağımız komut
y’ye gore türevleri hesaplanmıştır. int(fonksiyon,itegrasyon değişkeni veya aralığı) dır.
36 37
Yukarıda, fonksiyonun x’e gore belirsiz integrali hesaplanmıştır. > a:=n->n/(n+1);
Eğer x için belli bir aralık aşağıdaki gibi tayin edilirse belirli integral n
a := n →
hesabı da yapılabilir; n+1
> a(25);
> int(f(x),x=1..2); 25
1 1 26
− sin( 1 ) 2 + sin( 2 ) 2
2 2
> evalf(%); Bu tanımlama sayesinde dizinin istediğimiz indisli elemanını
0.0593741960 bulma fırsatını elde etmiş olduk. Dizinin limitini hesaplayalım;
> a:=seq(n^2,n=1..10);
a := 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 Toplam anlamına gelen sum kelimesinden üretilen sum(….)
komutunu kullanarak seriler tanımlayabiliriz.
2
Yukarıda an = n dizisinin ilk 10 elemanını yazdırdık.
> sum(sin(n)/n,n=1..infinity);
∞
Tanımlanan dizinin 2. elemanını aşağıdaki gibi başka
∑
sin( n )
komutların içinde kullanabiliriz; n
n=1
> a[2];
a[2]^2; Yukarıda tanımladığımız serinin kısmi toplam dizisini bir A(k)
4 fonksiyonu olarak aşağıdaki gibi tanımlayabiliriz.
16
> A:=k->sum(sin(n)/n,n=1..k);
k
sin( n )
seq(...) komutu yardımı ile ancak sonlu elemanlı diziler
tanımlayabileceğinize dikkat ediniz.
A := k → ∑ n
n=1
38 39
Kısmi toplam dizisinin limitini almak istediğimizde Maple bize Normal denklemleri çözerken kullandığımız solve(…) komutuna
yukarıdaki sonucu vermiştir. Bu durum, Maple’da tanımlanmış
analitik limit alma yöntemlerinin bu fonksiyon için sonuç vermediği benzer olarak diferansiyel denklem çözmemizi sağlayan komut
anlamına gelmektedir. dsolve(…..) komutudur.
Grafik çizerek, sayısal bir yaklaşım ile serinin karakteri > dsolve(A);
hakkında fikir sahibi olabiliriz. 1 2
f( x ) = x − 2 x + _C1
2
> plot(A(k),k=1..10000);
A := ⎛⎜⎜ f( x ) ⎞⎟⎟ + 2 = x
d Yukarıda B diferansiyel denkleminin, y(0)=1 başlangıç değeri
⎝ dx ⎠ için özel çözümü elde edilmiştir. Bu çözümde bir _C1 sabitinin
olmaması gayet doğal öyle değil mi?
Bildiğiniz gibi en basit anlamda, bir f(x) fonksiyonunun Maple yardımı ile çok farklı diferansiyel denklemlerin cinslerini
türevlerinden oluşan denkleme diferansiyel denklem denir. Bu tarz belirleyebilir ve buna bağlı olarak çözümün hangi yöntemle
denklemleri çözümünü aramak demek f(x) fonksiyonunu bulmak çözülmesi gerektiğini Maple’ın tavsiye etmesini sağlayabilirsiniz.
demektir. Yukarıda bu tanıma uygun olarak çok basit bir Denklemlerin sayısal çözümlerini de araştırabilirsiniz.
diferansiyel denklem tanımlanmıştır.
40 41
Daha ayrıntılı bilgi için; > B:=MatrixInverse(A);
> ?dsolve
⎡ -3 5 -1 ⎤
1.4.11 Matris İşlemleri ⎢ ⎥
⎢ 4 4 4 ⎥
⎢ ⎥
⎢ ⎥
Maple, matris tanımlayıp bu matris üzerinde determinant bulma ⎢ 3 -3 1 ⎥
B := ⎢⎢ ⎥
⎥
veya satır sütun işlemlerini uygulama gibi hesaplamalar da ⎢ 4 4 4 ⎥
yapabilme imkânı sunar. ⎢ ⎥
⎢ 1 1 ⎥
⎢ ⎥
⎢ -1 ⎥
Matrisin nasıl tanımlanacağını açıklayıp ön bilgi niteliğinde bazı ⎣ 2 2 ⎦
matris işlemlerinin nasıl yapılacağını açıklayalım;
A matrisinin tersi alınmış ve B adı verilmiştir.
> with(LinearAlgebra):
> MatrixMatrixMultiply(A,B);
Lineer cebir işlemleri de “LinearAlgebra” paketinin içine
yerleştirilmiştir. Yukarıdaki komut ile Lineer Cebir paketi aktif hale ⎡1 0 0⎤
getirilmiştir. ⎢ ⎥
⎢0 1 0⎥⎥
⎢
⎢⎢ ⎥
> A:=<<1,2,3>|<3,2,1>|<-1,0,3>>; ⎣0 0 1⎥⎦
⎡1 3 -1⎤
⎢ ⎥
A := ⎢⎢2 2 0⎥⎥ A ve B matrisleri birbiri ile çarpılmıştır. Matrislerdeki çarpma
⎢⎢ ⎥ işlemi özel bir çarpma işlemi olduğundan “MatrixMatrixMultiply”
⎣3 1 3⎥⎦ komutu ile tanımlanmıştır.
Yukarıda bir matris tanımlanmıştır. Maple yardımı ile birkaç Daha fazla bilgi için;
farklı şekilde matris tanımlanabilmektedir. Yukarıda bunlar
arasında bütün matris işlemlerinde sorunsuz kullanılabilen bir > ?LinearAlgebra
versiyon tercih edilmiştir.
<<1. sütun>|<2. sütun>| . . . |<n. sütun>> Maple programını kullanırken programın karakteristik
özelliklenden dolayı bazen çeşitli hata mesajları ile
Her bir sütun arasındaki | işareti “AltGr+<>” tuş karşılaşabilirsiniz.
kombinasyonu ile elde edilmektedir.
Bu mesajlar çoğu zaman komutlara ait (syntax) söz dizimi
hatalarından kaynaklanır.
> Determinant(A);
-8 Bu mesajlarla daha az karşılaşmak için bu kitaptan
yararlanmaya başlamadan önce Maple ile ilgili genel bilgiler veren
A matrisinin determinantı alınmıştır. bu bölümü dikkatle incelemenizde fayda vardır.
42 43
Bütün dikkatinize rağmen hata mesajları yakanızı Örnek durum–3:
bırakmayabilir. Bu durumun çalışma azminizi azaltmasına
müsaade etmeyin. Maple programının özelliklerine hâkim olmaya > with(plots):
başladığınızda daha az hata mesajı ile karşılaşacaksınız. Warning, the name changecoords has been redefined
Bir kullanıcı olarak sıklıkla karşılaşabileceğiniz hatalar ve Bu bir hata mesajı değildir! Aldırmayın ☺
çözüm önerileri bu başlık altında derlenmiştir.
> implicitplot(x^2*y,x=-2..2);
Örnek durum–1: Error, (in ProcessOptions) ArgList must have at
least 3 entries, but only has 2
> diff(sin(x),x)
Warning, premature end of input Kullanılan komutun en az üç girdisi olması gerektiği ama
sadece iki girdi tanımlandığı bildirilmiştir.
Komut satırının eksik olduğu bildirilmektedir. Komut satırının :
veya ; işaretleri ile bitirilmesi eksik bırakılmıştır. Bu örnekte ele alınan kapalı fonksiyonların grafiklerinin
çizilebilmesi için fonksiyon, 1. değişkenin sınırları ve 2. değişkenin
> diff(sin(x),x); sınırları olmak üzere en az üç girdi tanımlanmalıdır.
cos( x )
> implicitplot(x^2*y,x=-2..2,y=-2..2);
Örnek durum–2:
> diff(sin(x),x=2);
Error, wrong number (or type) of parameters in
function diff
44 45
Yukarıdaki grafiği çizdirmek için kullandığımız komut bu sefer > a:=2;
farklı bir sonuç vermiştir. Bu mesaj tam olarak bir hata değildir. a := 2
Komutun yazımında hiçbir hata olmadığı durumlarda ya > f:=x->x^2;
yukarıdaki gibi komut aynen “çıktı” olarak görüntülenir ya da Maple f := x → x 2
hiçbir sonuç vermez. Bu durumun çeşitli sebepleri vardır. Bazıları;
> plot(f(x),x=b..a);
Ancak bir paketin aktif edilmesi ile çalışır duruma gelebilecek
Error, (in plot) range values must be real
komutları paketi aktif hale getirmeden kullanmaya çalışmak.
constants
! Çalışma sayfası içinde with(paket_adı) komutu
Bu veya benzeri mesajlarla kitabın ilerleyen bölümlerinde sıkça
çalıştırılmış ve bu çalışma sayfası kaydedilerek kapatıldıktan karşılaşabilirsiniz.
sonra tekrar açılmış ise with(paket_adı) komutunu tekrar
çalıştırmak gerekir. 2. ve 3. bölümlerde, bazı komutlarda kullanılan değişken ve
fonksiyonlar daha önce tanımlanmış ve komutun içinde
! Çalışmanız sırasında restart komutunu kullanarak değişkenlerin sayısal değerleri yerine tanımlamada kullanılan
çalışma sayfasında yapılan bütün işlemleri sıfırlamış isimleri kullanılmıştır (yukarıdaki örnekte olduğu gibi!).
olabilirsiniz. Bu durumda da with(paket_adı) komutunu
tekrar çalıştırmak gerekir. Özellikle, bazı komutların ileri düzey ve karmaşık
kullanımlarından etkilenmemeniz ve komutun ürettiği sonuçları
Kullandığınız matematiksel operatörün sonucunun olmaması. sadece tanımlanan değişkenleri ve fonksiyonları değiştirerek
gözlemleyebilmeniz için bu tarz bir uygulamaya gidilmiştir.
! Örneğin, bir denklem çözmeye çalışıyorsunuz ve bu
denklemin çözümü yok ise komut satırının aynısını elde Ancak, herhangi bir bölüm üzerinde çalışırken Maple’ı kapatıp
edebilirsiniz. tekrar açtıktan sonra, kaldığınız yerden çalışmaya devam etmek
isterseniz, yukarıdaki gibi bir hata mesajı ile karşılaşabilirsiniz.
! Maple bir bilgisayar cebiridir ve matematiksel operatörlerin
nasıl işleme alınacağı çeşitli yöntemler ile programlanmıştır. Böyle bir durumda o bölüme ait çalışma sayfasındaki bütün
Maple istediğiniz işlemi bazen yapamayabilir yani komut satırlarını tekrar çalıştırmanız yeterlidir.
programlanmış tüm alternatifler çözüm için uygun olmayabilir.
Örnek durum–6:
! Örneğin, bir integrali Maple hesaplayamayabilir. Bu
“Maple’da programlanan hiçbir integrasyon yöntemi verilen > B:=plot(sin(x),x=0..1);
integrali çözmeye yeterli değildir” anlamına gelir. Bu
durumda yine Maple’dan yararlanmaya devam etmek
mümkündür. Fonksiyonun grafiği incelenip yine Maple yardımı B := PLOT ( CURVES( [ [ 0., 0. ], [ 0.0217971541666666658 , 0.0217954281784747094 ],
ile sayısal yöntemler denenebilir. [ 0.0407627414583333348 , 0.0407514538268699476 ],
[ 0.0620915279166666667 , 0.0620516380971044765 ],
Örnek durum–5: [ 0.0835616954166666648 , 0.0834644836461559820 ],
[ 0.104929818958333324 , 0.104737374046848838 ],
> b:=1;
b := 1
46 47
Çizim elemanlarına isim verilmesi durumu, birden fazla çizim
elemanını display komutunu kullanarak aynı koordinat
sisteminde görüntülemek için kullanılmaktadır.
BÖLÜM – 2
Bu bölümde bazı Genel Matematik kavramlarının, Maple
programının sunduğu görsel ve cebirsel imkânlardan yararlanarak
kavramsal alt yapılarının nasıl incelenebileceğine dair öneriler
sunulmuştur.
48 49
Yukarıda atanan a ve k değerleri sırasıyla x’in yaklaşacağı a
2.1 FONKSİYONLARIN LİMİTLERİNİ ARAŞTIRALIM değerini ve yaklaşımın a’ya kaç birim uzaktan başlayacağını
belirlemektedir. Bu değerleri istediğiniz gibi değiştirebilirsiniz. Fakat
“Bir fonksiyonun limiti kavramı” ortaöğretim yıllarımızdan aşağıdaki komut satırına müdahale etmemeniz daha iyi olur.
başlayarak yakamızı bırakmayan ve ileri matematik kavramlarının
birçoğunun temeli olan kavramlardan birisidir. > C:=plot(f(x),x=a-k..a+k):
50 51
> b:=10;
m:=10; Yukarıda elde edilen matrisin birinci sütunu a’ya (bu örnekte
b := 10 a=0) sol taraftan yaklaşan x değişkenlerini ikinci sütunu ise f(x)
m := 10 değerlerini göstermektedir.
> array( [seq([ evalf( a + 10^(-k), m), evalf(f( Hem grafik üzerindeki animasyonda hem de sayısal yaklaşımda
a + 10^(-k)), m)],k = 1..b)]); görülebildiği gibi a’ya çok yakın olan x değişkenlerinin görüntüleri
aynı sayıya (bu örnekte 1) yakın olmaktadır.
⎡ 0.1000000000 0.9983341665 ⎤
⎢ ⎥
⎢ 0.01000000000 0.9983341665 ⎥⎥
⎢ Burada bahsi geçen “çok yakın” tabirinin daha matematiksel
⎢ ⎥ karşılığı “sonsuz küçük kadar yakın” dır.
⎢ 0.001000000000 0.9983341665 ⎥⎥
⎢
⎢ 0.0001000000000 0.9983341665 ⎥⎥
⎢ Şimdi aşağıdaki hesaplamalara bir göz atın;
⎢ ⎥
⎢0.00001000000000 0.9983341665 ⎥⎥
⎢
⎢ ⎥ > f(a);
⎢ 0.1000000000 10 -5 0.9983341665 ⎥⎥
⎢ Error, (in f) numeric exception: division by zero
⎢ ⎥
⎢ 0.1000000000 10 -6 0.9983341665 ⎥⎥
⎢
⎢ ⎥
⎢ 0.1000000000 10 -7 0.9983341665 ⎥⎥ Bu mesaj bir hata mesajı olmakla beraber matematiksel
⎢
⎢ ⎥ bir gerçek konusunda bizi uyarmaktadır.
⎢ 0.1000000000 10 -8 0.9983341665 ⎥⎥
⎢
⎢ ⎥
⎢⎢ 0.1000000000 10 -9 0.9983341665 ⎥⎥⎦
a değişkeninin f kuralı altındaki değeri bir sıfır ile bölme
⎣ içermektedir dolayısı ile tanımsızdır.
Yukarıda elde edilen matrisin birinci sütunu a’ya (bu örnekte
a=0) sağ taraftan yaklaşan x değişkenlerini, ikinci sütunu ise f(x)
değerlerini göstermektedir. > limit(f(x),x=a);
1
> array( [seq([ evalf( a - 10^(-k), m), evalf(f(
a - 10^(-k)), m)],k = 1..b)]); f(x) fonksiyonu a noktasında tanımsız olmasına rağmen limiti 1
⎡ -0.1000000000 0.9983341665 ⎤ olarak elde edilmiştir.
⎢ ⎥
⎢ -0.01000000000 0.9999833334 ⎥⎥
⎢ Şimdi tamamen kendiniz belirlediği fonksiyon ve a değeri ile
⎢ ⎥
⎢ -0.001000000000 0.9999998333 ⎥⎥ denemeler yapın ve üzerinde şu noktalar üzerinde daha derin
⎢
⎢ -0.0001000000000 0.9999999983 ⎥⎥ düşünmeye çalışın;
⎢
⎢ ⎥
⎢-0.00001000000000 1.000000000 ⎥⎥
⎢ • Kendi kurduğunuz cümleler ile bir limit tanımı geliştirebilir
⎢ ⎥
⎢ -0.1000000000 10 -5 1.000000000 ⎥⎥ misiniz?
⎢
⎢ ⎥
⎢ -0.1000000000 10 -6 1.000000000 ⎥⎥
⎢ • f(a) değerinin tanımlı olmasına rağmen limitin olmadığı örnekler
⎢ ⎥
⎢ -0.1000000000 10 -7 1.000000000 ⎥⎥
için ne dersiniz? Böyle örnekler bulup gözlemleyin.
⎢
⎢ ⎥
⎢ -0.1000000000 10 -8 1.000000000 ⎥⎥
⎢
⎢ ⎥
⎢⎢ -0.1000000000 10 -9 1.000000000 ⎥⎥⎦
⎣
52 53
2.1.2 Limitin Formal Tanımı f := x → piecewise ( x < 1, e x , e x + 0.01 )
a := 1
Şimdi de anlamaya çoğunlukla pek çalışmadığımız limit
tanımını inceleyelim; L := e
ε := 1
Tanım: 1
δ :=
100
f(x), Reel sayıların bir alt kümesinde tanımlı ve xo
noktasında tanımlı olması gerekmeyen bir fonksiyon olsun; Yukarıda sırasıyla, bir fonksiyon, yaklaşılacak a değeri, Limit
değeri, epsilon ve delta değerleri tanımlanmıştır.
Her pozitif ε reel sayısına karşılık, ⏐f(x) – L⏐< ε eşitsizliğini
sağlayan x bağımsız değişkenleri için ⏐x – xo⏐< δ olacak Aşağıdaki komut topluluğunu çalıştırarak elde edeceğiniz grafiği
şekilde en az bir pozitif δ reel sayısı varsa, x xo’a yaklaşırken inceleyiniz.
f(x) fonksiyonunun limiti L’dir denir ve
> E:=plot([f(x),L-epsilon,L+epsilon],x=a-
lim = L 2*delta..a+2*delta,y=L-2*epsilon..L+2*epsilon,
x → xo thickness=[1,2,2],color=[blue,black,black],discon
t=true):
Şeklinde gösterilir.
> F:=implicitplot([x=a-delta,x=a+delta],x=a-
2*delta..a+2*delta,y=L-2*epsilon..L+2*epsilon,
Bu tanımın, bir fonksiyonun limitini nasıl ifade ettiğini thickness=3,color=red):
açıklayabilir misiniz?
> display(E,F);
Aşağıdaki etkinliği yeterli miktarda uygulayıp üzerinde
düşünerek tanımı anlamaya çalışınız.
> restart;
> with(plots): with(plottools):
> f:=x->piecewise(x<1,exp(x),exp(x)+0.01);
a:=1;
L:=exp(1);
epsilon:=1;
delta:=1/100;
54 55
Aşağıdaki sorular ışığında düşünmeye ve formal tanımı aralık (e, f) olarak isimlendirilirse, δ’nın x0 − e veya x0 − f ’den
anlamaya çalışınız;
küçük olanı olarak belirlenmesi yeterli olacaktır.
Seçilen her ε için belli bir özelliği sağlayan bir δ aranıyor. Bu Yukarıdaki şekil üzerindeki ABCD dikdörtgeni Maple yardımı ile
özellik, yani ε ile δ arasındaki ilişki nedir? ürettiğimiz grafikteki kırmızı dikey doğrular ile siyah yatay
doğruların oluşturduğu dikdörtgeni temsil etmektedir.
Grafikteki siyah renkli doğruların oluşturduğu aralık ve kırmızı
renkli doğru aralıklar tanımda nasıl belirtilmiştir?
Verilen ε için belirlenen δ’nın uygunluğunun ancak eğrinin
dikdörtgen içine AD kenarından girip BC kenarından çıkması ile
Yukarıdaki örnekte verilen fonksiyon ve seçilen ε ile δ mümkün olduğuna dikkat ediniz.
değerleri tanımı sağlıyor mu?
Bir fonksiyonun formal limit tanımını sağlayıp sağlamadığını
ε değerini değiştirin ve belirlediğiniz her ε değeri için uygun δ cebirsel olarak nasıl kontrol edebiliriz? Yukarıda öğrendiklerimiz
belirlenip belirlenemeyeceğini araştırın. ışığında aşağıdaki cebirsel örneği inceleyiniz.
Şimdi bu etkinliği kendi belirlediğiniz fonksiyonlar için 1
tekrarlayın. Bu tanımla ilgili aşağıdaki açıklamalara en son Örnek: lim = 1 olduğunu gösteriniz.
x →1 x
başvurun.
1
Çözüm: ∀ ε > 0 için ⏐x – 1⏐< δ olacak şekilde ⏐ – 1⏐< ε
x
özelliğini sağlayan en az bir pozitif δ bulalım;
1 1 1− x
−1 < ε ⇒ − ε < −1 < ε ⇒ − ε < <ε
x x x
1
−ε x < 1 − x ⇒ − ε x + x < 1 ⇒ x (1 − ε ) < 1 ⇒ x < ………….(I)
x xo+δ 1− ε
xo-δ
(ε çok küçük bir pozitif sayı olduğundan 1 - ε pozitiftir.)
1
1 − x < ε x ⇒ ε x + x > 1 ⇒ x (1 + ε ) > 1 ⇒ x > …………….(II)
1+ ε
Yukarıdaki şekilde (L-ε, L+ε) aralığı ⏐f(x) – L⏐< ε eşitsizliğinin
gösterimidir. Bu eşitsizliğin çözüm kümesi ise x-ekseni üzerinde
kırmızı ile belirlenen aralıktır. Ancak xo bu kırmızı aralığın içinde ise
xo’ın bir δ komşuluğu bu kırmızı aralık içine gömülebilir. Bu
komşuluk şekilde mavi ile gösterilmiştir. Görüldüğü gibi, kırmızı
56 57
I II
2.2 BİR SAYI DİZİSİNİN LİMİTİ VE YIĞILMA NOKTASI
ARASINDAKİ FARKI İNCELEYELİM
1 1 Sayı dizilerinin limiti ve yığılma noktası arasındaki fark ve
1+ ε 1− ε benzerliği ayırt etmeye çalışacağız.
(I) ve (II) numaralı çözüm kümelerinin arakesitini bulalım; 2.2.1 Reel Sayı Dizileri
> k:=50:
B:=seq([n,a(n)],n=1..50):
pointplot([B]);
58 59
Görüldüğü gibi, n arttıkça a(n) elemanları 1’in yakınlarında
değerler almaktadır. k değeri arttırılarak gözleme devam edilebilir.
> b:=n->(-1)^n*(n^2+1)/(n^2-3);
( -1 ) n ( n 2 + 1 )
b := n →
n2 − 3
> k:=50:
B:=seq([n,b(n)],n=1..50):
pointplot([B]); a(n) dizisinin elemanları ardışık olarak 1’in yakınlarında
oluşmaktadır.
60 61
> limit(a(n),n=infinity);
Bu gözlemlerimizden neler anlamalıyız? 1
Yığılma noktası için de limit için de bir sayı kümesinin Gözlemimiz neticesinde farkına vardığımız sonuç gibi, a(n)
elemanlarının sonsuz tanesinin belli bir sayı etrafında toplanması dizisinin limitinin 1 olduğunu hesapladık.
tanımını algılamaktayız.
> limit(b(n),n=infinity);
Tek başına bu tanım düşünüldüğünde yukarıdaki iki örnekte de
“limiti nedir?” ve “yığılma noktası nedir?” sorularına vereceğimiz -1 .. 1
cevaplar yanıltıcı olabilmektedir.
Bu sonuç ise n sonsuza doğru gittikçe, b(n) dizisinin
Tabii yukarıda bahsettiğimiz tanım yığılma noktası için doğru da elemanlarının 1 ile -1 arasında sürekli değiştiğini göstermektedir.
olsa limit için doğru değildir. Şimdi tanımları hatırlayalım; Bu durumu limitin olmadığı şeklinde anlamalıyız.
Limit: bir sayı dizisinin belli bir n. elemanından sonraki bütün
elemanlarının bir a reel sayısının pozitif komşuluğunda kalması Bu aşamada genel bir uyarıda bulunmak gereklidir.
durumuna dizinin limiti a’dır denir ve lim a( n ) = a şeklinde
n →∞
Bu etkinlikte olduğu gibi bir dizinin sonlu sayıda
gösterilir. elemanının davranışını incelemek, dizinin limiti ya da
elemanlarının genel davranışı hakkında kesin bir sonuç
Dizinin ilk sonlu elemanı hariç geride kalan bütün elemanlarının çıkartma hakkını bize sunmaz.
a’nın komşuluğunda toplanması olarak da tanımlanabilir.
Kitabın diğer bölümlerinde de rastlayacağınız bu gibi
Yığılma noktası: Bir a reel sayısının her pozitif komşuluğunda etkinlikler bize bir bakış açısı kazandırmak için
sayı kümesinin en az bir elemanı varsa a’ya kümenin yığılma tasarlanmıştır ve kesin bir hükme varmak için cebirsel
noktası denir. ispat teknikleri ile desteklenmelidir.
Kümenin sonsuz elemanın a’nın komşuluğunda toplanması Bu ispatları hatırlamanız ve burada karşılaştığımız
olarak da tanımlanabilir. görsel sonuçlarla sentezlemeniz önerilir.
Yukarıdaki birinci örnekte 1 hem yığılma noktası hem de dizinin
limitidir. İkinci örnekte ise 1 ve -1 yığılma noktasıdır fakat ikisi de
limit değildir. Çünkü canlandırmada da görüldüğü gibi ilk sonlu 2.2.2 Karmaşık Sayı Dizileri
sayıda elemanın haricinde kalanların ne 1’in ne de (-1)’in etrafında
toplandığı söylenemez. 1 ve (-1)’in etrafında sonsuz eleman Karmaşık sayı dizileri de, tanım kümesinin doğal sayılar olduğu
toplanmaktadır. Ancak elemanların oluşum sırasının canlandırıldığı bir fonksiyondur. Ancak görüntü kümesi karmaşık düzlem olduğu
animasyonlarda görülebileceği gibi bu toplanma n. ve (n+1). için karmaşık sayı dizilerinin elemanlarını karmaşık düzleme
Elemanların sırasıyla dağılması şeklindedir. işaretlediğimizde daha farklı bir görünüm elde ederiz.
62 63
> A:=seq(z(n),n=1..10000):
pointplot([A],color=black);
IN
(Tanım kümesi)
Karmaşık düzlem
(Görüntü kümesi)
> restart:
Aşağıdaki komut yardımı ile dizinin elemanlarının nasıl
⎛ 1 ⎞ oluştuğunu inceleyin ve dizinin yığılma noktası ve limiti hakkında
z( n ) = ( −1)n + ⎜ ⎟ i dizisini Maple programında, aşağıdaki
⎝ n +1⎠ bir tahmin yürütün.
gibi n bağımsız değişkeninin bir sıralı ikili ile eşlenmesi şeklinde
> animate(pointplot,[[z(n)], thickness=5,
tanımlayalım;
color=blue],n=1..500,frames=500);
Bu sıralı ikilinin birinci elemanı dizinin elemanının reel kısmı,
ikinci elemanı ise imajiner kısmıdır. • Animasyonu Maple’de izleyebilirsiniz.
• Noktaların nasıl oluştuğunu daha iyi
> z:=n->[(-1)^n,1/(n+1)]; anlamak için yavaşlatmanız önerilir.
f := n → ⎡⎢⎢ ( -1 ) n,
1 ⎤
⎥ Aşağıdaki komutlar yardımı ile sırasıyla z(n) dizisi olarak
⎣ n + 1 ⎥⎦ tanımlanan sıralı ikilinin 1. ve 2. elemanlarının limitleri
hesaplanmıştır.
> with(plots): with(plottools):
> limit(z(n)[1],n=infinity);
Aşağıda z(n) dizisinin ilk 10000 elemanı bir dizi olarak limit(z(n)[2],n=infinity);
tanımlanmış ve bu diziye ait noktalar karmaşık düzlem olarak
anlamanız gereken koordinat sisteminde işaretlenmiştir; -1 .. 1
0
64 65
Şimdi dizinin limiti ve yığılma noktası ile ilgili neler
söyleyebilirsiniz? > limit(z(n)[1],n=infinity);
limit(z(n)[2],n=infinity);
Aşağıdaki örnekler, herhangi bir açıklama yapılmadan, sadece 1
Maple komutları ile verilmiştir. Yukarıdaki etkinliğe benzer bir 1
şekilde inceleyiniz.
Örnek–2:
Grafikleri incelemeniz sırasında kendinize şu soruları
sorabilirsiniz; > z:=n->[n*cos(n),sin(n)/(n)];
1- İncelediğim dizinin limiti nedir?
z := n → ⎡⎢⎢ n cos( n ),
2- İncelediğim dizinin yığılma noktası nedir? sin( n ) ⎤
⎥
⎣ n ⎥⎦
Örnek–1:
> A:=seq(z(n),n=2..1200):
> z:=n->[(n+1)/(n-1),sin(1/n)/(1/n)]; pointplot([A],color=black);
n+1
z := n → ⎡⎢⎢ , sin⎛⎜⎜ ⎟⎟⎞ n ⎤⎥⎥
1
⎣n−1 ⎝n⎠ ⎦
> A:=seq(z(n),n=2..10000):
pointplot([A],color=black);
66 67
> limit(z(n)[1],n=infinity);
limit(z(n)[2],n=infinity); 2.3 FONKSİYON SERİLERİNİN İNCELENMESİ
undefined
0 Hamurunda sonsuzluk olan her kavram gibi seriler de soyut ve
anlaşılması güç kavramlardır. Reel sayı serilerini bütün bu güçlüğe
Örnek–3: rağmen öğrendikten sonra karşılaştığımız fonksiyon serileri ise,
elemanlarının fonksiyonlar olmasından dolayı karşımıza ekstra bir
> z:=n->[n*cos(n),sin(n)]; güçlük çıkarmaktadır.
z := n → [ n cos( n ), sin( n ) ] Özel bir fonksiyon serisi olan kuvvet serileri ile ilgili bilgilerimizi
yoklayalım ve kendimize şu soruları soralım;
> A:=seq(z(n),n=2..1500):
pointplot([A],color=black); • Yakınsaklık yarıçapı nedir?
• Yakınsaklık aralığı nedir?
• Reel sayı serisinin yakınsak olmasının ne anlama
geldiğini anladık ama bir fonksiyon serisi yakınsak
olunca ne olur?
Örnek:
( 2 x + 3)
n
∞
∑k =1 4 n
serisini inceleyeniz.
> A:=k->sum((2*x+3)^n/(4^n),n=1..k);
( 2 x + 3 )n
k
A := k → ∑ 4n
n=1
68 69
Şimdi serinin elemanlarının birer fonksiyon olmasının da ne > plot([A(5),A(8)],x=-5..5,y=-5..5);
anlama geldiğini daha somut olarak görebiliyoruz.
> with(plots):
> plot(A(5),x=-5..5,y=-5..5,color=red);
> plot([A(5),A(8),A(12),A(20)],x=-5..5,y=-5..5);
70 71
> plot([A(5),A(8),A(12),A(20), A(25),A(32),A(40), > limit(A(k),k=infinity);
A(50)],x=-5..5,y=-5..5); (k + 1)
4 ⎛⎜⎜ + ⎞⎟⎟ 4 ⎛⎜⎜ + ⎞⎟⎟
x 3 x 3
lim ⎝ 2 4⎠
− ⎝ 2 4⎠
k→∞ 2x−1 2x−1
x 3
İfadesinin limitinin sonlu olması için + < 1 olması gerekir.
2 4
Yukarıda sırayla, koordinat sistemi üzerinde gösterilen eleman
sayısı arttırılmıştır. Bu durumda limitin değeri şöyle hesaplanabilir;
Görüldüğü gibi eleman sayısı arttıkça elde edilen farklı Bu eşitsizliğin çözümü için yine Maple’dan yararlanabiliriz.
fonksiyonlar belli bir aralıkta birbirleri ile çakışmaktadır.
> solve(abs(1/2*x+3/4)<1);
Reel sayı serilerinin yakınsaklığı için zihnimizde yer alan tanımı
RealRange⎛⎜⎜ Open⎛⎜⎜ ⎟⎟⎞, Open⎜⎜⎛ ⎟⎟⎞ ⎟⎟⎞
fonksiyonlar için düşünüp, serinin elemanı olan fonksiyonların belli -7 1
bir fonksiyon etrafında yığılma göstermesini beklediğimizde, ⎝ ⎝2⎠ ⎝2⎠⎠
beklentimize tam olarak ulaşamıyoruz.
⎛ 7 1⎞
Bu yığılmayı ancak belli bir aralık için gözlemleyebiliyoruz. Bu durumda x ∈ ⎜ − , ⎟ için limitin değerinin aşağıdaki gibi
⎝ 2 2⎠
Şekil çizerek sonsuzda neler olup bittiğini tabii ki anlayamayız. hesaplanacağını söyleyebiliriz;
Sonsuzda neler olup bittiğini A(k) fonksiyonu olarak tanımladığımız
serinin k değişkeninin sonsuza giderkenki limitini alarak
k +1 k +1
incelemeye çalışalım; ⎛ x 3⎞ ⎛ x 3⎞ ⎛ x 3⎞ ⎛ x 3⎞ ⎛ x 3⎞
4⎜ + ⎟ 4⎜ + ⎟ 4⎜ + ⎟ 4⎜ + ⎟ 4⎜ + ⎟
lim ⎝
2 4⎠
− ⎝
2 4⎠
= lim ⎝
2 4⎠
− lim ⎝
2 4⎠
= 0− ⎝
2 4⎠
k →∞ 2x −1 2x −1 k →∞ 2x −1 k →∞ 2x −1 2x −1
0
72 73
Serimizin elemanlarının sonsuzdaki davranışı ile yukarıdaki Görüldüğü gibi serinin elemanı olan fonksiyonlar ve seriyi ifade
⎛ x 3⎞ eden serinin sonlu limiti olan fonksiyon belli bir aralıkta
4⎜ + ⎟ çakışmaktadır.
limitin değeri olan − ⎝
2 4⎠
fonksiyonu arasında nasıl bir ilişki
2x −1 Peki, bu çakışmanın olduğu aralık nedir?
olduğunu gözlemleyelim;
Tabii ki limitin sonlu olması için gerekli x aralığıdır.
Aşağıdaki bir dizi komut yardımı ile serinin elemanlarının bir
kısmı ile limitin değeri olan fonksiyonu aynı koordinat sisteminde Son çizdirdiğimiz grafiğe, hem bu aralığı ekleyerek, hem de
çizdirelim; tanım ve görüntü kümelerinin grafiklerini daha iyi
gözlemleyebileceğimiz şekilde belirleyerek tekrar çizelim;
> B:=plot([A(5),A(8),A(12),A(20), A(25),A(32),
A(40),A(50)],x=-10..10,y=-10..10): > B:=plot([A(5),A(8),A(12),A(20),
A(25),A(32),A(40),A(50)],x=-10..10,y=-10..10):
> C:=plot(-4*(1/2*x+3/4)/(2*x-1),x=-5..5,y=-
5..5,color=black,thickness=3,discont=true): > C:=plot(-4*(1/2*x+3/4)/(2*x-1),x=-5..5,y=-
5..5,color=black,thickness=3,discont=true):
> display(B,C);
> E:=implicitplot([x=-7/2,x=1/2],x=-4..1,view=-
10..10,color=blue,thickness=2):
> display(B,C,E);
Neler görüyorsunuz?
74 75
Son olarak, reel sayı serilerinde yakınsamanın yani serinin x’in bu aralığı ise serinin kısmi toplam dizisini
elemanlarının belli bir noktadan sonra sabit bir sayının etrafında ifade eden fonksiyonun sonsuzdaki limitinin
yığılmaya başladığını düşünelim ve fonksiyon serimizin sonsuza sonlu çıkması için gerekli x değerlerinin
daha yakın elemanlarını görüntüleyelim; bulunduğu aralıktır.
> B:=plot([A(25),A(32), A(40),A(50)],x=-10..10, Yukarıda bahsedilen limit bilgisayar yardımı olmadan kolaylıkla
y=-10..10): hesaplanabilen bir limit değildir. Zaten yakınsaklık aralığının nasıl
hesaplandığına dair teorik bilgilerimiz bize bu konuda yardım
> C:=plot(-4*(1/2*x+3/4)/(2*x-1),x=-5..5,y=- etmektedir.
5..5,color=black,thickness=3,discont=true):
Ancak sadece bu bilgiler bize yukarıda kazandığımız kavrayışı
> E:=implicitplot([x=-7/2,x=1/2],x=-4..1,view=- kazandırma noktasında eksik kalabilmektedir.
10..10,color=blue,thickness=2):
> display(B,C,E);
76 77
Yukarıda önce y = 1 + sin(x) fonksiyonunun grafiği çizilmiş
2.4 KUTUPSAL KOORDİNATLARI ANLAYALIM sonra da benzer şekilde tanımlanan r = 1 + sin(θ) fonksiyonun
grafiği çizilmiştir.
Bu uygulamamızda, Kutupsal Koordinatlar kavramını kısmen de
olsa bildiğinizi varsayıyoruz. Hedefimiz, bu kavram ile ilgili Her iki grafikte oluşan eğrilerin, farklı şekillerde oluşmasının
bilgilerinizi gözden geçirmek ve biraz daha olgunlaştırmak. sebebini açıklayabilir misiniz?
Şimdi, sizi düşünmeniz gereken bir durumla karşı karşıya İki fonksiyon arasında, sadece bağımlı ve bağımsız
bırakmak istiyorum. y = 1 + sin(x) fonksiyonunun grafiğini iki farklı değişkenlerin isimlendirme farkı vardır. Tabii buna da fark demek
şekilde çizelim; doğru değil. Aşağıdaki çizime bakarsanız bunun bir fark olmadığını
daha iyi anlayabilirsiniz;
> with(plots):
> plot(1+sin(theta),theta=0..2*Pi);
> plot(1+sin(x),x=0..2*Pi);
78 79
> A:=polarplot(1+sin(theta),theta=0..2*Pi):
Bu açıklamaları daha iyi anlamak için aşağıdaki Maple
komutlarını Maple çalışma sayfasına yazın ve elde edeceğiniz > animate(pointplot,[[[0,0],[1+sin(theta),theta]]
animasyonu çalıştırın. ,axes=normal,thickness=2,coords=polar,color=[blue
,red], style=line],theta=0..2*Pi,background=A,
> B:=plot(1+sin(x),x=0..2*Pi): frames=100);
> animate(pointplot,[[[x,0],[x,1+sin(x)],
[0,1+sin(x)]],axes=normal,thickness=2,color=[blue
,red],style=line],x=0..2*Pi,background=B,
frames=100);
Yukarıdaki animasyonu çalıştırmak için şeklin üzerine Şimdi, önce şu soruyu cevaplamaya çalışın;
tıkladığınızda aktif hale gelen “Context Bar” üzerindeki işaretli
düğmeye tıklayarak animasyonu çalıştırabilirsiniz. “y = 1 + sin(x) fonksiyonu kartezyen tanımlı bir
fonksiyon ve “plot” komutu kartezyen
tanımlamaya göre grafik çizen bir komut.
Buraya tıklayınız
“polarplot” yani kutupsal tanımlamaya göre grafik
çizen komutu kullanarak “plot” komutunun çizdiği
grafiğin aynısını elde etmek için neler
Yukarıdaki animasyon dikkatle incelenirse kartezyen tanımlı bir yapmalısınız?”
fonksiyonun temsil ettiği eğrinin oluşumunun canlandırıldığı
anlaşılacaktır. Kutupsal koordinatlar ile kartezyen koordinatların birbirleri ile
bir ilişkisi vardır.
Benzer şekilde aşağıda da kutupsal tanımlı bir fonksiyonun
temsil ettiği eğrinin nasıl oluştuğu canlandırılmıştır. Bu ilişkiyi hatırlayalım;
80 81
A adı verilen yukarıdaki fonksiyon kartezyen olarak tanımlanan
y y = 1 + sin(x) fonksiyonunun kutupsal karşılığıdır. Bu fonksiyonun
Kutup Ekseni grafiğini tahtada ya da defterinizde çizmenizin ne kadar zor
olduğunu tahmin edersiniz.
> with(plots):
> y:=r*sin(theta);
y := r sin( θ )
> x:=r*cos(theta);
x := r cos( θ )
> A:=y=1+sin(x);
A := r sin( θ ) = 1 + sin( r cos( θ ) )
82 83
> with(plots):
Yukarıda, iki fonksiyonun da üst üste çakıştığını görebilirsiniz.
> B:=implicitplot(A,x=-2..2,y=-2..2,
Şimdi de “1+sin(θ)” fonksiyonunun kutupsal çiziminin numpoints=10000,color=black,thickness=2):
kartezyen karşılığını araştırılım.
> C:=polarplot(1+sin(t),t=0..2*Pi,thickness=5):
Öncelikle (θ,r) kutupsal koordinatlarının (x,y) kartezyen
koordinatları cinsinden tanımlanması araştırılmıştır. > display(B,C);
x x y y
r = x 2 + y 2 , cos θ = = ve sin θ = =
r x2 + y2 r x2 + y2
> restart:
> r:=sqrt(x^2+y^2);
r := x 2 + y 2
> cos(theta):=x/r;
x
cos( θ ) :=
x2 + y2 Yukarıda gözlemlendiği gibi uygun şekilde tanımlanınca eğriler
kutupsal tanımlama kullanılarak da çizilse kartezyen tanımlama
> sin(theta):=y/r; kullanılarak da çizilse çakışan grafikler elde edilmiştir.
y
sin( θ ) := Ancak sizin de görebildiğiniz gibi bir kardioidi kartezyen olarak
x2 + y2 tanımlamak ve bir sinüs eğrisini kutupsal olarak tanımlamak hiç de
kolay değil. İşte bu yüzden kartezyen fonksiyonların yeri ayrı,
> A:=r=1+sin(theta); kutupsal fonksiyonların yeri ayrıdır.
y
A := x 2 + y 2 = 1 +
x2 + y2 Son olarak, aşağıdaki iki çalışma sayfasını kullanarak kendi
belirlediğiniz kartezyen ve kutupsal tanımlı fonksiyonun
Bu sefer, A adını verdiğimiz fonksiyon “r = 1+sin(θ)” oluşumunu, hareketli olarak izleyin.
fonksiyonunun kartezyen karşılığıdır.
Bu çalışma sayfaları fonksiyonu ve çizim aralıklarını sizin tayin
Yine bu fonksiyonun açık olarak ifade edilme güçlüğü ile edebileceğiniz şekilde hazırlanmıştır.
karşılaştığımız için kapalı fonksiyon olarak grafiğini çizdirelim.
84 85
Özellikle kutupsal eğriler derslerimizde çok fazla çizilemediği bu
yüzden de birçok kutupsal eğrinin nasıl oluştuğunun tam olarak
anlaşılamadığı için tamamen kendinizi belirlediği kutupsal eğrilerin Çalışma sayfası–2
nasıl oluştuğunu görmek önemli ve eğlenceli bir tecrübe olacaktır;
Örnek olarak bir gül eğrisi seçilmiştir. Aşağıda seçilen gül
Çalışma sayfası–1: eğrisinin yapraklarının hangi sırada oluştuğunu biliyor musunuz?
Zihninizi biraz zorlayın.
> with(plots):
Bu animasyonlarda doğru sıralamayı göreceksiniz. Neden böyle
Aşağıdaki komut satırında parantez içindeki fonksiyonu olduğunu bulmaya çalışın.
istediğiniz gibi değiştirebilirsiniz.
> with(plots):
> f:=x->(1+sin(2*x));
Aşağıdaki komut satırında parantez içindeki fonksiyonu
f := x → 1 + sin( 2 x ) istediğiniz gibi değiştirebilirsiniz.
> animate(pointplot,[[[0,0],[f(theta),theta]],
axes=normal,thickness=2,coords=polar,color=[blue,
red],style=line],theta=a..b,
background=A,frames=100);
86 87
2.5 DİFERANSİYEL NE ANLAMA GELİR?
Tavşanlar ve Tilkiler
Problem:
Dışarıdan gelecek etkilere kapalı bir çevrede tavşanlar ve tilkiler
yaşamaktadır. Tilkiler sadece tavşanlar ile tavşanlar da sadece bu
ortamda hiç tükenmeyen bir bitki ile beslenmektedir. Herhangi bir t
zamanındaki tavşanların nüfusu r(t), tilkilerin nüfusu ise f(t) ile
gösterilmek üzere tavşan ve tilkilerin nüfusunun zamana bağlı
diferansiyeli aşağıdaki gibi verilmiştir;
Çözüm:
Bu soruda bir diferansiyel denklem sistemi çözmemiz
gerekmektedir. r(t) olarak tavşanların zamanı bağlı nüfusunu, f(t)
olarak da tilkilerin zamana bağlı nüfusunu tanımladığımızda;
df 3 r (t ) dr f (t )
= f (t )(− + ) ve = r (t )(1 − )
dt 4 4 dt 2
88 89
Aşağıda sorunun önce Maple programı ile çözümünü sonra da
çözüm kurgusunu kendimiz kurup, Excel programından yararlanma
yolu ile nasıl çözülebileceğini göreceksiniz.
> p:= dsolve({sys,r(0)=2,f(0)=3},fcns, Excel bir bilgisayar cebiri sistemi değildir. Dolayısı ile limit
type=numeric,method=classical): alamaz ve diferansiyel nedir bilemez. Ancak dt ile ∆t arasındaki
ilişkiyi kullanarak Excel programını amacımıza hizmet edecek
şekilde kullanabiliriz.
“odeplot” komutu ile de yukarıdaki satırda bulduğumuz
çözümün grafiğini elde ediyoruz.
df ∆f
dt ≅ ∆t = 0,01* eşitliğini düşünerek ≅ olduğunu
Ve… İşte Sonuç; dt ∆t
kullanırsak,
> odeplot(p, [[t,r(t)],[t,f(t)]],0..20,
numpoints=250); df 3 r (t )
= f (t )(− + ) olduğu bize verildiğinden;
dt 4 4
*
∆t = 0,01 eşitliği bizim tarafımızdan yapılan bir kabuldür. İstendiğinde
değiştirilebilir.
90 91
f (t + ∆t ) − f (t ) 3 r (t ) Anlamına gelmektedir. Eğer dikkat edilirse B3 ve C3 hücrelerine
≅ f (t )(− + ) elde edilir. yazılan formüller 1 ve 2 numaralı denklemlerden başkası değildir.
∆t 4 4
Eşitliğine ulaşırız. Bu denklemi ise aşağıdaki gibi
düzenleyebiliriz; Son olarak, t değerlerinin yazıldığı sütun t’nin 20 değerini aldığı
satıra kadar çoğaltılır ve B3 ve C3 hücreleri t’nin 20 olduğu
seviyeye kadar kopyalanırsa karşımıza ilk 20 zaman için her 0,01
⎛ 3 r (t ) ⎞ birimlik değişimde elde edilen tilki ve tavşan popülasyonunu veren
f (t + ∆t ) ≅ f (t ) + ∆t ⎜ f (t )(− + ) ⎟ ……………………(1)
⎝ 4 4 ⎠ bir tablo çıkar.
Benzer bir düzenlemeyi r (tavşanlar) fonksiyonu için yaparsak; Excel’in grafik çizme özelliğinden yararlanarak bu değerler bir
grafiğe aktarıldığında aşağıdaki grafik elde edilir;
⎛ f (t ) ⎞
r (t + ∆t ) ≅ r (t ) + ∆t ⎜ r (t )(1 − ) ⎟ ………………………(2) 6
⎝ 2 ⎠
kullanacağımızı inceleyelim;
4
0
0,54
1,08
1,62
2,16
2,7
3,24
3,78
4,32
4,86
5,4
5,94
6,48
7,02
7,56
8,1
8,64
9,18
9,72
10,3
10,8
11,3
11,9
12,4
13
13,5
14
14,6
15,1
15,7
16,2
16,7
17,3
17,8
18,4
18,9
19,4
20
∆t = 0,01 kabul edildiğinden A
sütununa 0,01 birimlik fark ile
zaman değişkeni yine Bu grafik Maple ile elde ettiğimiz sonuç ile birebir aynıdır. Peki
tarafımızdan yazılmıştır. iki çözüm arasındaki fark nedir?
92 93
Ne öğrendik?
2.6 BİR YÜZEY NASIL OLUŞUR?
Öğrenim hayatımız boyunca x’in diferansiyeli anlamına dx
ifadesi birçok yerde karşımıza çıkmaktadır. Ancak “diferansiyel Tanım kümesi reel sayıların bir alt kümesi olan tek değişkenli
nedir?” sorusuna “türev ile aynı şeydir!” veya “diferansiyel bir fonksiyon olarak tanımlanan bir y = f(x) fonksiyonunun IR2
bazı yaklaşık hesaplamalarda kullandığımız bir kavramdır!” düzleminde ifade ettiği eğrinin nasıl çizileceğini dair yeterli miktarda
benzeri cevaplardan daha doyurucu bir cevap veren çok az sayıda tecrübemiz var.
kişiye rastlanmaktadır.
Ancak tanım kümesi IR2 düzleminden seçilen bir z = f(x,y) iki
İsterseniz bu soruyu bir de kendinize sorun.☺ değişkenli fonksiyonunun IR3 uzayında nasıl bir resim ifade
edeceğine dair tecrübelerimiz sınırlı.
Yukarıdaki örnek sayesinde x değişkeninin diferansiyeli
denince, x değişkenindeki sonsuz küçüklükteki değişimin Genel olarak iki değişkenli fonksiyonların bir yüzey ifade
kastedildiği oldukça somut bir şekilde ortaya konmuştur. Hem de edeceğini biliyoruz. Biraz daha ilgili ve işledikleri konuları
hiç tahmin edemeyeceğiniz Excel programı sayesinde. unutmayan arkadaşlarımız seviye eğrileri yardımı ile yüzey
çizimi’nin nasıl yapıldığını en azından böyle bir uygulama olduğunu
hatırlayabilirler.
1. Uygulama
> with(plots):
> z:=exp(-(x^2+y^2));
( −x 2 − y 2 )
z := e
> plot3d(z,x=-2..2,y=-2..2,view=0..2);
94 95
Bu şekilde işaretlenen eğriler z = f(x,y) fonksiyonunda z’nin
bazı sabit değerleri için x ile y arasındaki ilişkiyi ifade eden
bağıntının resimleridir. Bu eğrilere seviye eğrisi dendiğini biliyoruz.
z = 0,8
Yukarıdaki yüzeyin sadece seviye eğrilerini görüntüleme
z = 0,6 imkânımız da var. “Context Bar” üzerinde işaretli düğmeye
tıklayın ve seviye eğrilerinin üzerinin yüzeyin iskeletini
z = 0,4
oluşturduğunu gözlemleyin;
z = 0,2
Bu düğmeye tıklayınız
96 97
2. Uygulama
> A1:=spacecurve([t,sqrt(-ln(1/10)-t^2),1/10],t=-
10..10,color=black,numpoints=5000,axes=normal):
A2:=spacecurve([t,-sqrt(-ln(1/10)-t^2),1/10],
t=-10..10,color=black,numpoints=5000,
axes=normal):
98 99
B1:=spacecurve([t,sqrt(-ln(2/10)-t^2),2/10],t=-
10..10,color=red,numpoints=5000,axes=normal):
B2:=spacecurve([t,-sqrt(-ln(2/10)-t^2),2/10],t=-
10..10,color=red,numpoints=5000,axes=normal):
C1:=spacecurve([t,sqrt(-ln(3/10)-t^2),3/10],t=-
10..10,color=blue,numpoints=5000,axes=normal):
C2:=spacecurve([t,-sqrt(-ln(3/10)-t^2),3/10],t=-
10..10,color=blue,numpoints=5000,axes=normal):
E1:=spacecurve([t,sqrt(-ln(4/10)-t^2),4/10],t=-
10..10,color=pink,numpoints=5000,axes=normal):
E2:=spacecurve([t,-sqrt(-ln(4/10)-t^2),4/10],t=-
10..10,color=pink,numpoints=5000,axes=normal):
F1:=spacecurve([t,sqrt(-ln(5/10)-t^2),5/10],t=-
10..10,color=orange,numpoints=5000,axes=normal):
F2:=spacecurve([t,-sqrt(-ln(5/10)-t^2),5/10],t=-
10..10,color=orange,numpoints=5000,axes=normal):
G1:=spacecurve([t,sqrt(-ln(6/10)-t^2),6/10],t=-
10..10,color=yellow,numpoints=5000,axes=normal): Son elde edilen şekil sayesinde “seviye eğrisi” kavramının ne
G2:=spacecurve([t,-sqrt(-ln(6/10)-t^2),6/10],t=- anlama geldiğini daha net olarak gözlemlemiş olduk.
10..10,color=yellow,numpoints=5000,axes=normal):
H1:=spacecurve([t,sqrt(-ln(7/10)-t^2),7/10],t=- Görebildiğiniz gibi fonksiyonun nasıl bir yüzey ifade edeceğine
10..10,color=green,numpoints=5000,axes=normal): dair fikrimiz oluştu. Tabii, kullandığınız bilgisayarın kabiliyetine göre
H2:=spacecurve([t,-sqrt(-ln(7/10)-t^2),7/10],t=- daha sık ve daha çok seviye eğrisi çizdirirseniz yüzey daha
10..10,color=green,numpoints=5000,axes=normal): mükemmel görülebilir.
I1:=spacecurve([t,sqrt(-ln(8/10)-t^2),8/10],t=-
10..10,color=sienna,numpoints=5000,axes=normal): Şimdi yüzeyin grafiğini de çizdirerek, seviye eğrilerinden kendi
I2:=spacecurve([t,-sqrt(-ln(8/10)-t^2),8/10],t=- oluşturduğumuz iskelet ile birlikte aynı koordinat sisteminde
10..10,color=sienna,numpoints=5000,axes=normal): görüntüleyelim;
J1:=spacecurve([t,sqrt(-ln(9/10)-t^2),9/10],t=-
10..10,color=magenta,numpoints=5000,axes=normal): > S:=plot3d(z,x=-2..2,y=-2..2,view=0..2):
J2:=spacecurve([t,-sqrt(-ln(9/10)-t^2),9/10],t=- display(A1,A2,B1,B2,C1,C2,E1,E2,F1,F2,G1,G2,
10..10,color=magenta,numpoints=5000,axes=normal): H1,H2,I1,I2,J1,J2,K1,K2,S);
K1:=spacecurve([t,sqrt(-ln(10/10)-
t^2),10/10],t=-10..10,color=navy,numpoints=5000,
axes=normal):
K2:=spacecurve([t,-sqrt(-ln(10/10)-
t^2),10/10],t=-10..10,color=navy,numpoints=5000,
axes=normal):
> display(A1,A2,B1,B2,C1,C2,E1,E2,F1,F2,G1,G2,
H1,H2,I1,I2,J1,J2,K1,K2);
100 101
Yukarıdaki uygulama sayesinde “seviye eğrisi” kavramının 13 tane seviye eğrisi çizdirmemize rağmen 5 tanesi
yüzey çizerken bize nasıl yardımcı olduğunu görselleştirmeye görüntülendi. Demek ki, eğrilerin bir kısmı birbirine o kadar yakın ki
çalıştık. üst üste görünüyor.
Seçilen örneğe ait seviye eğrileri birer çember olduğundan bu Hangi seviye eğrisini hangi yükseklikte olduğunu da
tarz bir uygulamanın tahtada da yapılabileceğini düşünebilirsiniz. görüntülersek yüzey ile ilgili daha net bir fikir sahibi olabiliriz.
Ancak oldukça fazla zaman alacaktır.
> A1:=spacecurve([t,t+sin(-3),-3],t=-
Aşağıda, bu uygulama ile ilgili örnekler çeşitlendirilmiştir. 2..2,color=black,numpoints=5000,axes=normal):
A2:=spacecurve([t,t+sin(-2.5),-2.5],t=-
Örnek–1: f ( x, y ) = arcsin( y − x ) 2..2,color=red,numpoints=5000,axes=normal):
A3:=spacecurve([t,t+sin(-2),-2],t=-
> z:=arcsin(y-x); 2..2,color=navy,numpoints=5000,axes=normal):
z := −arcsin( −y + x ) A4:=spacecurve([t,t+sin(-1.5),-1.5],t=-
2..2,color=blue,numpoints=5000,axes=normal):
A5:=spacecurve([t,t+sin(-1),-1],t=-
Öncelikle seviye eğrilerinin bir kısmını görelim. z değeri için
2..2,color=yellow,numpoints=5000,axes=normal):
belirleyeceğimiz sabit değerleri, fonksiyonun özelliklerine göre
A6:=spacecurve([t,t+sin(-0.5),-0.5],t=-
belirlememiz gerektiğine dikkat ediniz. 2..2,color=green,numpoints=5000,axes=normal):
A7:=spacecurve([t,t+sin(0),0],t=-
Bu örnekteki fonksiyon sinüs fonksiyonunun tersidir. Dolayısı ile 2..2,color=magenta,numpoints=5000,axes=normal):
görüntü yani z değeri -π/2 ile π/2 arasında değişecektir. Biz z A8:=spacecurve([t,t+sin(0.5),0.5],t=-
değerini -3 ile 3 arasında 0,5 birimlik farklar ile inceleyelim; 2..2,color=gray,numpoints=5000,axes=normal):
A9:=spacecurve([t,t+sin(1),1],t=-
> implicitplot([z=-3,z=-2.5,z=-2,z=-1.5,z=-1,z=- 2..2,color=black,numpoints=5000,axes=normal):
0.5,z=0,z=0.5,z=1,z=1.5,z=2,z=2.5,z=3],x=- A10:=spacecurve([t,t+sin(1.5),1.5],t=-
5..5,y=-5..5, numpoints=5000,color=blue); 2..2,color=red,numpoints=5000,axes=normal):
A11:=spacecurve([t,t+sin(2),2],t=-
2..2,color=navy,numpoints=5000,axes=normal):
A12:=spacecurve([t,t+sin(2.5),2.5],t=-
2..2,color=blue,numpoints=5000,axes=normal):
A13:=spacecurve([t,t+sin(3),3],t=-
2..2,color=green,numpoints=5000,axes=normal):
> display(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,
A13);
102 103
Görüldüğü gibi yüzeyin, Maple’ın görüntüleyebildiği kısmı
seviye eğrilerimizin oluşturduğu iskelet üzerine tam olarak
oturmuştur.
y
Örnek–2: f ( x, y ) =
x2
> z:=y/x^2;
y
z :=
x2
> with(plots):
> implicitplot([z=-5,z=-4,z=-3,z=-2,z=-1,z=-
1/2,z=0,z=1/2,z=1,z=2,z=3,z=4,z=5],x=-2..2,y=-
10..10,numpoints=5000);
Seviye eğrilerini renklendirip z eksenine göre olması gereken
yerlere kondurunca yüzeyin iskeletini daha net olarak fark etmiş
olduk.
> S:=plot3d(arcsin(y-x),x=-2..2,y=-2..2,
numpoints=1000):
display(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,
A13,S);
104 105
Şimdi bu seviye eğrilerinin bir kısmını olması gereken
yüksekliklerine yerleştirelim;
> A1:=spacecurve([sqrt(t/(-2)),t,-2],t=-
10..10,color=black,numpoints=5000,axes=normal):
A2:=spacecurve([-sqrt(t/(-2)),t,-2],t=-
10..10,color=black,numpoints=5000,axes=normal):
A3:=spacecurve([sqrt(t/(-1)),t,-1],t=-
10..10,color=red,numpoints=5000,axes=normal):
A4:=spacecurve([-sqrt(t/(-1)),t,-1],t=-
10..10,color=red,numpoints=5000,axes=normal):
A5:=spacecurve([sqrt(t/(1)),t,1],t=-
10..10,color=blue,numpoints=5000,axes=normal):
A6:=spacecurve([-sqrt(t/(1)),t,1],t=-
10..10,color=blue,numpoints=5000,axes=normal):
A7:=spacecurve([sqrt(t/(2)),t,2],t=-
10..10,color=yellow,numpoints=5000,axes=normal):
A8:=spacecurve([-sqrt(t/(2)),t,2],t=- Yüzeyi fark edebildiniz mi? Fark edemediyseniz, daha fazla
10..10,color=yellow,numpoints=5000,axes=normal): seviye eğrisi çizdirebilirsiniz.
A9:=spacecurve([sqrt(t/(3)),t,3],t=-
10..10,color=green,numpoints=5000,axes=normal): Şimdi yüzeyimizi çizdirerek bu seviye eğrilerinin üzerine
A10:=spacecurve([-sqrt(t/(3)),t,3],t=- konduralım;
10..10,color=green,numpoints=5000,axes=normal):
A11:=spacecurve([sqrt(t/(-3)),t,-3],t=- > S:=plot3d(z,x=-2..2,y=-5..5,view=-10..10):
10..10,color=black,numpoints=5000,axes=normal): display(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12
A12:=spacecurve([-sqrt(t/(-3)),t,-3],t=- ,A13,A14,A15,A16,S);
10..10,color=black,numpoints=5000,axes=normal):
A13:=spacecurve([sqrt(t/(-4)),t,-4],t=-
10..10,color=blue,numpoints=5000,axes=normal):
A14:=spacecurve([-sqrt(t/(-4)),t,-4],t=-
10..10,color=blue,numpoints=5000,axes=normal):
A15:=spacecurve([sqrt(t/(4)),t,4],t=-
10..10,color=red,numpoints=5000,axes=normal):
A16:=spacecurve([-sqrt(t/(4)),t,4],t=-
10..10,color=red,numpoints=5000,axes=normal):
> display(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12
,A13,A14,A15,A16);
106 107
Yarıkürenin hacmi + Koninin hacmi =
2.7 YÜZEY DENKLEMLERİNİ KULLANARAK BİR HACİM
HESABI 4 3 π r 2 h 4.π .216 π .36.12
πr + = + = 288π cm3
6 3 6 3
Bu etkinlikte elimizde bir problemimiz var. Problemin çözümü
sürecinde karşılaştığımız çelişkiyi Maple ile çözmeye çalışırken İki farklı yoldan yapılan çözümler çelişmektedir. İkinci yol bize
neler öğreneceğimizi görelim! daha emin gelmiş ve iki katlı integral hakkındaki bildiklerimize olan
güvenimiz sarsılmıştır! ☺
Problem:
Bir topaç hayal edin. Topacın alt kısmını ters bir koniden, üst Öncelikle yaptığımız hesaplamaların doğruluğunu Maple ile
kısmını ise bir yarıküreden imal edelim. Koninin yüksekliği 12 cm, kontrol edelim;
kürenin yarıçapı ise 6 cm olsun. İki katlı integral bilgimizi kullanarak
bu topacın hacmini hesaplayalım. > Int(Int((sqrt(36-r^2)+12-r)*r,r=0..6),
theta=0..2*Pi);
2π 6
Çözüm: ⌠ ⌠ ( 36 − r 2 + 12 − r ) r dr dθ
Şekli yandaki gibi koordinat sistemine ⎮
⎮ ⎮⎮
z
yerleştirelim; ⌡0 ⌡0
)
hacim formülleri yardımı ile yaptığımız hesabı kontrol edelim;
∫ ∫(
2π 6
V= 36 − r 2 + 12 − r rdrdθ = 432π cm3
0 0 > 4*Pi*6^3/6 + Pi*6^2*12/3;
108 109
z
O halde, integral hesabında kullandığımız denklemlerin nasıl bir
şekil oluşturduğunu aşağıdaki Maple komutları yardımı ile
inceleyelim; 12
r
> with(plots):
h
> A:=implicitplot3d(x^2+y^2+(z-12)^2=36,x=-7..7,
y=-7..7,z=12..20,numpoints=5000):
B:=plot3d(sqrt(x^2+y^2),x=-7..7,y=-7..7, 6 12 y
view=0..20):
display(A,B); Topaç oluşturmak Hacmi hesaplarken
için kullanmamız x
kullandığımız koni
gereken koni yüzeyi yüzeyi
Bu durumda oluşturduğumuz küre denkleminde bir sorun Şimdi daha önceki şekli çizdirmek için kullandığımız Maple
olmadığını görüyoruz. Koni denklemini yeniden düzenlememiz komutlarında koni denklemini değiştirerek yeni elde edeceğimiz
gerekiyor. şekli gözlemleyelim.
Maple yardımı ile yukarıda elde ettiğimiz şekle bir de aşağıdaki > with(plots):
gibi bakalım;
> A:=implicitplot3d(x^2+y^2+(z-12)^2=36,x=-7..7,
y=-7..7,z=12..20,numpoints=5000,color=black):
B:=plot3d(2*sqrt(x^2+y^2),x=-7..7,y=-7..7,
view=0..20):
display(A,B);
110 111
2.8 BİR UZAY EĞRİSİNE BİR NOKTADA ÇİZİLEN NORMAL,
BİNORMAL VE TEĞET VEKTÖRLERİ
> with(plots):
with(plottools):
with(LinearAlgebra):
Gördüğünüz gibi, bu son şekil tam olarak bir topaç ifade
edebilecek şekilde ☺ Aşağıda r(t) konum vektörü tanımlanmıştır.
Şimdi, son olarak ulaştığımız koni ve küre denklemlerini > r:=t->[exp(t),exp(-t),sqrt(2)*t];
kullanarak iki katlı integrali tekrar hesaplayalım; ( −t )
r := t → [ e t, e , 2 t]
> int(int((sqrt(36-r^2)+12-2*r)*r,r=0..6),
theta=0..2*Pi); Aşağıda r'nin türevinin normu tanımlanmış ve normr ismi ile
adlandırılmıştır.
288 π
> türevr:=diff(r(t),t);
( −t )
İşte tam olarak beklediğimiz cevaba ulaştık! ☺ türevr := [ e t, −e , 2]
> normr:=simplify(evalf(sqrt(türevr[1]^2+
türevr[2]^2+türevr[3]^2)));
( 2. t ) ( −2. t )
normr := e +e + 2.
112 113
> T:=expand(diff(r(t),t)/normr); Aşağıda sırasıyla teğet, normal ve r(t)'nin t=0 için değerleri
hesaplanmıştır.
⎡ et 1 2 ⎤
T := ⎢⎢ ,− , ⎥
⎥
⎢ ( −2. t ) ( −2. t ) ( −2. t ) > Teget0:=simplify(subs(t=a,T));
+ 2. ⎥⎦
( 2. t ) ( 2. t ) ( 2. t )
⎣ e +e + 2. et e +e + 2. e +e
Teget0 := [ 0.5000000000 , -0.5000000000 , 0.7071067810 ]
> normal0:=N;
expand(…) komutu cebirsel ifadelerin açık hallerini yazar. normal0 := [ 0.7071067810, 0.7071067810, 0. ]
Örneğin, cebirsel ifade çarpanlar halinde ise bunları çarpılıp
düzenlenmiş hallerini verir. > r(a);
[ 1, 1 , 0 ]
Yukarıda, teğet vektörünün elde edildiği formülden çıkan
sonuç expand komutu ile açık olarak yazılmıştır.
Binormal vektörün hesaplanması için aşağıdaki matris
tanımlanarak determinantı alınmış ve s olarak adlandırılmıştır.
Binormal vektörün t=0'daki değeri hesaplanmış ve binormal0
r(t)'nin teğet vektörü formülü aynen T vektörüne uygulandığında olarak adlandırılmıştır.
r(t)'nin normal vektörü elde edilmektedir.
> B:=Matrix([[i,j,k],Teget0,normal0]);
Aşağıdaki satırlarda t0=a noktasındaki (a değeri 0 olarak ⎡ i j k ⎤
seçilmiştir.) normal Vektör hesaplanmış ve N olarak ⎢ ⎥
B := ⎢⎢0.5000000000 -0.5000000000 0.7071067810 ⎥⎥
adlandırılmıştır. ⎢⎢ ⎥⎥
⎣0.7071067810 0.7071067810 0. ⎦
> a:=0:
> türevt:=simplify(diff(T,t)); > s:=Determinant(B);
⎡ 2. ( 1. + e ) et
( −2. t )
2. ( e + 1. ) e
( 2. t ) ( −1. t )
s := −0.4999999997 i + 0.7071067810 k + 0.4999999997 j
türevt := ⎢⎢ , ,
⎢ ( 2. t ) ( −2. t )
( 3/2 )
( −2. t )
( 3/2 )
⎢ (e +e + 2. )
( 2. t )
+e + 2. ) Binormal vektör, taban vektörün lineer bileşeni olarak elde
⎣ (e
( −2. t ) edilmiştir. Aşağıda binormal vektörün sıralı üçlü olarak yazımı
) ⎤⎥
( 2. t )
1.414213562 ( e − 1. e görülmektedir.
− ⎥
( −2. t )
( 3/2 ) ⎥
( 2. t )
+e + 2. ) ⎥
(e ⎦ > binormal0:=[op(1,op(1,s)),op(1,op(3,s)),
op(1,op(2,s))];
> türevT0:=simplify(subs(t=a,türevt)); binormal0 := [ -0.4999999997, 0.4999999997, 0.7071067810]
türevT0 := [ 0.5000000000, 0.5000000000, 0. ]
Aşağıda r(t) eğrisi ile r(0) vektörü çizilmiş, ve başlangıçları
> normT:=evalf(sqrt(türevT0[1]^2+türevT0[2]^2+ r(0)'ın ucuna gelecek şekilde t=0 için teğet, normal ve binormal
türevT0[3]^2)); vektörler resmedilmiştir.
normT := 0.7071067812
> A:=spacecurve(r(t),t=-Pi/2..Pi/2,color=black,
> N:=(türevT0/normT); numpoints=5000,thickness=3):
N := [ 0.7071067810, 0.7071067810, 0. ] b:=line([0,0,0]+r(a), binormal0+r(a),
color=black, thickness=3):
114 115
d:=line([0,0,0]+r(a), Teget0+r(a), color=red,
thickness=3):
c:=line([0,0,0]+r(a), normal0+r(a), color=blue,
thickness=3):
e:=line([0,0,0], r(a),color=magenta,
thickness=3):
> display(A,e,b,c,d,axes=normal);
BÖLÜM – 3
Bu bölümde, bir matematik problemi çözerken Maple’dan nasıl
faydalanılabileceği gösterilmeye çalışılmıştır. Bu yolla, Maple ile
ilgili bazı özelliklerin de sunulması hedeflenmiştir.
Özel olarak t=0 noktasındaki vektörler için inceleme • Bizi işlem yükünden kurtararak, asıl kavramın önemine
yapılmıştır. Siz a değerini değiştirerek her nokta için aynı dikliğin odaklanmamıza fırsat sağlayabilir.
söz konusu olduğunu görebilirsiniz.
• Problemde geçen durumların ve sayı değerlerinin kolayca
Bu uygulamada, tamamen cebirsel olarak edindiğimiz bir bilgiyi hesaplanabilme kaygısı ile tanımlanmadığı, gerçek hayat
görsel olara kontrol etme tecrübesini yaşadık. Umarım bu heyecanı problemleri ile uğraşmamıza imkân tanıyabilir.
yaşayabilmişsinizdir! ☺
• Problemin çözümü için bir algoritma geliştirilmişse benzer
problemlerde de aynı algoritma kullanılabilir.
116 117
Aşağıda, f(x,y) fonksiyonun y’e göre ikinci türevi alınmış ve c
olarak isimlendirilmiştir.
3.1 KRİTİK NOKTA HESABI
> c:=diff(f(x,y),y$2);
Problem: f( x , y ) = x + y − 3 x y fonksiyonunun kritik
3 2 c := 2
noktalarını ve türlerini belirleyiniz.
Aşağıda, fxx(x0, y0) fyy(x0, y0) - fxy(x0, y0)2 ifadesi elde edilmiş ve
Çözüm: d olarak isimlendirilmiştir.
Öncelikle iki değişkenli f(x,y) fonksiyonunu tanımlayalım;
> d:=a*c-b^2;
> f:=(x,y)->x^3+y^2-3*x*y; d := 12 x − 9
f := ( x, y ) → x 3 + y 2 − 3 x y
Aşağıda, fx = 0 ve fy = 0 denklemlerinden oluşan sistemin
çözümü elde edilmiş ve “çözümler” adı verilmiştir.
İki değişkenli bir fonksiyonun kritik noktaları ile ilgili teorik
bilgilerimizi hatırlayalım; > cozumler:=solve({diff(f(x,y),x),diff(f(x,y),y)}
,{x,y});
(x0, y0) noktası fx = 0 ve fy = 0 denklemlerinden oluşan sistemin
3 9
çözümü olmak üzere; cozumler := { x = 0, y = 0 }, { x = , y = }
2 4
fxx(x0, y0) < 0 ve fxx(x0, y0) fyy(x0, y0) - fxy(x0, y0)2 > 0 ise (x0, y0) bir
yerel maksimum noktadır. “çözümler” adıyla elde edilen sonuçların 1. elemanı c1 olarak
isimlendirilmiştir.
2
fxx(x0, y0) > 0 ve fxx(x0, y0) fyy(x0, y0) - fxy(x0, y0) > 0 ise (x0, y0) bir
yerel minimum noktadır. > c1:=cozumler[1];
c1 := { x = 0, y = 0 }
2
fxx(x0, y0) = 0 ve fxx(x0, y0) fyy(x0, y0) - fxy(x0, y0) < 0 ise (x0, y0) bir
semer noktasıdır. “çözümler” adıyla elde edilen sonuçların 1. elemanı c2 olarak
isimlendirilmiştir.
Bu bağlamda, Maple yardımı ile aşağıdaki uygulamayı
düzenleyelim; > c2:=cozumler[2];
3 9
Aşağıda, f(x,y) fonksiyonun x’e göre ikinci türevi alınmış ve a c2 := { x = , y = }
olarak isimlendirilmiştir.
2 4
> aa:=subs(c1,a);
Aşağıda, f(x,y) fonksiyonun önce x’e sonra da y’ye göre türevi
alınmış ve b olarak isimlendirilmiştir.
aa := 0
> b:=diff(f(x,y),x,y); d olarak isimlendirilen fxx(x0, y0) fyy(x0, y0) - fxy(x0, y0)2 ifadesinde
b := -3 c1 noktası yerine konarak dd adı verilmiştir.
118 119
> dd:=subs(c1,d); 3.2 DÖNEL CİSMİN HACMİNİ HESAPLAMA–1
dd := -9
Problem: y = 3 − x
2
fonksiyonunun eğrisinin y=1 ve y=2
Aşağıda gerekli sınama yapılarak c1 noktasının türü doğruları arasındaki kısmının y ekseni etrafında döndürülmesi ile
belirlenmiştir. oluşacak dönel cismin hacmini hesaplatınız.
> if dd>0 and aa<0 then print(c1,"bir maksimum Çözüm:
noktadır");end if;
Bu problemi çözebilmek için gerekli şekli Maple yardımı ile
if dd>0 and aa>0 then print(c1,"bir minimum
çizerek, istenen hacmi elde edebilmek için gerekli integrali nasıl
noktadır");end if;
oluşturacağımızı görmeye çalışalım;
if dd<0 and aa=0 then print(c1, "bir semer
noktasıdır");end if; > restart;
{ y = 0, x = 0 }, "bir semer noktasidir" > f:=x->3-x^2;
f := x → 3 − x 2
a olarak isimlendirilen fxx fonksiyonunda c1 noktası yerine
konarak aa adı verilmiştir. > plot([f(x),1,2],x=-2..2);
> aa:=subs(c2,a);
aa := 9
> dd:=subs(c2,d);
dd := 9
120 121
Bunun için y=f(x) fonksiyonu yerine y’nin bağımsız değişken
olduğu fonksiyonu kullanmamız gerekmektedir. Aşağıda tersf adı İşlemlerimizde y = f(x) fonksiyonu kullanacağımız için bu
verilerek y=f(x) denkleminde x değişkeni y cinsinden çekilmiştir. denklemden bir fonksiyon elde edelim.
> Pi*int(tersf[1]^2,y=1..2);
3π
2
> Pi*int(tersf[2]^2,y=1..2);
3π
2
a := ( x − 4 ) + y = 9
2 2 π⌠
⎮ −x + 8 x − 7 dx
2
⌡1
Gördüğünüz gibi a ismi verilen çember denklemi bir fonksiyon
değildir. Çünkü x’in bağımsız değişken olduğu düşünülürse bir > Pi*int(b[1]^2,x=1..7);
bağımsız değişkene, iki bağımlı değişken karşılık gelmektedir. 36 π
122 123
3.4 KÜRENİN HACİM FORMÜLÜNÜ BULMA
> x:=4*cos(t);
Problem: Önceki problemin çözüm yolunu genel olarak r x := 4 cos( t )
yarıçaplı bir çembere uygulayarak kürenin hacim formülünü elde
ediniz. > y:=4*sin(t)+2;
y := 4 sin( t ) + 2
Çözüm:
Yarıçap olarak belirli bir değer yerine değişken r değerini alarak > x^2+(y-2)^2;
orijin merkezli bir çember denklemi yazalım; 16 cos ( t ) 2 + 16 sin( t ) 2
> A:=x^2+y^2=r^2;
> simplify(%);
A := x 2 + y 2 = r 2 16
Önceki problemin çözümünde uyguladıklarımızı sırasıyla Üçüncü bileşen ise helisin yükselmesini sağlayan bileşendir.
uygulayalım; Bundan dolayı üçüncü bileşeni, kullandığımız parametre cinsinden
herhangi bir şekilde tanımlamak helis elde etmek için yeterli
> B:=solve(A,y);
olacaktır.
B := −x 2 + r 2 , − −x 2 + r 2
Öncelikle, aşağıdaki parametreleri kullanalım;
> B[1];
x = 4cos(t), y = 4sin(t)+2, z = t
−x 2 + r 2
> with(plots):with(plottools):
> Pi*int(B[1]^2,x=-r..r);
4πr 3
> x:=4*cos(t);
3 y:=4*sin(t)+2;
z:=t;
r yarıçaplı bir kürenin hacim formülünü elde etmiş olduk.
x := 4 cos( t )
y := 4 sin( t ) + 2
3.5 HELİS DENKLEMİNİ BULMA VE GRAFİĞİNİ ÇİZME z := t
> spacecurve([x,y,z], t=0..8*Pi,color=black,
Problem: xy düzlemindeki izdüşümü, (0,2) merkezli 4 yarıçaplı numpoints=5000,axes=normal);
çember olan bir helis denklemini yazınız ve bu helisi çizdiriniz.
Çözüm:
Helis bir uzay eğrisidir. x, y ve z değişkenlerini parametrik
olarak tanımlamamız gerekmektedir.
124 125
Bu çember, tam olarak (0,2) merkezli 4 yarıçaplı çemberdir.
Sonuç olarak istenen helisin denklemi aşağıdaki gibi yazılabilir.
F( t ) = 4 cos( t ) i + ( 4 sin( t ) + 2 ) j + t k
> x:=4*cos(t);
y:=4*sin(t)+2;
z:=t^2;
x := 4 cos( t )
y := 4 sin( t ) + 2
z := t 2
Elde ettiğimiz helisin, problemde tanımlanan helis olup > spacecurve([x,y,z], t=0..8*Pi,color=black,
olmadığını kontrol edelim; numpoints=5000,axes=normal);
126 127
3.6 METAL PLAKA ÜZERİNDEKİ SICAKLIK eşitlenmesinden oluşan denklem sisteminin köklerinin bulunması
gerekmektedir.
Problem: Metal bir plakanın üzerindeki bir (x,y) noktasındaki
sıcaklık T(x,y) = 4x2 – 4xy + y2 fonksiyonu ile verilmektedir. Bir > solve({diff(T(x,y),x)=0,diff(T(x,y),y)=0});
karınca, plakanın üzerinde, merkezi orijinde yarıçapı 5 br olan bir { x = x, y = 2 x }
çember ile sınırlı bir bölgede sınırlar da dâhil olmak üzere rastgele
yürümektedir. Karıncanın karşılaşabileceği en sıcak ve en soğuk Bahsedilen denklem sisteminin y = 2x bağıntısını sağlayan
noktaların koordinatlarını bulunuz. sonsuz sayıda (x,y) ikilisi olduğunu bulduk.
> T:=(x,y)->4*x^2-4*x*y+y^2;
T := ( x , y ) → 4 x 2 − 4 y x + y 2
> plot3d(T(x,y),x=-5..5,y=-5..5);
y = 2x
Yüzey grafiğinde yüzeyin en küçük değeri aldığı (x,y) noktaları
görülebilmektedir.
Sıcaklığı ifade eden fonksiyonun (x,2x) noktaları için en küçük
Ancak bu noktaların cebirsel olarak tespit edilmesi için yüzey değerleri aldığını bulmuş olduk. Ancak soruda bahsedilen bölge,
bu yüzeyin sadece x + y = 25 çemberi içinde kalan kısmıdır.
2 2
fonksiyonunun x’e ve y’ye göre kısmi türevlerinin 0’a
128 129
Yukarıdaki şekilde gördüğünüz gibi, x + y = 25 çemberinin
2 2
> C:=solve(x^2+y^2=25,y);
C := −x 2 + 25 , − −x 2 + 25
y = 25 − x 2 ise;
> A1:=T(x,C[1]);
A1 := 3 x 2 − 4 x −x 2 + 25 + 25
> A:=plot3d(T(x,y),x=-5..5,y=-5..5):
B:=spacecurve([5*cos(t),5*sin(t),0],t=0..2*Pi, > E1:=solve(diff(A1,x)=0);
color=black,thickness=3):
E1 := −2 5 , 5
display(A,B);
y = − 25 − x ise;2
> A2:=T(x,C[2]);
A2 := 3 x 2 + 4 x −x 2 + 25 + 25
> E2:=solve(diff(A2,x)=0);
E2 := − 5 , 2 5
Sonuç olarak aşağıdaki noktalar, yüzey fonksiyonunun çember
sınırlarına tekabül eden extreme noktalardır;
> subs(x=-2*sqrt(5),C[1]);
5
( x,y ) = ( -2 )
5, 5 ,
> subs(x=sqrt(5),C[1]);
20
( x,y ) = ( )
5, 2 5 bu nokta zaten y = 2x doğrusu üzerindedir.
130 131
> subs(x=-sqrt(5),C[2]); Şimdi, tabanın nasıl göründüğünü çizelim;
− 20
> with(plots):
( x,y ) = ( - )
5, −2 5 bu nokta zaten y = 2x doğrusu üzerindedir.
> plot([6-x^2,x],x=-4..3);
> subs(x=2*sqrt(5),C[2]);
− 5
( x,y ) = ( 2 5, − 5 )
Sonuç olarak, şekil üzerinde gözlemlediklerimizle de
birleştirerek en sıcak noktaların ( x,y ) = ( -2 5, 5 ) ve
Çözüm:
Tabandaki herhangi bir (x,y) noktasının yüksekliğinin x2 olması
kum tepesinin üst yüzeyinin f(x,y) = x2 fonksiyonu ile tanımlandığı
anlamına gelmektedir.
132 133
Bu bölgenin üzerinde f(x,y) = x2 yüzeyi olduğuna göre istenen
hacmi veren integral aşağıdaki gibi olmaldır.
> Int(Int(Int(1,z=0..x^2),y=x..6-x^2),x=-3..2);
2 2
2 6−x x
⌠⌠ ⌠ 1 d z d y dx
⎮⎮ ⎮
⌡-3 ⌡x ⌡0
> int(int(int(1,z=0..x^2),y=x..6-x^2),x=-3..2);
125
4
125
Kum tepesinin hacmi birim küp olarak elde edilmiştir.
4
Çözüm:
Bahsedilen bölgenin nasıl bir bölge olduğunu görelim;
Arakesit bölgesi bir dairedir. Nasıl bir daire olduğunu iki yüzeyin
denklemlerini birbirlerine eşitleyerek bulabiliriz.
134 135
3.9 BİR VEKTÖRÜN UZUNLUĞU VE TÜREVİ
> z1=z2;
4−y =y +2x 2 2 2 Problem:
Aşağıdaki vektörün uzunluğunun sabitliğini ve türevine
y2+2x2 = 4 - y2 ⇒ y2 + x2 = 2 çemberi elde edilir. ortogonal olduğunu gösteriniz.
> u:=t->[sin(t),cos(t),sqrt(3)];
Maple’ın bize sağladığı bu görsel yardımı kullanarak hacmi
veren üç katlı integrali kurmaya çalışalım; u := t → [ sin( t ), cos( t ), 3 ]
y2 + x2 = 2 çemberi bir asansör boşluğunun yan duvarlarının
şekli, ve bu asansör boşluğu alttan z=y2+2x2 yüzeyi, üstten de z=4- Çözüm:
y2 yüzeyi ile sınırlandırılmıştır. > uzunluk:=evalf(sqrt(u(t)[1]^2+u(t)[2]^2+
u(t)[3]^2));
Asansör boşluğunun şekli B bölgesi olsun (y2 + x2 = 2 dairesi)
aşağıdaki integral bize hacmi verecektir; uzunluk := sin( t ) 2 + cos( t ) 2 + 3.
4 − y2
> simplify(uzunluk);
V = ∫∫ ∫ dzdxdy
B y +2x
2 2
2.
Bildiğiniz gibi x = rcosθ , y = rsinθ , z = z dönüşümü silindirik
görüldüğü gibi uzunluk sabit bir sayıdır.
koordinat dönüşümüdür. Silindirik koordinat dönüşümünün
jakobiyeninin de r olduğunu biliyoruz. Buna göre; > türev(u):=diff(u(t),t);
4 − r 2 sin 2 θ
türev( u ) := [ cos( t ), −sin( t ), 0 ]
V = ∫∫ ∫ rdzdrdθ
B r 2 sin 2 θ + 2 r 2 cos 2 θ
dikliğini kontrol etmek için skaler çarpımlarını bulalım;
2π 2 4 − r 2 sin 2 θ 2π 2 0
V= ∫∫ ∫ rdzdrdθ = ∫ ∫ (4 − r sin 2 θ − r 2 sin 2 θ − 2r 2 cos 2 θ )rdrdθ
2
0 0 r 2 sin 2 θ + 2 r 2 cos 2 θ 0 0
0 0 0 0 0 0
2π 2π
2
Vektör ile türevinin her zaman dik olduğunu görmeye
= ∫ ∫ ( 4r − 2r )drdθ = ∫ 2dθ = 4π br
3 3
çalışıyoruz.
0 0 0
136 137
> b:=10; 3.10 TARLADA OTLAYAN BİR EŞEK
b := 10
> with(plots): with(plottools): Problem:
> A:=spacecurve(u(t),t=0..2*Pi,color=black, Daire şeklindeki bir tarlanın köşesine l uzunluğundaki iple bağlanan
numpoints=5000,thickness=3): eşeğin tarlanın yarısını yiyebilmesi için bu uzunluğu (yarıçap r
d:=arrow(u(2), subs(t=2,türev(u))+u(2),0.1/2, cinsinden) hesaplayınız.
0.1,0.1, color=red):
c:=arrow([0,0,0], u(2),0.1/2,0.1,0.1,
Çözüm:
color=blue):
Eşeğin boynunun uzunluğu da önemli ☺ ama ben ipin bittiği yerde
display(A,c,d,axes=normal);
eşeğin yetiştiği yerin de bittiği varsayımı ile soruya yaklaşacağım.
Ya da ipin uzunluğunu (l) eşeğin boynu ile birlikte kabul edeceğim
☺
Gördüğünüz gibi bu iki ok birbirine dik olarak elde edilmiştir. Eşeğin tarla içinde
Siyah renkli eğri ile küre dikliği daha net görebilmeniz için uzanabileceği bölgenin Alanı
çizilmiştir. Siyah renkli eğri vektörün uç noktasının çizdiği uzay da A2 olsun.
eğrisidir.
A1 = 2A2…………………………...(I) olmalıdır.
arrow(…) komutu Maple yardımı ile, ok formatında doğrular
çizmemizi sağlamaktadır. Kullanım şekli aşağıdaki gibidir;
Şimdi sırasıyla A1 ve A2 alanlarını integral yardımı ile hesaplayalım.
> arrow([2 ya da 3 boyutlu nokta olarak okun
π 2 π 2
başlangıç noktası],[ 2 ya da 3 boyutlu nokta 1
∫ ( 2r cosθ ) dθ = 4 r 2 ∫ cos θ dθ = π r 2
2 2
olarak okun bitiş noktası], okun kalınlığı,okun A 1= 2
2
uç kısmının kalınlığı,okun uç kısmının 0 0
uzunluğu)
138 139
A2 alanını hesaplamak için iki dairenin kesiştiği noktadan geçen Maple hiçbir sonuç vermemiştir. Bu durumda analitik yöntemler
kutup ekseninin x ekseni ile yaptığı pozitif yönlü açıyı (şekil ile bu denklemin çözülemediği sonucunu çıkarırız. Çemberin
üzerinde a açısı) bulmamız gerekir. yarıçapına belirli bir değer atayarak sayısal çözümleme yaptıralım;
> solve(2*A[2]=Pi*r^2,l);
140 141
MAPLE İLE PROGRAMLAMA ÖĞRENİYORUM
142 141
Eğer, bir komut satırının sonunda [enter] yerine [shift+enter]
tuşlarına aynı anda basarsak komut grubu genişler ve yeni bir Üslü ifadenin tabanını elde edelim.
komut yazabileceğimiz bir satır daha elde ederiz. Son yazdığımız
komuttan sonra [enter] tuşuna bastığımızda bütün komutlar aynı > op( 1, % );
anda çalışır. ( 13 )
> op( 1, % );
13
Her pozitif tam sayı asal çarpanlarına ayrılabilir. Maple'ın bunu 650650
yapmak için bir komutu vardır: ( 2 ) ( 5 ) 2 ( 7 ) ( 11 ) ( 13 ) 2
> ifactor(650650); ( 13 ) 2
( 13 )
( 2 ) ( 5 ) 2 ( 7 ) ( 11 ) ( 13 ) 2 13
Aşağıdaki komut ile son elde ettiğimiz çıktının son çarpanını Son elde edilen sonuç istediğimiz sonuçtur. Yani verdiğimiz
seçelim; sayının en büyük asal çarpanıdır. Sadece en son istenen sonucu
da görüntüleyebiliriz.
> op( nops(%), % );
> 650650:
( 13 ) 2 ifactor( % ):
op( nops(%), % ):
op(a,f) komutu f ifadesinin a. parçasını seçmeye op( 1, % ):
yarayan bir komuttur. Bu komut, f ifadesi çarpım şeklinde op( 1, % );
ise a. çarpanını toplam şeklinde ise a. parçasını seçer. 13
nops(f) komutu ise f ifadesinin parça sayısını belirler. Bu yöntem aslında bildiğimiz anlamda bir programlama değildir.
Eğer f ifadesi çarpım şeklinde ise parçadan kasıt, çarpan Ancak, oluşturduğumuz bu yapılara en temel anlamda program
sayısıdır. diyebiliriz. Bu temel şekliyle önceki bölümlerde programlar
142 143
oluşturmuştuk. Önceki bölümleri dikkatle incelerseniz benzer > isim:=proc(x1,x2, . . .,xn)
yapılara rastlarsınız.
çeşitli komutlardan
Maple yardımı ile daha formal anlamda da programlar oluşan Programın ana gövdesi
yazabiliriz. Bu programların her biri birer komut üretecektir. satırlar
Ürettiğimiz bu komutlar, aynı Maple’ın kendi içinde var olan diğer
Maple komutları gibi komut_adı(gerekli girdiler) şeklinde end;
çalışacaktır. Tabii ki kendi ürettiğiniz komutların ismini siz
belirleyebilirsiniz.
Bu yapıda;
Örnek:
isim: programın üreteceği komut için sizin vereceğiniz bir
Yukarıda bir tamsayının en büyük asal çarpanını bulmuştuk. isimdir.
Şimdi bunu formal bir komut üreterek yapalım. Bu komutun adı
“en_büyük_asal” olsun. proc: İngilizce “procedure” kelimesinin kısaltılmışıdır. Maple
programı olarak adlandırdığımız programların orijinal adı Maple
> en_büyük_asal:= proc(n) prosedürleridir.
ifactor( n );
op( nops(%), % ); x1,x2, . . .,xn: Prosedürün üreteceği komutun ihtiyaç duyduğu
op( 1, % ); girdi (input) parametreleridir. Örneğin, yukarıda yazdığımız basit
op( 1, % ); program bir tam sayının en büyük asal çarpanını bulan bir komut
end; üretmektedir. Bu komut girdi parametresi olarak bir tam sayıya
ihtiyaç duyar. Bu durum, programın başında proc(n) şeklinde
Yukarıda bir Maple programı yazılmıştır. Bu program sayesinde belirtilmiştir.
en_büyük_asal(bir tamsayı) komutu üretilmiş oldu. Bu
programı bir kez çalıştırdıktan sonra programın üretmiş olduğu Programın ana gövdesi: Bu bölümde, yazacağımız programın
komut aktif ve kullanılabilir hale gelecektir. amacına göre çeşitli hazır Maple komutları, mantıksal sınamalar
veya döngüler kullanırız. Bu kısmın en sonunda, programın
> en_büyük_asal(650650); çıktısının ekrana yazdırılmasını sağlarız.
144 145
end; yazımı kullanıldığında, Maple yazdığımız programın bir
özetini, mavi renkli çıktı olarak görüntüler. • “if – then – else” mantıksal sınamasının bitirildiğini “fi” komutu,
“for – do” döngüsünün kapatıldığını ise “od” komutu
4.2 ÖRNEK MAPLE PROGRAMLARI bildirmektedir.
Aşağıda bazı matematiksel işlemleri yerine getiren programlar • Son olarak “print(topcift)” komutu ile çift sayıların eklenmesi ile
yazılmıştır. Bu örnek programlar üzerinde Maple’a özel son değeri elde edilen topcift parametresinin yazdırılması
programlama dilinin özellikleri açıklanmıştır. Önceki örneklerde istenmektedir.
karşılaşılan özellikler daha sonra tekrar kullanılmış ise yeniden
açıklamaya ihtiyaç duyulmamıştır. Bu sebeple, örnek programları modp(a,n) komutu verilen bir a sayısının mod(n)’ye göre
sıra ile incelemeniz önerilir. karşılığını veren bir Maple komutudur.
4.2.1 Çift Sayıların Toplamı
Programın ürettiği komutun örnek kullanımı:
1’den n’ye kadar olan sayıların (n dahil) çift olanlarının
toplamını bulan komutu üreten program: > toplamcift(95);
2256
> toplamcift:=proc(n) 95’e kadar olan çift sayıların toplamı 2256’dır.
local i,topcift;
topcift:=0; 4.2.2 Asal Sayıların Miktarı
for i from 1 to n do
if modp(i,2)=0 then 1’den n’ye kadar olan sayılar arasında asal olanların miktarını
topcift:=topcift+i; bulan komutu üreten program:
fi;
od; > taneasal:=proc(n::integer)
print(topcift); local i,say;
end; say:=0;
for i from 1 to n do
Açıklamalar: if isprime(i) then
• Komutun adı “toplamcift” olarak belirlenmiştir. say:=say+1;
fi;
• Komut, n olarak tanımlanan bir tek girdi parametresine ihtiyaç od;
duymaktadır. print(say);
end;
• 2. satırda, program içinde kullanılacak olan “i” ve “topcift”
parametrelerinin yerel, yani bu programa özel parametreler Açıklamalar:
olduğu belirtilmiştir. • Komutun adı “taneasal” olarak belirlenmiştir.
• 4. satır ile 8. satır arasında bir “for – do” döngüsü kurulmuştur. • Komut, n olarak tanımlanan bir tek girdi parametresine ihtiyaç
Bu döngüye göre 1’den n’ye kadar olan sayılar arasında duymaktadır. Bu parametre tam sayı olmak zorundadır.
mod(2)’ye göre 0’a eşit yani çift olanların, 3. satırda başlangıç
değeri 0 olarak belirlenen topçift parametresine eklenmesi • Örnek-1’de kullanılan “for – do” döngüsüne benzer bir döngü
istenmektedir. kullanılmıştır. Bu örnekte, 1’den n’ye kadar olan tam sayıların asal
146 147
olanları için başlangıç değeri 0 olarak belirlenen “say” Açıklamalar:
parametresine 1 eklenmesi istenmektedir. • Komutun adı “cifttoplam” olarak belirlenmiştir.
148 149
Programın ürettiği komutun örnek kullanımı:
• Daha sonra 1’den x listesinin eleman sayısına kadar kurulan
“for – do” döngüsü içinde eğer listenin i. elemanı çift ise “top” > faktöriyel(6);
parametresine i. eleman, “sayac” parametresine ise 1 eklenmiştir. 720
Bu sayede “top” parametresi listedeki çift elemanların toplamını,
“sayac” parametresi ise listedeki çift elemanların sayısını 6! = [Link].5.6 = 720’dir.
belirlemiştir.
• Döngü kapatıldıktan sonra “top/sayac” değeri yani ortamala Not: Bir Maple komutu olarak “a!” yazmak a sayısının
hesaplanarak ekrana yazdırılması istenmiştir. faktöriyelini hesaplamaktadır. Örneğin;
Bir sayının faktöriyelini bulan komutu üreten program: 4.2.6 Listedeki Sayıların Faktöriyellerinin Listesi
150 151
• Son olarak, A listesinin elemanlarının bir liste şeklinde • “B” yerel parametresi, f’nin x=n noktasındaki değeri olarak
görüntülenmesini sağlamak için B dizisi oluşturulmuş ve çıktı atanmıştır.
olarak belirlenmiştir.
• “A” ve “B” yerel parametrelerinin yardımı ile (n,B) noktasından
Programın ürettiği komutun örnek kullanımı: geçen ve eğimi A olan bir doğrunun denklemi belirlenmiş ve bu
denklem “y” yerel parametresi olarak atanmıştır.
> listfak([6,2,3]);
[ 720, 2, 6 ] • Son olarak hem “y” yani adı geçen teğet doğrunun denkleminin
ekrana yazdırılması hem de “f” ve “y” fonksiyonlarının grafiklerinin
[6,2,3] listesindeki elemanların faktöriyelleri, yine aynı sırayla çizdirilmesi sağlanmıştır.
[720,2,6] listesindeki elemanlardır.
Programın ürettiği komutun örnek kullanımı:
> tegetdenklem:=proc(f,n)
local y,A,B,C;
A:=subs(x=n,diff(f,x));
B:=subs(x=n,f);
y:=evalf(A*(x-n)+B);
print(y);
plot([y,f],x=n-5..n+5,color=[blue,red]);
end; y = sin(x) fonksiyonunun x=π noktasındaki teğet doğrusunun
denklemi “y = -x + 3.141592654” dir. Altta elde edilen grafikte ise
Açıklamalar: kırmızı eğri y = sin(x) fonksiyonunun grafiği, mavi doğru da x=π
• Komutun adı “tegetdenklem” olarak belirlenmiştir. noktasındaki teğet doğrunun grafiğidir.
• Bu örnekte, öncelikle matematiksel bir hazırlık yapmamız 4.2.8 Fibonacci Dizisinin Elemanları
gerekmektedir. Bir fonksiyonun verilen bir noktasındaki teğetinin
denkleminin nasıl bir prosedür ile bulunduğunu algoritmik bir Fibonacci dizisinin ilk n elemanını listeleyen komutu üreten
disiplin içinde belirlememiz gerekir. program.
152 153
od; print("extreme noktalarin apsisleri"=C,"dönüm
B:=[seq(A[i], i=1..n)]; noktalarinin apsisleri"=D)
print(B); end;
end;
Açıklamalar:
Açıklamalar: • Komutun adı “criticalpoints” olarak belirlenmiştir.
• Komutun adı “fibx” olarak belirlenmiştir.
• Verilen fonksiyonun türevinin 0’a eşitlenmesinden elde edilen
• Öncelikle, fibonacci dizisinin elemanlarının nasıl bir bağıntı ile denklem çözülerek çözümlere “C” adı verilmiştir. Benzer şekilde
elde edildiğini hatırlayalım; fonksiyonun ikinci türevinin 0’a eşitlenmesinden elde edilen
Birinci ve ikinci elemanları 1 olarak belirlendikten sonra, önceki denklem çözülerek çözümlere “D” adı verilmiştir.
iki elemanının toplamı sıradaki elemanı vermektedir. Örnek olarak
fibonacci dizisinin ilk 5 elemanını yazalım; 1, 1, 2, 3, 5, . . . • C ve D çözümlerinin elde edildiği komut küme parantezi içine
alınarak sonuçların bir kümenin elemanları şeklinde
• Adını A olarak belirlediğimiz bir listenin 1. ve 2. elemanlarını 1 görüntülenmesi sağlanmıştır. Küme parantezlerini kaldırsanız da
olarak belirliyoruz. program çalışır, ancak çıktı farklı şekilde, bir karışıklığa sebep
olabilecek tarzda görüntülenir. Deneyin!
• Dizinin 3’ten n’ye kadar olan elemanlarını bulmak için bir “for –
do” döngüsü kurulmuştur. 3’ten n’ye kadar A listesinin (i–1). • print komutu içine tırnak işareti arasında yazılan kısım Maple
Elemanı ile (i–2). elemanlarının toplamı i. elemanını tarafından bir metin olarak tanınır ve herhangi bir hesaplama
belirleyecektir. yapılmadan aynen görüntülenir.
• Son olarak A listesinin 1. elemanından n. elemanına kadar Programın ürettiği komutun örnek kullanımı:
tüm elemanları bir dizi oluşturacak şekilde tanımlanmış ve çıktı
olarak yazdırılmıştır. > criticalpoints(x^3-x^2);
2 1
"extreme noktalarin apsisleri" = { 0, }, "dönüm noktalarinin apsisleri" = { }
Programın ürettiği komutun örnek kullanımı: 3 3
y = x3 – x2 fonksiyonunun yerel maksimum ya da yerel minimum
> fibx(10); 2 1
noktaları x = 0 ve x = , dönüm noktası ise x = tür.
[ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ] 3 3
154 155
noktasının fonksiyonun birinci türevinin çift katlı kökü olduğunu • Yukarıdaki toplamın Maple tarafından hesaplanabilmesi şu
anlarız. x = 0 noktası fonksiyonumuzun dönüm noktasıdır. yolla sağlanmıştır;
156 157
sin(x) fonksiyonunun x=0 civarındaki bazı derecelerden seri Bu görsel sonuç ile Taylor serileri ile ilgili teorik bilgilerinizi
açılımları ile sin(x) fonksiyonun grafiğini aynı anda çizelim; bir araya getirip yorumlamaya çalışınız!
> kar:=proc(f)
local p,a,t;
a:=subs(n=n+1,f);
p:=limit(a/f,n=infinity);
t:=limit(n*(1-a/f),n=infinity);
print("oran testi sonucu",p);
print("raabe testi sonucu",t);
if p<1 then print("oran testine göre
yakinsak")
else if p>1 then print("oran testine göre
iraksak")
else if t>1 then print("raabe testine göre
yakinsak")
else if t<1 then print("raabe testine göre
iraksak")
else print("oran ve raabe testleri
karakteri belirleyemiyor!")
Yukarıda da informal bir şekilde iki satırlık küçük bir program fi;
yazmış olduk. fi;
fi;
Bu program “tayx” komutu yardımı ile x=0 civarında sin(x) fi;
fonksiyonun 1. dereceden 10. dereceye kadar seri açılımlarını end;
bulup bir dizinin elemanları olarak belirlemekte ve bu dizinin
elemanları ile sin(x) fonksiyonun grafiğini aynı koordinat sistemi
Açıklamalar:
üzerinde görüntülemektedir.
• Komutun adı “kar” olarak belirlenmiştir.
Siyah eğri sin(x) eğrisi, mavi eğriler ise seri açılımlarını temsil
eden eğrilerdir. Görüldüğü gibi, derece arttıkça mavi eğriler sinüs • Bir reel sayı serisinin karakterini belirlemeye yarayan oran
eğrisi ile daha fazla çakışmaktadır. Bu çakışma, x=0 noktasını testinin sonuçsuz olduğu durumlarda genellikle raabe testinin
merkez kabul etmektedir. kullanılması böyle bir program yazma fikrini oluşturmuştur.
158 159
• Oran testinde limiti alınması gereken ifade “p”, raabe testinde
limiti alınması gereken ifade ise “t” yerel parametresi olarak 4.2.12 Kümelerin Bileşimi
atanmıştır.
Verilen A, B kümeleri için (A∪B) kümesini bulan komutu üreten
• Daha sonra iç içe kurulan bir “if – then – else” sınaması ile program.
serinin karakterinin kontrolü, aşağıdaki gibi yapılmıştır;
> bilesim:=proc(A::set,B::set)
Eğer p>1 ise “oran testine göre ıraksak”, aksi taktirde, eğer p<1 local i,j,k,d,C,L;
ise “oran testine göre yakınsak”, aksi taktirde t>1 ise “raabe testine k:=0;
göre yakınsak, aksi taktirde, eğer t<1 ise “raabe testine göre for i to nops(A) do
ıraksak”, aksi taktirde, “oran ve raabe testleri karakteri k:=k+1;
belirleyemiyor”. C[k]:=A[i];
od;
• Kurulan iç içe sınamayı, iç içe parantezler gibi düşünebilirsiniz. for i to nops(B) do
Son olarak açılan bütün parantezler “fi” komutları ile d:=0;
kapatılmaktadır. for j to k do
if B[i]<>C[j] then d:=d+1;
Programın ürettiği komutun örnek kullanımı: fi;
od;
> kar(1/n^2); if d=k then k:=k+1;
"oran testi sonucu", 1 C[k]:=B[i];
fi;
"raabe testi sonucu" , 2 od;
"raabe testine göre yakinsak" L:={seq(C[i],i=1..k)}
∞
1 end;
∑n
n =1
2
serisi yakınsaktır.
Açıklamalar:
• Komutun adı “bilesim” olarak belirlenmiştir.
> kar(3^n);
"oran testi sonucu", 3 • Program, iki kümeyi girdi parametresi olarak kullanmaktadır.
"raabe testi sonucu" , −∞ Girdi parametreleri A ve B olarak adlandırılmıştır.
"oran testine göre iraksak"
∞ • İlk kurulan “for – do” döngüsü ile A kümesinin bütün elemanları
∑3
n =1
n
serisi ıraksaktır. C listesine eklenmiştir.
belirlenememektedir.
160 161
Programın ürettiği komutun örnek kullanımı: > fark:=proc(x::set,y::set)
local i,j,k,L,C;
> bilesim({a,b,1},{2,a,5}); k:=0;
{ 1, 2, 5, s, a, b } for i to nops(x) do
if not(member(x[i],y)) then k:=k+1;
4.2.13 Kümelerin Arakesiti C[k]:=x[i];
fi;
od;
Verilen A, B kümeleri için (A∩B) kümesini bulan komutu üreten
L:={seq(C[t],t=1..k)};
program.
end;
> arakesit:=proc(x::set,y::set)
local b,i,j,k,l; Açıklamalar:
l:=0; • Komutun adı “fark” olarak belirlenmiştir.
for i to nops(x) do
for j to nops(y) do • Kurulan bir “for – do” döngüsü ile x kümesinin elemanlarının y
if x[i]=y[j] then l:=l+1; kümesinin de elemanı olup olmadığı kontrol edilmiş ve y
k[l]:=x[i]; kümesinin elemanı olmayanlar C listesine aktarılmıştır.
fi;
od; • Son olarak C listesinin elemanları bir diziye aktarılarak ekrana
od; yazdırılmıştır.
b:={seq(k[i],i=1..l)};
end; Programın ürettiği komutun örnek kullanımı:
• İç içe kurulan iki “for – do” döngüsü ile x ve y kümelerinin aynı 4.2.15 Binom Açılımı
olan elemanları belirlenmiş ve bu elemanlar k listesine
(a+b)n ifadesinin binom açılımını veren komutu üreten program.
aktarılmıştır.
> binom:=proc(a,b,n)
• k listesinin elemanları bir diziye aktarılarak ekrana local k,A;
yazdırılmıştır. A:=sum(n!/(k!*(n-k)!)*a^k*b^(n-k),k=0..n);
print(A);
Programın ürettiği komutun örnek kullanımı: end;
162 163
n
⎛n⎞
• A yerel parametresi olarak ∑⎜ k ⎟a b
k n−k
ifadesi tanımlanmış ve 4.3 PROGRAMLAMA İLE PROBLEM ÇÖZÜMLERİ
⎝ ⎠
k =0
(x + y)2 ifadesinin açılımını bulalım; “abc” üç basamaklı sayısından her basamağın küpü çıkartılırsa
> binom(x,y,2); elde edilebilecek en büyük sayı kaçtır?
y2 + 2 x y + x2 Çözüm: İlk bakışta sayılar teorisi yardımı ile çözülebilecek bir
problem olmasına rağmen biz çözümü aşağıdaki gibi kurgulayalım;
2 3
(x + 2y) ifadesinin açılımını bulalım;
> binom(x^2,2*y,3); İstenen ifadeyi üç değişkenli bir fonksiyon olarak ele alalım;
8 y 3 + 12 x 2 y 2 + 6 x 4 y + x 6
> f:=(a,b,c)->((100*a+10*b+c)-(a^3+b^3+c^3));
f := ( a, b, c ) → 100 a + 10 b + c − a 3 − b 3 − c 3
> x:=diff(f(a,b,c),a);
x := 100 − 3 a 2
> y:=diff(f(a,b,c),b);
y := 10 − 3 b 2
> z:=diff(f(a,b,c),c);
z := 1 − 3 c 2
> A:=(solve(x=0));
10 3 10 3
A := − ,
3 3
> B:=(solve(y=0));
30 30
B := − ,
3 3
> C:=(solve(z=0));
3 3
C := − ,
3 3
164 165
Çözüm kümesi reel sayı olarak bulunmuştur. Bu sayıları en Son olarak A listesindeki en büyük elemanı bulup ekrana
yakın pozitif tam sayıya yuvarlamalıyız, çünkü a,b ve c birer yazdırmaktadır.
rakamdır
Programı çalıştıralım ve sonucu görelim;
> a:=round(A[2]);
b:=round(B[2]); > çözüm(1,9);
c:=round(C[2]); 396
a := 6 Görüldüğü gibi, manüel olarak yapamayacağımız bir işlemde
b := 2 bilgisayardan yararlanarak, bütün ABC üç basamaklı sayılarından
c := 1 basamaklarının küpleri toplamlarının çıkarılması durumunda kaç
kalacağını tek tek kontrol ettik ve bu değerlerin en büyüğünü
> f(a,b,c); bulduk.
396
Bu yolla bulunan sonucun doğru olduğuna dair bir şüphe yok.
Zaten analitik bir yöntem ile de aynı sonuca ulaşmıştık.
Cevap: Soruda bahsedilen büyük fark 396'dır. Ve bu değer 621
için elde edilebilmektedir. Yazdığımız bilgisayar programı hangi üç basamaklı sayı için
396 değerini elde edebileceğimizi vermemektedir. Ancak,
Elde ettiğimiz bu çözümü bir Maple programı yardımı ile de programın algoritmasında bu sayıların da belirlendiğini
bulmaya çalışalım; görebilmekteyiz. Eğer programda küçük bir değişiklik yaparsak bu
sayıyı da ekrana yazdırmamız mümkündür.
Bu amaçla aşağıdaki program üretilmiştir.
Aşağıdaki programı çalıştırdığınızda, elde edeceğiniz listede
> çözüm:=proc(t,k)
396 değerinin hangi sayı için elde edildiğini görebilirsiniz;
local a,b,c,i,A;
i:=0; > listele:=proc(t,k)
for a from t to k do local a,b,c,i,A;
for b from 0 to k do i:=0;
for c from 0 to k do for a from t to k do
i:=i+1; for b from 0 to k do
A[i]:=(100*a+10*b+c)-(a^3+b^3+c^3); for c from 0 to k do
od; i:=i+1;
od; A[i]:=(100*a+10*b+c)-(a^3+b^3+c^3);
od; print([a,b,c],A[i]);
max(seq(A[l],l=1..i)); od;
end; od;
od;
Adını “çözüm” koyduğumuz bu program, yüzler basamağı t olan end;
üç basamaklı sayılardan yüzler basamağı k olan üç basamaklı
sayılara kadar bütün kombinasyonları ve bu kombinasyonlara 4.3.2 Yarışmacıya Danışmanlık Yapalım
karşılık gelen soruda istenen farkları bulmakta ve elde edilen bütün
değerleri bir A listesine kaydetmektedir. Bir yarışta, yarışmacılar nehir üzerinde sahile 50 metre
uzaklıktaki bir noktadan yarışmaya başlayıp, başlama noktasının
sahildeki izdüşümüne 1 km uzaklıkta kıyıdaki bitiş noktasına
166 167
ulaşacaktır. Yarışmacılardan birinin yüzme hızı 4 m/sn, koşma hızı > yertesp:=proc(n)
ise 6 m/sn olduğuna göre bu yarışmacının en kısa sürede bitiş local L1,L2,L3,L4,p1,p2,p3;
noktasına ulaşması için sahile çıkması gereken noktayı L1:=line([0,1],[n/50,0], color=yellow,
belirleyiniz? (Nehirde herhangi bir akıntı olmadığı varsayılacaktır.) thickness=3);
L2:=line([n/50,0],[20,0], color=yellow,
Çözüm: Öncelikle, aşağıdaki komutlar yardımı ile çizdiğimiz thickness=2);
grafik sayesinde problemi anlayalım; L3:= line([0,0],[20,0], color=black,
thickness=2);
> with(plots): with(plottools): L4:= line([0,1],[20,1], color=blue,
thickness=2);
> L2:= line([0,0],[20,0], color=black, p3:= point([n/50,0],color=red,symbolsize=20,
thickness=2): symbol=circle);
L1:= line([0,1],[20,1], color=blue, p2:= point([20,0],color=black,symbolsize=20,
thickness=2): symbol=circle);
p1:= point([0,1], color=blue, symbolsize=20, p1:= point([0,1], color=blue, symbolsize=20,
symbol=circle): symbol=circle);
p2:= point([20,0],color=black, symbolsize=20, display([L1,L2,L3,L4,p1,p2,p3],axes=none,
symbol=circle): title="şekil-2");
p3:= point([7,0],color=red, symbolsize=20, end:
symbol=circle):
display([L1,L2,p1,p2], axes=none); > süretesp:=proc(n)
local a,b,t1,t2,t;
a:=sqrt((50*1)^2+n^2);
b:=(1000-n);
t1:=evalf(a/4);
t2:=evalf(b/6);
t:=evalf(t1+t2);
"nehirde yüzülen zaman"=t1,"sahilde koşulan
zaman"=t2,"toplam yarışma zamanı"=t;
end:
168 169
> n:=500; Tabii ki bu çözüm, analitik bir çözüm değildir ve kesin çözüm
yertesp(n); olarak adlandırılamaz.
süretesp(n);
Ancak, yarışma zamanının saniye cinsinden olduğu dikkate
karadaki_nokta := 500 alınır ve 45 metre değerinin elde edildiği sırada yarışma zamanının
binde birlik bir değişime uğradığı düşünülürse, bu yöntemle
bulduğumuz çözümün pratik anlamda değerli olduğu sonucuna
varabiliriz.
“n” değerini değiştirerek aşağıdaki tabloyu dolduralım ve en Karaya çıkılan noktadan bitiş noktasına kadar olan mesafeye
uygun karaya çıkma noktasını tahmin etmeye çalışalım; de M2 diyelim;
> M2:=1000-n;
Karaya çıkma Yarışma
noktası (n) zamanı M2 := 1000 − n
500 208,95
1000 250,31 Yüzülen zaman Z1 olsun;
0 179,17
10 177,75 > Z1:=M1/4;
30 176,24 2500 + n 2
40 176,007
Z1 :=
4
50 176,011
45 175,983 Koşulan zaman Z2 olsun;
43 175,986
44 175,984 > Z2:=M2/6;
500 n
Yukarıdaki tabloda elde ettiğimiz değerler, yarışmacının yarışa Z2 := −
başladığı noktanın karadaki izdüşümünden yaklaşık 44 – 45 metre
3 6
ileride karaya çıkmasının uygun olduğunu gösteriyor.
Toplam zamanı veren fonksiyonumuz Z olsun;
170 171
> Z:=Z1+Z2;
2500 + n 2 500 n > tegetdenklem(Z);
Z := + −
4 3 6
> plot(Z,n=0..1000,resolution=100,numpoints=100);
172 173
Bu sonuç problemimizin tam çözümüdür. Bulduğumuz çözümün
sayısal çözümünü bularak deneme-yanılma yolu ile bulduğumuz Bu program içinde kullanılan parametreler, daha önceki
sonuçla karşılaştıralım; programlardan farklı olarak “global” tanımlanmıştır.
Deneme-yanıla yolu ile bulduğumuz sonuç yaklaşık 45 metre idi > a:=25:
tam sonucun ise 44,72 metre olduğunu bulmuş olduk. dikucgen(a);
312, 313
Gerçekten de 1000 metrelik bir mesafede 0,28 metrenin
pratikteki önemi yok denecek kadar azdır. A değerinin 25 seçilmesi ile programı çalıştırdığımızda diğer dik
kenarın 312, hipotenüsün ise 313 olduğunu bulduk.
4.3.3 Pisagor Üçgenleri Şimdi, bu değerlerin bir dik üçgen oluşturup oluşturmadığını
kontrol edelim;
3–4–5 ve 5–12–13 gibi meşhur dik üçgenleri hepimiz biliriz. Bu
üçgenlerin meşhur olmasındaki sebep, kenar uzunlukları tamsayı > with(geometry):
olan dik üçgenler olmasıdır. triangle(T,[a,b,c]):
IsRightTriangle(T);
Kısa kenarlarından biri a tamsayısı olan bir dik üçgende, a
a2 -1 a2 +1 true
sayısı tek ise diğer dik kenarın 2 , hipotenüsün 2 olarak, a
25–312–313 üçgeninin, bir dik üçgen olduğunu anlıyoruz.
a2 a2
sayısı çift ise diğer dik kenarın 4 − 1 , hipotenüsün 4 + 1 olarak,
Buna göre, yukarıda yazdığımız program sayesinde her zaman
yine bir tam sayı şeklinde bulunabildiği iddia edilmektedir. kullandıklarınızdan daha farklı özel dik üçgenler elde edebilirsiniz.
Bunun için a değerini değiştirmeniz yeterlidir.
Bu iddiayı kontrol ediniz.
174 175
Diferansiyel denklem çözme dsolve
MAPLE SÖZLÜĞÜ Diferansiyel denklem çözümüne ait grafiği çizme. “plots”
komutu açılınca çalışır. odeplot
Dizi tanımlama seq
Bu sözlükte, Maple programına ait bazı komut ve kodların ne array
Dizin tanımlama
işe yaradığı kısaca tanımlanmıştır.
Doğal logaritma ln
Doğal logaritma tabanı olan e sayısı exp(1)
Komut ve kodların nasıl kullanıldığı açıklanmamıştır. Kullanım
özelliklerine dair açıklamaları bu kitapta bulabilir ya da ilgili komuta e üzeri x exp(x)
ait yardım sayfasına, sözlükte geçen ismin başına “?” işareti Faktöriyel hesabı a!
ekleyerek Maple çalışma sayfasına yazıp çalıştırdığınızda açılan for döngüsü kurmak for - do
yardım menüsünden ulaşabilirsiniz. Geometri paketi with(geometry)
Grafik çizme plot
Unutmayın! Bu sözlük, sadece “küçük bir hızlı referans” Hızlı grafik çizme. Sadece fonksiyon tanımlamak
özelliği taşımaktadır. yeterlidir, Maple varsayılan bir aralık atayarak grafiği
görüntüler. smartplot
İki matrisin çarpımını bulur. “LinearAlgebra” paketi
3 boyutlu grafik çizme plot3d açılınca çalışır. MatrixMatrixMultiply
a sayısının b. dereceden kökünü bulur root(a,b) imajiner birimi tanımlama I
Animasyon üretme.”plots” paketi açılınca çalışır! animate integral hesabı int
Asal çarpanlarına ayırma ifactor İşaret fonksiyonu signum
Aralık tanımlama. Her türlü aralık içn kullanılır. a..b Kapalı fonksiyonların 3 boyutlu grafiğini çizme. “plots”
paketi açılınca çalışır. implicitplot3d
Bir ifadede değişkenlerin yerine değer yazma subs Kapalı fonksiyonların grafiğini çizme. “plots” paketi
Bir ifadedeki belli bir sıradaki unsuru seçme op açılınca çalışır. implicitplot
Bir ifadeyi açma expand Kapalı fonksiyonların türevini alma implicitdiff
Bir ifadeyi oluşturan unsurların sayısını belirleme. nops Karekök alma sqrt
Bir matrisin tersini alma. “LinearAlgebra” paketi açılınca Koordinat sisteminde nokta işaretleme. “plots” paketi
çalışır. MatrixInverse açılınca çalışır. pointplot
Bir sayının asal olup olmadığını sınama isprime kotanjant cot(x)
/ Kutupsal tanımlı fonksiyonların grafiğini çizme. “plots”
Bölme işlemi
paketi açılınca çalışır. polarplot
Büyüktür işareti >
Küçüktür işareti <
cosinüs cos(x)
Limit alma limit
Çalışma sayfasını yenileme restart
Lineer cebir paketi with(LinearAlgebra)
Çarpanlara ayırma factor
Matris tanımlama Matrix
Çarpma işlemi *
Modul hesabı. a sayısının n modulunu bulur modp(a,n)
Çıkarma işlemi -
Mutlak değer abs(x)
Çizgi çizme. ”plots” paketi açılınca çalışır! line
Ok şekli çizme. “plottools” paketi açılınca çalışır. arrow
Çizim araçları paketi with(plottools)
Öğrenci paketi with(Student)
Çizim elemanlarını görüntüleme. ”plots” paketi açılınca
çalışır! display Parçalı fonksiyon tanımlama piecewise
Çizim paketi with(plots) pi (π) sayısı Pi
Denklem çözme solve Program içinde bir sınama yapma if - then - else
Determinant hesabı. “LinearAlgebra” paketi açılınca Program içinde döngü kurmak while - do
çalışır. Determinant
program içinde global değişken tanımlama global
176 177
Program içinde yerel değişken tanımlama local
Reel bir sayıyı, en yakın tam sayıya yuvarlama round DİZİN
Sadeleştirme yapma simplify
Sayısal hesaplama yapma evalf
A
Sayısal yöntem ile denklem çözme fsolve
sum
abs, 19, 24, 28, 73
Seri tanımlama
algoritma, 117, 141
Sinüs sin(x) animate, 31, 32, 33, 51, 60, 61, 65, 66, 67, 68, 80, 81, 86, 87
Tam değer hesabı floor array, 52
tanjant tan(x) arrow, 138
ters cosinüs arccos(x) atama, 9
axes, 80, 81, 86, 87, 99, 100, 103, 106, 116, 125, 127, 138, 168, 169
ters kotanjant arccot(x)
ters sinüs arcsin(x)
ters tanjant arctan(x)
B
Toplama işlemi + background, 51, 80, 81, 86, 87
Türev alma diff binormal, 113, 115
Uzay eğrisi çizme. “plots” paketi açılınca çalışır. spacecurve
Üs (kuvvet) tanımlama a^b C
color, 12, 22, 24, 26, 29, 30, 51, 55, 60, 61, 65, 66, 67, 68, 70, 74, 75, 76,
80, 81, 83, 85, 86, 87, 99, 100, 103, 106, 115, 116, 125, 127, 130, 134,
138, 152, 168, 169, 172
context bar, 126
Context Bar, 32, 80, 96, 97
coords, 81, 83, 87
D
Denklem, 16, 17, 19, 40
Determinant, 42, 115
diferansiyel, 40, 41, 89, 91, 94
diff, 35, 36, 37, 40, 41, 44, 90, 113, 114, 118, 119, 129, 131, 137, 152,
154, 156, 165, 172, 173
discont, 34, 55, 74, 75, 76
display, 29, 30, 48, 55, 74, 75, 76, 83, 85, 100, 101, 103, 104, 106, 107,
110, 111, 116, 130, 133, 138, 168, 169
do, 146, 147, 148, 149, 150, 151, 153, 156, 161, 162, 163, 166, 167
dsolve, 41, 42, 90
E
else, 159, 160, 174
end, 44, 120, 144, 145, 146, 147, 148, 149, 150, 151, 152, 154, 155, 156,
159, 161, 162, 163, 166, 167, 169, 172, 174
Error, 44, 45, 47, 53, 148
Eşitsizlik, 16
178 179
evalf, 7, 8, 36, 38, 52, 113, 114, 137, 149, 152, 156, 169, 172, 174 K
Excel, 2, 90, 91, 92, 93, 94
exp, 8, 18, 20, 21, 35, 54, 95, 98, 113, 157 Karekök, 6
expand, 16, 114 Karmaşık sayı dizileri, 63
kartezyen, 29, 79, 80, 81, 82, 83, 84, 85
kutupsal, 29, 79, 80, 81, 82, 83, 84, 85, 86, 108, 139, 140
F Kutupsal Koordinatlar, 78
factor, 15, 16
fi, 146, 147, 148, 149, 159, 160, 161, 162, 163, 174 L
fonksiyon, 8, 9, 10, 11, 14, 15, 17, 23, 26, 27, 28, 29, 35, 37, 38, 40, 45,
50, 53, 55, 56, 69, 70, 72, 74, 75, 76, 79, 81, 83, 84, 95, 99, 102, 122, limit, 13, 33, 39, 40, 50, 53, 54, 57, 62, 63, 65, 67, 68, 73, 77, 91, 159
123, 152, 156, 165 Limit, 13, 33, 55, 62
for, 146, 147, 148, 149, 150, 151, 153, 154, 156, 157, 161, 162, 163, line, 51, 80, 81, 86, 87, 115, 116, 168, 169
166, 167 LinearAlgebra, 42, 43, 113
Formal, 54 local, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 159, 161, 162,
frames, 51, 60, 61, 65, 66, 67, 68, 80, 81, 86, 87 163, 166, 167, 169, 172
fsolve, 18, 19, 141 log, 8
G M
geometry, 175 Maple, III, IV, V, VI, VII, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 17, 18, 19, 22,
global, 174, 175 23, 25, 26, 28, 31, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 50, 57,
grafik, 2, 11, 19, 21, 22, 31, 32, 34, 53, 81, 82, 89, 90, 93, 97, 113, 129, 64, 66, 69, 73, 78, 79, 80, 82, 83, 90, 93, 95, 99, 105, 108, 109, 110,
133, 139, 168 111, 118, 121, 136, 138, 140, 141, 142, 141, 142, 144, 145, 146, 155,
157, 165, 166, 168, 172
matris, 42, 115
H Matrix, 115
hacim, 108, 109, 124 MatrixInverse, 43
hata mesajları, 15, 43, 44 MatrixMatrixMultiply, 43
helis, 124, 125, 126, 127 modp, 146, 148, 149, 174
I N
IsRightTriangle, 175 nops, 142, 143, 144, 148, 149, 151, 161, 162, 163
normal, 6, 80, 81, 86, 87, 99, 100, 103, 106, 113, 114, 115, 116, 125,
127, 138
İ numeric, 53, 90
numpoints, 22, 28, 29, 30, 83, 85, 90, 98, 99, 100, 102, 103, 104, 105,
if, 120, 146, 147, 148, 149, 159, 160, 161, 162, 163, 174
106, 110, 111, 115, 125, 127, 138, 172
ifactor, 142, 143, 144
implicitplot, 24, 26, 29, 45, 55, 75, 76, 83, 85, 98, 102, 105, 133
implicitplot3d, 110, 111 O
infinity, 39, 63, 65, 67, 68, 73, 159
İnformal, 50 od, 146, 147, 148, 149, 150, 151, 154, 156, 161, 162, 163, 166, 167
input, 44, 145, 148 odeplot, 90
int, 37, 38, 109, 112, 122, 123, 124, 134, 140, 141 op, 115, 142, 143, 144
integral, III, 38, 108, 109, 110, 134, 136, 139, 140 ortogonal, 137
isprime, 147
180 181
P V
Pi, 8, 10, 12, 15, 27, 29, 30, 32, 33, 34, 78, 79, 80, 81, 83, 85, 86, 87, 109, vektör, 113, 115
112, 115, 122, 123, 124, 125, 127, 130, 138, 140, 141, 153, 158 view, 20, 21, 22, 24, 33, 34, 75, 76, 95, 101, 107, 110, 111, 134, 158
piecewise, 54
plot, 11, 12, 19, 20, 21, 22, 23, 24, 26, 31, 32, 33, 34, 40, 47, 51, 55, 70,
71, 72, 74, 75, 76, 78, 79, 80, 81, 83, 86, 121, 123, 133, 152, 158, 172
W
plot3d, 28, 95, 101, 104, 107, 110, 111, 128, 130, 134 with, 25, 27, 29, 30, 32, 42, 45, 46, 50, 54, 59, 64, 70, 78, 82, 85, 86, 87,
plottools, 50, 54, 59, 64, 113, 125, 138, 168 90, 95, 98, 105, 110, 111, 113, 125, 128, 133, 138, 168, 175
point, 168, 169
pointplot, 51, 59, 60, 61, 65, 66, 67, 68, 80, 81, 86, 87
polarplot, 27, 29, 78, 79, 81, 85, 87 Y
premature, 44 yakınsaklık aralığı, 76
print, 120, 146, 147, 151, 152, 154, 155, 159, 163, 167, 174 yaklaşık, 93, 94, 170, 174
proc, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 159, yardım, VII, 13, 77, 90, 92
161, 162, 163, 166, 167, 169, 172, 174 yerel, 118, 146, 149, 150, 152, 153, 155, 157, 160, 164
programlama, V, 142, 141, 143, 145, 146 yığılma noktası, 59, 62, 65, 66
yüzey, 95, 96, 101, 102, 103, 128, 129, 131
R
reel kuvveti, 6
S
seq, 38, 52, 59, 60, 65, 66, 67, 68, 151, 154, 158, 161, 162, 163, 166
sequence, 38
seriler, 39, 69
seviye eğrisi, 97, 101, 102, 103, 107, 111
simplify, 35, 37, 69, 113, 114, 115, 125, 137
solve, 16, 17, 18, 19, 26, 41, 73, 83, 119, 122, 123, 124, 129, 131, 133,
140, 154, 165, 172, 173
spacecurve, 30, 99, 100, 103, 106, 115, 125, 127, 130, 138
sqrt, 84
subs, 10, 15, 35, 44, 114, 115, 119, 120, 131, 132, 138, 152, 156, 159,
172
sum, 39, 69, 163
symbol, 168, 169
symbolsize, 168, 169
T
teğet, 113, 114, 115, 152, 153, 172
thickness, 24, 30, 55, 60, 61, 65, 66, 67, 68, 74, 75, 76, 80, 81, 83, 85,
86, 87, 115, 116, 130, 138, 168, 169
topaç, 108, 110, 112
triangle, 175
türev, III, 35, 44, 94, 137, 138
type, 44, 90, 148
182 183