fen ve mühendislik uygulamalarında...
Post on 29-Aug-2019
238 Views
Preview:
TRANSCRIPT
MATLAB Ders Notları
Fen ve Mühendislik Uygulamalarında
MATLAB
Doç. Dr. İrfan KAYMAZ
Bilgisayar Programlamaya Giriş
Matlab Ders Notları
KAYNAKLAR
1. * MATLAB, Ömer Gündoğdu, Osman Kopmaz, M. Akif Ceviz, Paradigma
Akademi, 2003.
2. * MATLAB ve Programlama, Dr. Aslan İnan, Papatya yayınları, 2004.
3. * MATLAB 6.5, A. Emre Çetin, Alfa Yayınları, 2003.
4. * MATLAB ile Mühendislik Sistemlerinin Analizi ve Çözümü, İbrahim
Yüksel, Vipaş, 2000.
5. Her yönü ile MATLAB, Mehmet Uzunoğlu, Ömer Çağlar Onar, Ali Kızıl,
Türkmen Kitabevi, 2003.
6. MATLAB ile Mühendislik Sistemlerinin Analizi, Uğur Arifoğlu, Alfa Yayınları,
2003.
* Erzurum’da bulunabilecek kaynaklar
MATLAB Ders Notları
Dersin İçeriği
1. HAFTA Bilgisayar Programlama dilleri ve tarihi
gelişimi,
Algoritma hazırlama
2. HAFTA Akış diyagramları hazırlama
3. HAFTA MATLAB programlama ortamının tanıtımı
Bilgi türleri, Sabitler, Değişkenler
Değişken türlerinin programda tanıtılması
Aritmetik işlemler, Aktarma deyimleri,
5. HAFTA Giriş- Çıkış deyimleri
6. HAFTA Çevrim yapıları
7. HAFTA Kontrol deyimleri
8. HAFTA Kontrol deyimleri
9. HAFTA Dizin kavramı
10. HAFTA Fonksiyonlar
11. HAFTA Dosya yönetimi
12. HAFTA Hazır fonksiyonlar ve kullanımı
13. HAFTA Hazır fonksiyonlar ve kullanımı
14. HAFTA Grafik çizme
MATLAB Ders Notlari
Bilgisayarın kısa tarihçesi http://lecture.eingang.org/toc.html
Bilinen en eski hesaplama cihazlarından biri 4-5 bin yıl öncesine kadar giden ve
binlerce yıl hesaplamada kullanıldığı bilinen “ABAKÜS” tür. İlk mekanik hesap makinesi
ise 1642 yılında bir Fransız düşünürü ve matematikçisi olan Blaise PASCAL (Not: 1980’li
yıllarda geliştirilen Pascal programlama dili onun adına ithaf edilmiştir) tarafından icat
edilmiştir. Pascal’ın toplama ve çıkarm yapan bu tasarımı 1960’lı yıllara dek çoğu mekanik
hesaplama kaninesinde kullanılmıştır. Bu tasarım, 1673’de Gottfried ve Leibnitz tarafından
geliştirilerek hem dört işlem yapılabilir hem de karekök alınabilir düzeye ulaştırılmıştır.
1850’li yıllarda İngiltere’de Cambridge Üniversitesi’nde bir matematik profesörü olan
Charles BABBAGE, “difference engine (fark makinesi)” adını verdiği basit bir modelle bazı
denklemlerin daha kolay ve doğru çözülebileceğini göstermiştir. Ülkemizde de 1970’li
yılların sonlarına kadar kullanılan delinmiş kartların keşfi Fransız Jacguard tarafından
yapılmış ve bunların veri işleme ortamı olarak kullanılmaya başlanması 1890’lı yıllarda
Amerika’da olmuştur. 1896’da ABD’de Hollreith’in kurduğu “tabulating machine company”
diğer bazı firmalaral birleşerek International Business Machines (IBM) corporation
firmasını çekirdeğini oluşturmuştur.
İlk elektronik sayısal (digital) bilgisayar 1942’de ABD’de üretilmiş (Iowa State
College) ve akabinde cu cihaz Pennsylvania Ünivesitesi’nden Dr. Mauchly ve Ecbert
tarafından geliştirilerek 1946’da ENIAC (Electronic Numerical Integrator And Calculator:
Elektronik Sayısal Integral Alma ve Hesaplama Makinesi) denilen makina üretilmiştir. İlk
genel amaçlı elektronik sayısal bilgisayar olan ENIAC 30 ton ağırlığa, 140 m2’lik alana,
18.000 adet tüpe sahipti. 1946’lı yıllarda transistörün keşfi ile çok büyük yer kalayan
elektronil tüplerin kullanımı ortadan kalkmış ve 1950’li yıllardaki gelişmeler bilgisayar
çağını başlatmış ve bu alandaki teknoloji günümüze dek büyük bir hızla ilerleme
kaydetmiştir.
MATLAB Ders Notlari
Bilgisayarda Problem Tanımı ve Çözümü
Problem Nedir?
Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla
çözülmesi fikrinin ortaya çıkmasına problem denir. Bu tip fikirlerde
insanların bu sorunları beyinle çözmeleri ya imkansızdır ya da çok zor
ve zaman alıcıdır. Bu tip bir sorunu bilgisayarla çözebilme fikrinin ortaya
çıkması bir bilgisayar probleminin ortaya çıkmasına neden olmuştur.
Bilgisayar, çok büyük miktarlardaki (gigabyte’lar ve üzeri) datayı (bilgiyi) çok
küçük ortamlarda saklayabilen ve bu veriler üzerinde işlemleri çok hızlı olarak
(saniyenin milyonda hatta milyarda biri mertebesinde) gerçekleştirebilen bir
cihazdır. Başlıca iki ana bölüme ayrılır:
DONANIM (HARDWARE): Bilgisayarin fiziksel bileşenlerinin tümüdür
YAZILIM (SOFTWARE): Donanımı oluşturan bileşenlerin çalışmasını ve
işlevlerini yerine getirmesini sağlayan programlar kümesidir.
Bilgisayar Nedir?
MATLAB Ders Notlari
PROBLEM ÇÖZÜM AŞAMALARI
Sistem Analizi : Sorunun çözülebilmesi için sistemin tamamen anlaşılmasını sağlayan
çalışmalardır.
Tasarım : İsteklerle ilgili olarak belirlenen bir takım çözümlerin tanımlanmasıdır.
Algoritma : Çözümün adımlarla ifade edilmesidir.
Akış Çizgesi : Algoritmanın şekillerle ifade edilmesidir.
Programlama Dili Seçimi : Çözümün netleşmesinden sonra yapılacak işlemleri kolay
bir şekilde bilgisayar ortamına aktaracak dilin seçilmesidir.
Programın Yazılması : Seçilen Programlama dilinin kuralları kullanılıarak program
yazılmaya başlanır.
Derleme : Programlama Dili ile yazılmış programın yazım hatalarının olup olmadığının
kontrol edilmesini ve ara kod olarak Obje kodun üretilmesini sağlama adımıdır.
Bağlama : Derlenmiş ara kod diğer kütüphane ve parça programlarla birleştirilerek
Makine dilinde programın oluşturulması adımıdır.
Çalıştırma : Oluşturulan Makine dili Programının çalıştırılması adımıdır.
Test : Programın Mantıksal olarak test edilmesini sağlar ve içerik olarak her ihtimal için
doğru sonuçlar üretip üretmediğini kontrol etmenizi sağlar.
MATLAB Ders Notları
Program Nedir?
Problem çözümü kısmında anlatılan adımlar uygulandıktan sonra
ortaya çıkan ve sorunumuzu bilgisayar ortamında çözen ürüne Program
denir. Bazı durumlarda bu ürüne yazılım denebilir.
Programlama Nedir?
Problem Çözümünde anlatılan adımların tümüne birden
programlama denilebilir. Çoğunlukla çok iyi tanımlanmış bir sorunun
çözümüne dair adımlar ile çözümün oluşturulup bunun bir programlama dili
ile bilgisayar ortamına aktarılması Programlama diye adlandırılabilir.
MATLAB Ders Notlari
Programlama Dili (Programming Language) Nedir?
Bir Problemin Algoritmik çözümünün Bilgisayara anlatılmasını sağlayan
kurallar dizisidir.
Bazı programlama dilleri:
C, C++, Delphi, Pascal, Visual Basic, Fox Pro, Java, Lisp, C#
Bir dilin üstünlüğünün parametreleri:
Kullanılabilirliği,
Gelişim hızı,
İhtiyaca kolay cevap vermesi,
İşletim sistemi ile uyum seviyesi,
Esnek olması,
İşletim sisteminden bağımsız olması ,
Derleme işleminin hızlı olması,
Az yer kaplaması,
Sistemi optimum kullanması…
PROGRAMLAMA DİLLERİ
DüŞük Seviyeli Diller Yüksek Seviyeli Diller
MATLAB Ders Notlari
Makine Dili
Assembly Görsel Diller Görsel Olmayan Diller
Visualbasic
Delphi Fortran
Html Cobol
Java C++
Visual C Qbasic
Turbo pascal
C
MATLAB
MATLAB Ders Notları
Makine Dili
Makine Dili 0 ve 1 den oluşan bir dildir ve bilgisayarın anladığı yegane dildir. Bu
dili direkt kullanmak için hem komutların sayısal karşılıkları ve hem de bilgisayarın
bellek adreslemesinide bilmek gerekmektedir. Bu tip dillere düşük düzey dili (Low
Level Language) adı verilir.
Assembly (simgesel) dili:
İkili sayı sisteminde yazılmış olan komutları harfli sembollerle ifade ederek üretilenbir dildir. ADD, LDA ve STA gibi…
Assembler: Assembly dilini makine diline çevirir.
DÜŞÜK SEVİYELİ PROGRAMLAMA DİLLERİ
MATLAB Ders Notları
Derleyici (Compiler) Nedir?
Bir programlama dili ile bilgisayara aktarılan programın bilgisayarın
anlayabileceği Makine Diline çevirmeyi sağlayan ve yazılan programda söz dizim
hatalarının olup olmadığını bulan yazılımlardır. Her Programlama dili için bir
derleyici olması gerekmektedir. C, PASCAL, COBOL, DELPHI vs. derleyicisi
olan yüksek seviyeli dillerdir.
HER PROGRAMLAMA DİLİNİN BİR DERLEYİCİSİ YA DA
YORUMLAYICISI VARDIR
PROGRAM DERLEYİCİ ÇIKTIAMAÇ
PROGRAM
Yorumlayıcı (Interpreter) Nedir?
Yorumlayıcılar, (Interpreter) yazılan programları makine diline dönüştüren yazılımlardır.
Ancak bu dönüşüm, derleyiciden farklı olarak gerçekleştirilmektedir. Yorumlayıcılar her
satırı anında makine diline çevirerek çalışır ve bu kodu bir dosyaya kaydetmez.
Dolayısıyla program her çalıştırıldığında her satır yeniden makine koduna dönüştürülür.
Bu yüzden yorumlayıcılar yavaş çalışmaktadır. VISUAL BASIC ve MATLAB yorumlayıcısı
olan yüksek seviyeli dillerdir.
PROGRAM
YERİ
YORUMLAYICI ÇIKTI
MATLAB Ders Notları
Bilgisayar Programlamanın tarihçesi
MATLAB Ders Notları
Algoritma Nedir?
Bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüne
denir. Doğal dille yazılabileceği için fazlaca formal değildir.
Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin
vermeksizin sözel olarak ifade edilir.
Bir algoritma için aşağıdaki ifadelerin mutlaka doğrulanması
gereklidir.
•Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı
değildir.
•Belirli bir sayıda adım sonunda algoritma sonlanmalıdır.
•Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek kadar
genel olmalıdır.
MATLAB Ders Notları
Örnek 1: Verilen iki sayının toplamının bulunmasının algoritması
aşağıdaki gibi yazılır:
Algoritma:
A1 :X degerini gir
A2 :Y degerini gir
A3 :Z= X+Y
A4 :Z' yi yaz
A5 :Bitir
Algoritmaya dikkat edilirse işlemlerin sıralanmasında,işlem
önceliklerinin göz önünde bulundurulduğu görülür.
MATLAB Ders Notları
Örnek 2: Çapraz döviz kuru hesabi yapan programın algoritmasının
oluşturulması. Bu algoritmanın oluşumunda veriler; 1 Amerikan dolarının TL
karşılığı, hesaplanacak $ miktarı, çıkış ise verilen $'in TL karşılığı olacaktır.
Doların değeri :Doldeg, Girilen Dolar Miktarı :Dolar, TL karşılığı :Tlkar.
Algoritma:
A1 :Doldeg'i gir
A2 :Doldeg<0 ise 1. adımı tekrarla
A3 :Dolar'i gir
A4 :Dolar<0 ise 3.adımı tekrarla
A5 :Tlkar=Doldeg*Dolar
A6 :Tlkar degerini yaz
A7 :Bitir
MATLAB Ders Notları
Örnek 3: Verilen iki sayının ortalamasının hesaplanması.
Algoritma:
A1 :X değerini gir
A2 :Y değerini gir
A3 :Z = X+Y
A4 :Ort= Z/2
A5 :Ort degerini yaz
A6 :Bitir
MATLAB Ders Notları
Örnek 4: Kenar uzunlukları verilen dikdörtgenin alan hesabini yapan programa
ait algoritmanın hazırlanması. Kenar uzunlukları negatif olarak girildiği
durumda veri girişi tekrarlanacaktır.
Değişkenler:
Dikdörtgenin kısa kenarı : a, Dikdörtgenin uzun kenarı : b,
Dikdörtgenin alanı : Alan
Algoritma:
A1 :a degerini gir
A2 :a<0 ise 1. adımı tekrarla
A3 :b degerini gir
A4 : b<0 ise 3. adımı tekrarla
A5 :Alan = a*b
A6 :Alan degerini yaz
A7 :Bitir
MATLAB Ders Notları
Akış Diyagramları
Akış diyagramları (Flow Charts):Herhangi bir sorunun çözümü için
izlenecek yol anlamına gelmektedir. Akış diyagramları, algoritmaların
sembolik olarak gösterimidir. Bilgisayarda gerçekleştirilecek her tür aksiyon
ayrı bir sembolle gösterilir.
MATLAB Ders Notları
Tekrarlı İşlemler
MATLAB Ders Notları
Karar Verme Yapısı
MATLAB Ders Notları
Örnek 5: 1'den 100'e kadar olan sayıların toplamlarını
ve ortalamalarını veren programın akıs diyagramını çiziniz.
MATLAB Ders Notları
Örnek 6: Ax+b=0 seklinde verilen 1.derece denklemin
çözümünü veren programa ait akış diyagramını çiziniz.
MATLAB Ders Notları
Örnek 7: 1' den 100'e kadar sayıların karelerini,
kareköklerini, küplerini, küpköklerini toplamlarını ve
ortalamalarını veren programin akıs diyagramını
çiziniz.
MATLAB Ders Notları
Örnek 8: F(x) fonksiyonunun degeri X'in
aldığı değerlere göre asağıda verilmiştir.
X'in değeri 0-10 arasın da 0.5 aralıklarla
arttığına göre her bir X degeri için F(x)
fonksiyonunu hesaplayan programın akis
diyagramını çiziniz.
0< X < 2 f(x)= X
2< X < 3 f(x)=X -X3 -22
3< X <4 f(x)=X2 -2X+13
4< X f(x)=X4 -3X2 -43
MATLAB Ders Notları
Ödev:
Dışardan girilen 3 sayıdan en büyüğünü bulan programın Algoritmasını
ve Akış diyagramlarını oluşturunuz.
top related