ÖNSÖZ
Bir usta için alet çantasındaki aletler ve bu aletlerin çeşitliliği ne kadar önemli ise hiç şüphesiz ki mühendisler için de matematik bilgileri o derece önemlidir. Ayrıca günümüzde matematik ve mühendislik bilgileriyle donanımlı olmanın yanında, artık olmazsa olmaz matematik ve mühendislik problemlerinin çözümünde bilgisayar teknolojisini dolayısıyla ilgili yazılımları hem bilmek hem de uygulamak zorundayız. Bu yazılımlardan bir tanesi de MATLAB’dir. Bu kitapta 385 adet MATLAB uygulaması ve 15 adet Simulink uygulaması olmak üzere toplam 400 adet uygulama yapılarak, sizin MATLAB’i ve Simulink’i kullanma becerinizin geliştirilmesi amaçlanmıştır.
Elinizdeki bu kitabın birinci bölümünde, matematik ve mühendislik problemleri tanıtılarak, bu problemlerin çözümünde kullanılacak olan MATLAB yazılımı hakkında, MATLAB ile programlama hakkında ve Simulink ile modelleme hakkında kısa ve özlü bilgiler verilmiştir. Bu kitabın ikinci bölümünde de matematiğin çeşitli konularıyla ilgili 325 adet MATLAB uygulaması ve 5 adet de Simulink uygulaması yapılmıştır. Kitabın üçüncü bölümünde ise değişik mühendislik problemleriyle ilgili 60 adet MATLAB uygulaması ve 10 adet de Simulink uygulaması gerçekleştirilmiştir. Kitapta söz konusu bu uygulamalardan önce konulara ilişkin özet bilgiler de olabildiğince verilmeye çalışılmıştır. Kitapta sunulan tüm uygulamalar konularına göre sınıflandırılmış ve genellikle basitten zora doğru bir sıra izlenmiştir.
Matematiğin diğer bilimlerdeki uygulamalarından söz etmeden önce insan yaşamında ne kadar önemli bir yeri olduğuna değinmek yerinde olur. Matematik denilince genellikle sadece cebirsel işlemler anlaşılır. Oysa insanların yaşamlarını kolaylaştıran pek çok unsurda matematiğin çok önemli bir yeri vardır. Modern bilimin insanların hizmetine sunduğu ve günlük yaşamda kullanılan dijital saatler, televizyonlar, cep telefonları, bilgisayarlar, otomobiller, ısıtma sistemleri ve benzerleri gibi insanların yaşamlarını kolaylaştıran şeyler örnek olarak verilebilir. Matematik; fen bilimlerinde, sosyal bilimlerde hatta sağlık bilimlerinde uygulanarak, bu bilimlerin gelişmesine de katkıda bulunmaktadır. Söz konusu bu tür bilimlerde karşılaşılan problemlerin çözülebilmesi için, öncelikle problemin matematiksel bir modelinin kurulması ve daha sonra da bu modelin çözülmesi gerekir. Matematik söz konusu bu bilimlerin bir dili olmuş ve olmaya da devam edecektir. Bu açıdan adı geçen bilimler matematik olmadan bir adım dahi ilerleyemezler. Bir mühendisin hazırladığı projede, birtakım matematiksel hesaplamalar yapmadan projesini bitirmesi olası değildir. Ekonomistler matematiksel temelleri olmadan gerekli olan hesaplamaları gerçekleştirip, bunların değerlendirmelerini yapamazlar. Hava durumu tahmini yaparken bile matematiksel teoriler temel olarak alınırlar. Sağlık alanında kullanılan cihazlarda örneğin EEG (Elektroensefalogram) cihazlarında Fourier teorisinin önemli bir yeri vardır. Bu şekilde daha birçok örnek vermek mümkündür.
Matematiğin birçok özelliği bulunur. Bu özellikler aşağıdaki gibi sıralanabilir: Matematik bir iletişim aracı olup, kendine özgü bir dile sahiptir. İnsanlarda disiplinin oturmasını temin eder. Bilgi açısından insanların gelişmesini sağlar. Matematik varlıkların aralarında bulunan ilişkilerle ilgilenir başka bir ifadeyle varlıkların kendisiyle ilgilenmez. Birçok bilim dallarında matematikten yararlanılmaktadır. Matematik bir düşünce tarzı olup, insanların beyin fonksiyonlarının çalışmasına olanak sağlar. Matematik bir anahtar olup, mantıksal olan sistemlerin birleşmesinden oluşur. Matematik bir çeşit matematikçilerin oynadığı bir oyun olup, onu kavramak ve anlamak için tamamen içine girmek gerekir. Matematik insanların düşünme yeteneklerine olumlu bir katkı sağlar,
belli başlı değerlerin toplamlarından oluşur ve insanların düşünmesine, analiz yapmasına ve sentez yapmasına olanak sağlar. Matematik geçmiş dönemlerden günümüze kadar gelmiş olan en büyük ortak değer olup, yaşam ve toplum için olmazsa olmaz ve sınır konulması imkânsız olan bir bilim dalı ve bir yaşam biçimidir. Matematik insan yaşamında her zaman var olacak bir sanat olup, insanlarda pozitif bir şekilde düşünmeye ve görmeye olanak sağlar. Matematik bilimsel açıdan düşünmeyi öğretir, bilimsel çözümleme yollarının uygulanmasına ve en doğru bir şekilde karar vermeye olanak sağlar. Askeri alanlarda, devletle ya da özel sektörle alakalı yönetim birimlerinde ve kurumlarında, temel bilim alanlarında, karşılaşılan doğa olaylarını açıklamada, teknolojik alanlarda, mühendislik alanlarında, ticarette, ekonomide, maliye ve yönetim alanlarında, endüstri ve işletme alanlarında, eczacılıkta, fen bilimlerinde, gıda sektöründe, fizikte ve sosyal bilimlerde büyük ölçüde yararlanılmaktadır. Matematik, genel mantığın uygulama alanı ve insan zekâsının bu yolda işlemesi görevini görür. Ayrıca mekanik (statik, kinematik ve dinamik), fizik, astronomi bilimlerinin de temelini teşkil eder. Bunların dışında, sosyal bilimler, tıp, jeoloji, psikoloji, sosyoloji ve iş idareciliği gibi alanlarda da matematiğe belli oranda ihtiyaç duyulur.
Günümüzde yer alan büyük endüstri ve yan kuruluşları, istihkâm hizmetleri hep matematiğin yardımı ile yapılmış eserlerdir. Onun için en soyut bilim olan matematik, ikinci elden pratik hayata da etki ediyor demektir. Matematik diğer pozitif bilimlerin gelişmesinde de önemli bir pay sahibidir. Bunun yanında diğer bilimlerin de matematiğin bugünkü ileri seviyesine gelmesinde önemli payları bulunmaktadır. Örneğin 17. yüzyıl başlarında, gökcisimlerinin yörünge hesaplamalarında, var olan matematik bilgileri astronomlar için yeterli olmamıştır. Sonuç olarak astronomların da zorlamalarıyla matematikçiler tarafından diferansiyel denklemlere ilişkin kavramlar ortaya atılmıştır.
Fizik, kimya ve astronomi gibi bilimlerde ana özellik, bu bilimlerin gözlem ve deneye dayalı, aynı zamanda da ölçülebilir olmasıdır. Oysa matematik, soyut bir bilim olmakta ve temel konusu da sayılar ve etrafımızda gördüğümüz şekillerdir. Matematiğin diğer bilimlerden farkları ise şu şekilde sıralanabilir: Sembol ve şekiller kullanılır. Uygulama alanı geniş, soyut ve kesin sonuç esasına dayanır. Kesin kanunları vardır ve kendisini devamlı yeniler. Diğer bilimlerde gerçekleştirilen çalışmaları yasalar halinde ifade edilebilir duruma getirir. Var olanı inceler ve kesin sonuç verir. Birbirine bağımlı olarak sürekli gelişmeler gösterir ve gelişmeleri birbirini tamamlar.
Kodlama; bilgisayar yazılımlarını, uygulamaları ve web sitelerini meydana getirmeyi olanaklı kılan şeydir. Kullanılan internet tarayıcıları, işletim sistemleri, cep telefonlarındaki tüm uygulamalar vs. yazılan kodlar sayesinde gerçekleştirilir. Bilgisayarların kendi başına konuşma ve insanlarla iletişime geçme gibi gelişmiş yetenekleri yoktur. Bir bilgisayar, bir tablet ya da bir cep telefonu ihtiyaçları karşılaması için ona neler yapması gerektiğini bizzat kullanıcıları söyler. Bu tür elektronik cihazlara yapmasını istediğimiz şeyleri söylemek için programlama dillerini kullanırız. Bu programlama dilleri sayesinde bilgisayarlar ve diğer elektronik cihazlar bizi anlayabilirler. Başka bir ifadeyle bizi anladıkları dillerden birini kullanarak, onlara aynı zamanda talimatlar vermemiz gerekir. Bu talimatları ancak makinelerin bizi anlayacağı kodlar yardımıyla yapabiliriz. Kodlama yapabilmek için de bir programlama dili öğrenmeliyiz ve uygun bir platformda kodlama yapmalıyız. Kodlama yapmaya kararlı ya da meraklı olan herkes kodlama öğrenip kodlama yapabilir. Bazıları kodlamayı
sadece hobi olarak yaparken, bazıları da hayatlarını değiştirecek yazılımları üretmek ve bazıları da dünyayı değiştirmek için yapabilirler. Bunların dışında aktif olarak yazılım ihtiyaçlarına cevap vererek para kazanmak isteyen kişiler de kodlama yaparlar. Kodlama yapan kişilere yaptıkları kodlamanın türünü ve alanını belirten bazı unvanlar verilir. Söz konusu bu unvanların her biri kendi içinde bazı gerekliliklere sahiptir.
Yazılım geliştiricileri (Bilgisayar programcıları)
Web geliştiricileri
Oyun programcıları
Mobil uygulama geliştiricileri
Donanım programcıları
Ağ yöneticileri ve diğerleri gibi birçok unvana sahip olan kişiler kodlama yaparlar. Yapılan kodlamaların neticesinde günlük yaşantımızın bir parçası haline gelen programlar, uygulamalar ve oyunlar meydana gelir. Kodlama öğrenmek, normalde yapamayacağımız birçok şeyi gerçekleştirmemize yardımcı olur. Bunlara kendi web sitelerimizi hazırlamak, kariyer olarak iş sahibi olmak ya da bir teknoloji işi girişimini başlatmak da dahildir. En önemlisi kodlama yapmak demek, dünyayı biçimlendiren teknolojileri meydana getirmek demektir.
Bilgisayar programcılığı ya da yazılım geliştiriciliği tüm dünya ve ülkemiz koşullarında en ideal mesleklerden biri durumuna gelmiştir. Kodlama bilen yetenekli kişilere ya da yazılımcılara olan talep her geçen yıl mevcut olan arzı aşmaktadır. Dolayısıyla yazılımcılar uzun yıllar boyunca iş bulamama gibi bir sorunla karşılaşmayacaklardır. Ayrıca tüm dünyada kodlama yapacak kişilere olan ihtiyacın artmasına karşılık, kodlama yapabilen kişilerin sayısı hala yeterli değildir. Dolayısıyla kodlama yapabilen kalifiye kişilerin sayısının az olması, bu kişilerin oldukça cazip maaşlarla ve çalışma ortamlarıyla karşılaşacağının da bir habercisidir. Teknoloji ve bilgisayarlar ile etkileşim içinde olduğumuz bir dünyada kodlamayı öğrenmek son derece önemlidir. Kodlamayı öğrenmek aslında yaratıcı düşünme becerilerini de geliştirmek demektir. Matematik, fen bilgisi içinde yer alan disiplinlerle bağlantı kurarak gerçek yaşam sorunlarına çözümler üretmektir. Ayrıca kodlamayı öğrenmek, yeni fikirler keşfetmede ve iş-eğlenceye yönelik şeyler üretmede güçlü yollar elde etmek demektir. Dünyanın en büyük firmalarının kurucuları ve en ünlü programcıları herkesin küçük yaşlardan itibaren programlama öğrenmesi gerektiğini düşünüyorlar.
Kodlama insanı harekete geçirir. Çocukların teknolojik ilerlemelere öncülük edebilmeleri için temel bir yetenektir. Kodlama çocuklara yaratıcılık olanağını vererek, ileride onların önemli projelere imza atmalarına olanak sağlar. Kodlama çocuklara özgüven kazandırır. Çocukların geliştirdikleri projelerini ailelerine ve arkadaşlarına tanıtmaları, onların güçlerine büyük bir güç katar. Ayrıca kodlama diğer alanlarda da başarıyı getirir. Programlama eğitimi; matematik, fen ve okuma-yazma gibi farklı alanlardaki öğrenme becerilerini de destekler.
Yazılım geliştirme ya da kod yazabilme yetisi 21. yüzyılın en önemli meziyetleri arasında yer almaktadır. Bu alan ile ilgilenmek için özellikle yazılım ya da bilgisayarla ilgili bir uğraşa sahip olmak da gerekmez. Yalnızca bu konuda meraklı olmak, matematik bilmek ve problem çözmeyi sevmek gerekmektedir. Günümüzde birçok mesleğin yazılımla doğrudan veya dolaylı olarak alakalı olduğunu ve bu durumun da gün geçtikçe etkisini artırdığını düşünürsek, özellikle genç nesillerin kodlama
yapabilmeleri veya yazılım dili bilmeleri oldukça önem arz etmektedir. OECD kuruluşunun PISA (Uluslararası Öğrenci Değerlendirme Programı) ile ülkelerin eğitim sistemleri hakkında yayınladıkları raporlarda, kodlama becerilerinin çok önem arz ettiği görülmektedir. Bu raporlarda üst sıraları paylaşan ülkelerin kodlamayla ilgili dersleri müfredatlarına aldıkları görülmektedir. Çoğunlukla şu örnek verilir: orta büyüklükte bir yerleşim yerinin domates üreterek ülkeye kazandırdığı katma değerin çok daha fazlasını, bir ofiste yazılım üreten küçük bir ekip kazandırabilir. Buradan domates vd. üretmeyelim neticesi çıkarılmamalıdır. Tabi ki domates de biber de patlıcan da üretmeliyiz ancak akıl terini alın terine tercih edeceğimiz işleri daha çok yapmalıyız. Ülke ekonomisinin iyi bir yere gelebilmesi için, katma değeri yüksek işler yapılması zorunludur.
Kodlamanın temeli algoritmadır. Algoritma bir problemin çözümü için ihtiyaç duyulan tüm işlemlerin mantıksal olarak sıralı bir şekilde ifade edilmesidir. Algoritma yazılım geliştirmenin yanı sıra günlük hayattaki aktiviteler, matematik ve diğer derslerde karşılaşılan problemleri daha kolay bir şekilde çözebilme olanağını da sağlar.
Programlama aslında daha iyi bir matematik becerisi ve eğlence demektir. Soyut matematiksel kavramlar birçok kişi için can sıkıcı ve zor olabilir ve onları konudan tamamen uzaklaştırabilir. Kodlama ise kişilerin söz konusu bu soyut kavramları görselleştirmelerine olanak sağlar. Kodlamadaki düşünme tarzı; mantıksal yaklaşımı, verileri analiz ve organize etmeyi, sorunları küçük ve yönetilebilir parçalara bölerek çözmeyi gerektirir. Başka bir ifadeyle kodlama, matematiksel düşüncenin gerçek yaşamda öğrenme/öğretilme yoludur.
Dijital çağda iyi bir iş sahibi olmak için, hiç şüphesiz kodlama bilmek oldukça çok önemlidir. Çok yakın gelecekte hatta günümüzde kodlamanın önemli olduğu meslekler olarak yeni medya, sosyal medya uzmanlığı, veri madenciliği, mobil yazılımcılık, etik hacker, front-end mühendisi, iş zekası uzmanı vd. şeklinde sıralanabilir.
Elinizdeki bu kitabın ilk kavram aşamasından son basım aşamasına kadar, yaklaşık olarak iki yıllık bir zaman diliminde; soruların hazırlanması, MATLAB kodlarının yazılması ve bunların çalıştırılması, Simulink modellerinin oluşturulması ve bunların simülasyonlarının gerçekleştirilmesi ve elde edilen tüm sonuçların ve grafiklerin çok yönlü bir şekilde kontrol edilmesi aşamalarında benim asabi hallerime katlanan sevgili aileme sonsuz teşekkürlerimi sunmayı bir borç bilirim.
Son söz olarak, matematiği, problem çözmeyi ve kodlamayı sevdireceğine inandığım, emek yüklü elinizdeki bu kitabın size maksimum seviyede faydalı olmasını temenni ederim.
Dr. Muhsin AYDIN
İstanbul, Şubat 2019
İÇİNDEKİLER
ÖNSÖZ ....................................................................................................................... v
SEMBOL LİSTESİ ..................................................................................................... ix
1. BÖLÜM: GİRİŞ ....................................................................................................... 1
1.1 Matematiksel ve Deneysel Çözüm Yöntemleri ........................................... 1
1.2 Mühendislik Problemleri Nedir? Çözüm Teknikleri Nelerdir? ...................... 4
1.3 MATLAB Hakkında Kısa ve Özlü Bilgiler .................................................... 7
1.4 MATLAB ile Programlama ........................................................................ 22
1.5 Simulink Hakkında Kısa ve Özlü Bilgiler .................................................... 32
2. BÖLÜM: MATEMATİK PROBLEMLERİNDE 330 MATLAB UYGULAMASI ....... 38
2.1 Sayılar, Fonksiyonlar ve Denklem Çözümleriyle İlgili Uygulamalar ........... 38
2.2 İstatistik ve Olasılıkla İlgili Uygulamalar ..................................................... 72
2.3 Vektörlerle İlgili Uygulamalar ..................................................................... 94
2.4 Matrislerle İlgili Uygulamalar ................................................................... 120
2.5 Grafik ve Yüzey Çizimi Uygulamaları ...................................................... 151
2.6 Kompleks Sayılarla İlgili Uygulamalar ..................................................... 198
2.7 Kompleks Fonksiyonlarla İlgili Uygulamalar ............................................ 212
2.8 Limit Alma Uygulamaları ......................................................................... 224
2.9 Türev Uygulamaları ................................................................................ 234
2.10 İntegral Uygulamaları ............................................................................ 258
2.11 Sayısal Analiz Uygulamaları ................................................................. 273
2.12 Diferansiyel Denklem Çözümüyle İlgili Uygulamalar ............................. 318
2.13 Kısmi Diferansiyel Denklem Çözümüyle İlgili Uygulamalar ................... 332
2.14 Optimizasyon Problemlerine İlişkin Uygulamalar .................................. 349
2.15 Matematik Problemlerinde Simulink Uygulamaları ................................ 356
iv
3. BÖLÜM: MÜHENDİSLİK PROBLEMLERİNDE 70 MATLAB UYGULAMASI .... 365
3.1 Mekanik Problemlerinde MATLAB Uygulamaları .................................... 365
3.2 Mukavemet Problemlerinde MATLAB Uygulamaları ............................... 386
3.3 Gemi Mühendisliği Problemlerinde MATLAB Uygulamaları .................... 399
3.4 Çeşitli Mühendislik Problemlerine İlişkin MATLAB Uygulamaları ............ 450
3.5 Mühendislik Problemlerinde Simulink Uygulamaları ............................... 477
KAYNAKÇA ........................................................................................................... 492
DİZİN ....................................................................................................................... 494