MATEMATİK PROGRAMLAMA

Benzer belgeler
BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayar Programlama MATLAB

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayar Programlama

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

MatLab. Mustafa Coşar

BİLGİSAYAR PROGRAMLAMA MATLAB

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

1. GİRİŞ 1.1. GENEL BAKIŞ 1.2. KULLANICI ARAYÜZÜ

BM202 SAYISAL ÇÖZÜMLEME

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

MATLAB MATLAB MAT LAB MAT LAB MATLAB

MATLAB. Temel işlemler, Vektörler, Matrisler DOÇ. DR. ERSAN KABALCI

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

KONTROL SİSTEMLERİ-1 LABORATUVARI DENEY -1. Öğr. Gör. Güzin ÖZMEN Arş. Gör. Fehmi SEVİLMİŞ

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan;

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

Matlab da Dizi ve Matrisler. Mustafa Coşar

I=[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1] % 4x4 lük birim matris

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

MATLAB Temelleri. EE-346 Hafta 2 Dr. Ayşe DEMİRHAN

MatLab. Mustafa Coşar


BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

Algoritma ve Akış Diyagramları

>> 5*3-4+6/2^0 ans = 17 ( Matlab da sayılar arası işlemler [ +, -, /, *, ^ ] bu şekilde ifade edilmektedir.)

Algoritma ve Akış Diyagramları

Fen ve Mühendislik Uygulamaları ile MATLAB

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

İM 205-İnşaat Mühendisleri için MATLAB. Irfan Turk Fatih Üniversitesi,

HSancak Nesne Tabanlı Programlama I Ders Notları

Burada dikkat edilmesi gereken nokta, bilinmeyen veya değişkeninizi yazarken diğer bilinmeyenler ile arasına boşluk koymanız gerektiğidir.

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Bilgisayar Programlama MATLAB

Microsoft Office Excel 2007

BLG 1306 Temel Bilgisayar Programlama

PROGRAMLAMA DİLLERİ I

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

Algoritma ve Programlamaya Giriş

PROGRAMLAMAYA GİRİŞ DERS 2

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

Bilgisayar II Dersi. Bölüm-2

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

FORMÜLLER VE FONKSİYONLAR

Bilgisayar Programlama MATLAB

ÖRNEK: Ax+B=0 şeklinde 1. derece denklemin çözümünü veren programa ait akış diyagramını çiziniz.

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BİLGİSAYAR PROGRAMLAMA VE FİZİKTE PROGRAMLAMA DERSLERİ İÇİN MATLAB ÇALIŞMA NOTLARI. Mehmet ÖZKAN

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu

2.3. MATRİSLER Matris Tanımlama

Algoritmalar ve Programlama. Algoritma

MATLAB Temelleri. EEM104 - Bilgisayar Programlama. Matlab ın Açılış Ekranı. Dr. Mehmet Siraç Özerdem EEM Dicle Üniversitesi. Launch Pad.

NAZMİYE DEMİREL ORTAOKULU BİLİŞİM TEKNOLOJİLERİ DERSİ 1. DÖNEM 6. SINIFLAR DERS NOTU EXCEL 2007 DERS NOTLARI

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

MATLABA GİRİŞ 1. MATLAB. Komut penceresi. MATLAB adı, MATrix LABoratory (Matrix Laboratuarı) kelimelerinden gelir.

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

İnternet Programcılığı Dersi 2.Dönem Ders Notu

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

Fen ve Mühendislik Uygulamaları ile MATLAB

BÖLÜM 2: ALGORİTMALAR

Bölüm: Matlab e Giriş.

ELEKTRONİK TABLOLAMA Aritmetiksel işlemler ve mantısal karşılaştırmaların yapıldığı programlar elektronik tablolama programlarıdır.

EXCEL 2007 ELEKTRONİK ÇİZELGE

SEÇİM İŞLEMLERİ. Yüzde Hesaplamaları HÜCRE KOPYALAMA & TAŞIMA FORMÜL GİRİŞİ FORMULLER 3) DÖRT İŞLEM. a) Bugün: b) Şimdi: c) Topla: d) Çarpım:

BÖLÜM FORMÜLLER ve OTOMATİK TOPLAM Formüller

1. LabVIEW ile Programlama

MATLAB/Değişkene Değer Atamak

Excel de çalışma alanı satır ve sütunlardan oluşur. Satırları rakamlar, sütunları ise harfler temsil eder. Excel çalışma sayfası üzerinde toplam

BÖLÜM 3: AKIŞ DİYAGRAMLARI

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

MODÜL 4 HESAP TABLOSU UYGULAMALARI 2

DENEY 1: Matlab de Temel Uygulamalar

Internet Programming II

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

MICROSOFT OFFICE WORD 2010 ÖRNEK TEST SORULARI

Fortran da kullanılan giriş çıkış komutları PRINT, WRITE ve READ dir.

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

3. Aşağıdakilerden hangisi B5 hücresinin değerini getirir (Kopyalar)? a-) =B5 b-) B5 c-) =B(5) d-) =5B

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

YZM 2105 Nesneye Yönelik Programlama

BİLGİSAYAR PROGRAMLAMA

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

MATLAB de. Programlama. akifceviz/matlab/ Doç. Dr. M. Akif CEVĠZ. Matlab Ders Notları

Transkript:

1 MATEMATİK PROGRAMLAMA 1. PROGRAM AŞAMALARI Genel olarak bir problem ile karşılaşıldığına onun ile ilgili çözüm programlama ile yapılacaksa çözüme gitme aşamaları aşağıdaki gibidir. 1) Analiz: Çözülmesi istenen programın tamamen anlaşılmasını sağlamak amacıyla genelde kağıt kalem veya zihin ile yapılan ön çalışma aşamasıdır. 2) Algoritma Geliştirme: Belli bir problemi çözebilmek için işletilmesi gereken adımları ve bu adımların hangi sıra ile gerçekleşmesi gerektiğini belirleme işine algoritma geliştirme denir. Yani, problemi çözecek adımların sıralı olarak ifade edilmesi aşamasıdır. 3) Akış Şeması Çizimi: Geliştirilen algoritmanın şekiller kullanarak görsellik kazandırılmış halidir. Akış diyagramı için kullanılan semboller ve işlevleri genellikle aşağıdaki gibidir. Akış Diyagramı Sembolü Kullanım Amacı İşlevi Başlangıç ve bitiş Başlangıç ve bitiş belirlemek amacıyla kullanılır. Bilgi girişi Klavyeden yapılacak olan veri girişi için kullanılır. Girilen her veri bir değişkende saklanmalıdır. İşlem, hesaplama, Her türlü hesaplama ve atama işi için atama kullanılır. Karar, Program akışını bir karşılaştırmaya göre karşılaştırma değiştirmek için kullanılır. Bilgi çıkışı Ekran üzerinde kullanıcıya bilgi aktarmak için kullanılır. Oklar Bilgi akışının yönünü belirtmek amacı ile kullanılır. 4) Programlama Dili Seçimi: Geliştirilen algoritmanın kolaylıkla bilgisayar ortamına aktarabilmeyi sağlayabilecek uygun programı seçmek gerekir. 5) Programın Dile Göre Yazılması: Önceden geliştirilen algoritmanın seçilen dilin kurallarına göre komutlar dizisine dönüştürülmesi aşamasıdır. 6) Derleme / Yorumlama: Muhtemel yazım hatalarının var olup olmadığının kontrolü ve varsa düzeltmeler yapıldıktan sonra yazılar komutlar dizisinin bilgisayarın tek anladığı dil olan makine diline (yani 1 ve 0 lara) dönüştürüldüğü aşamadır. 7) Çalıştırma: Makine diline dönüştürülmüş bu komutlar dizisinin, işletim sisteminin yükleyici (loader) denen bileşeni tarafından bilgisayarın sabit diskinden alınıp (komutlar başka bir dizine

2 yazılmış olabilir) bellekte boş bir alana yerleştirildiği ve sonrasında programın ilk komutunun merkezi işlem birimine bildirildiği aşamadır. 8) Test Etme / Hata Ayıklama: Programın girilen veriler için doğru sonuçlar üretip üretmediğinin test edildiği ve eğer varsa mantıksal hataların giderildiği aşamadır. Bütün bunlardan sonra ortaya çıkan ve böylece eldeki problemi çözüme kavuşturan komutlar dizinine bilgisayar programı (kısaca program), bu aşamaların tümüne de bilgisayar programlama (kısaca programlama) denir. Bu derste Matlab programlama dilini kullanarak matematiksel programlar yapmaya çalışacağız. Kullanacağımız sürüm Matlab R2014a (Matlab 8.3) olacaktır. Bu program hesaplama yoğunluklu işlemlerin C, C++ ve Fortran gibi geleneksel programlama dillerinden daha hızlı bir şekilde gerçekleşmesini sağlayabilen yüksek seviyeli bir programlama dilidir. Adı İngilizce MATRIX ve LABORATORY kelimelerinin ilk üç harflerinin birleşimi ile oluşmuştur. Matlab programı çeşitli matris işlemlerinde, algoritma ve program geliştirmede, sayısal veya sembolik hesaplamalarda, iki ve üç boyutlu grafik çizimlerinde, modelleme ve simulasyon işlerinde,, vb. birçok iş için kullanılabilir. Bilgisayarda Matlab ilk kurulup çalıştırıldığında aşağıdaki ekran ile karşılaşılır. Şekil 1 Şekil 1 den de görüldüğü gibi Matlab ilk açıldığında temel olarak üç bileşenle karşılaşılır. Bu bileşenlerin işlevleri şöyledir: 9) Çalışma Dizini (Current Folder): Kullanıcı tarafından yazılan ve bir dosya içerisinde saklanan Matlab programının çağrılabildiği penceredir. 10) Komut Penceresi (Command Window): Direkt olarak komutların yazılabildiği ve cevapların görülebildiği penceredir. Buraya >> simgesi varken yazılan komutlar Enter a basıldığında Matlab yorumlayıcısına (interpreter) iletilir ve yorumlayıcı sonucu aynı ekrana =

3 ifadesinin sonrasındaki satıra geri döndürür. Burada ans ile geri dönüş yapılma sebebi: Matlab ın kullanıcı tarafından atanmayan sonuçları ans değişkenine atamasındandır. Komut penceresinde satır sonuna ; konulursa yapılan işlemin ekran görüntüsü verilmez. Komut penceresini temizlemek için clc komutu kullanılır. Komut geçmişi penceresi, istenildiğinde fare ile sağ tıklanarak Clear Command Window seçeneği kullanılarak tamamen temizlenebilir. 11) Çalışma Alanı (Workspace): Kullanıcının, yazdığı programlar için tanımladığı tüm değişkenlerin kaydının tutulduğu penceredir. Burada görülen ve hafızada saklanan tüm değişkenleri temizlemek için Komut Penceresinde clear komutu işletmek yeterlidir. Bu iş Çalıma alanında iken sağ tık Clear Workspace tıklanarak da olur. Bu üçünden başka pencereler de vardır. Bu pencerelere ulaşmak için ilk olarak Şekil 1 deki Switch Windows yazısının üstündeki simgeye tıklanır ve ekrana Şekil 2 deki gibi bir pencere gelir. Bu pencereden de görüldüğü gibi bir Komut Geçmişi (Command History) ve Metin Düzenleyicisi (Editor) pencereleri de programın kullanılabilen pencerelerindendir. Bu pencereler ulaşmak için Şekil 2 deki pencereden bu pencerelerin adları tıklanır. Şekil 2 12) Komut Geçmişi (Command History): Kullanıcının komut penceresinde üzerinde çalıştığı bütün komutların / programların kaydının tutulduğu penceredir. Bu pencerede listelenen geçmişte kullanılmış herhangi bir komut çift tıklanarak ya da komut penceresi üzerine fare ile sürüklenip bırakılarak yeniden çalıştırılabilir. 13) Metin Düzenleyicisi (Editor): Herhangi bir metin düzenleyici (not defteri, word, ) kullanılarak Matlab programları yazılabilir ve çalıştırılabilir. Ancak Matlab ın kendi metin düzenleyicisi oldukça fonksiyonel olduğundan tercih sebebidir. Bu düzenleyici anahtar kelimeleri, deyimleri (for, if, ) tanır ve renklendirir. Yapılan yazım hatalarında gerekli uyarıları verir. Komutları (kullanıcı müdahalesi olmaksızın) girintilerle düzenleyerek okunuşu kolaylaştırır. Kullanıcının yazdığı programda mantıksal hataları bulabilmesi için kesme noktaları koymasına izin verir ve böylece hata ayıklamayı kolaylaştırır. Biz yapacağımız programlamaların neredeyse tamamında Editör kullanacağız.

4 Bu anlatılan pencerelerden başka Help, Profiler, File Exchange, Figures, Web Browser, Variable Editor, Comparison Tool pencereleri de mevcuttur. Bunlarla ilgili olarak sırası geldikçe açıklamalar yapılacaktır. Pencerelerin ilk haline geri dönmek için Şekil 1 deki Layout- Default tıklanır. 1.1. Matlab Pencerelerindeki Yazı Tiplerini ve Büyüklüklerini Değiştirme: Matlab ekranı ilk açıldığında genelde pencerelerde karakterler 7 punto büyüklüklüdür. Ancak program yazarken, sonuçları kontrol ederken, vb. durumlarda ifadeleri daha net görmek isteyebiliriz. Bununla ilgili olarak Matlab pencerelerinde yazı karakter ve büyüklükleri değiştirilmek istenebilir. Bunu ayarlamanın yollarından biri şöyledir: Şekil 1 de adres çubuğundaki (dizin isminin yazıldığı yer) boşlukta sağ tık - Customize tıklanır. Böylece Şekil 3 teki pencere ile karşılaşılır. Bu pencerede Fonts Custom tıklanırsa sağda Desktop tools altında pencere adlarının (Command Window, Editor vb. ) çıktığı görülür. Bu pencerede sağdan font değişikliği yapmak istediğimiz pencere adı ve karşılığında da Desktop code seçeneği yerine Custom seçeneği seçili hale getirilirse istenilen yazı tipi ve büyüklüğü seçilebilir. Şekil 3 1.2. help ve doc Komutları İle Matlab da Yardım Menüsünü Kullanma: Kullanım: help bir karakter boşluk fonksiyon adı Komut penceresinde yukarıdaki ifade yazıldığında adı girilen fonksiyonla ilgili özet bir bilgi yine Komut penceresinde verilir. Eğer fonksiyonla ilgili daha geniş bilgi istenirse: 1) Bu ekrandaki Reference page for tıklanabilir,

5 2) Command Window penceresinde biraz önceki komuta benzer şekilde bu kez Kullanım: doc bir karakter boşluk fonksiyon adı 3) Şekil 1 de Home sekmesi seçili iken Help Documentation tıklanır ve arama yerine fonksiyon adı yazılabilir, Bu durumda adı geçen fonksiyonun nasıl kullanıldığı, ne işe yaradığı, fonksiyonun kullanıldığı örnekler, vb. gibi onunla ilgili bir takım bilgilerin elde edilebileceği Şekil 5 teki gibi bir Help penceresi ile karşılaşılır. Şekil 4 1.3. Değişken Tanımlama: Bilgi saklamak amacıyla kullanılan programlama yapısına değişken denir. Matlabda değişkenler tanımlanmaksızın direkt olarak kullanılır ve ilk kullanıldığı yerde kullanımına bağlı olarak otomatik olarak kullanıldığı tipte bir değişken olarak tanımlanmış olurlar. Fakat değişkenin kullanımı esnasında değişken ismi belirlenirken aşağıdakilere dikkat edilmesi gerekir. Değişken adları daima bir harf ile başlamalıdır. Bu harften sonra 63 karaktere kadar herhangi harf veya sayı (Türkçe ye özgü karakterler, noktalama işaretleri, boşluk hariç) kullanılarak değişken oluşturulabilir. 63 karakterden fazlası Matlab tarafından dikkate alınmaz. Değişken adları küçük ve büyük harf kullanımına duyarlıdır. Yani say bir değişken iken say başka bir değişken olarak algılanır. Bu iki kural Matlab ın editör dosyalarına isim verirken de geçerlidir. 1.4.Aritmetik Operatörler ve Sayıların Matlab da Kullanımında Bilinmesi Gerekenler: Matlab da negatif bir sayıyı temsil için önüne - işareti koyulur. Bir sayının önünde + işaretinin olması veya hiç işaret olmaması onun pozitif olduğunu gösterir. Ondalık sayılarda ayraç olarak. kullanılır. 10 sayısının kuvvetini temsilen e+ veya e- ifadeleri kullanılır. Şöyle ki, 2.54e+3 yazılıysa bundan 3 2,5410 = 2540 sayısı anlaşılırken, 25e-5 yazılıysa 5 ondan da 25 10 = 0, 00025 sayısı anlaşılır. Ayrıca 5+7i yazılı olduğunda bundan reel kısmı 5 sanal kısmı 7 olan karmaşık sayı anlaşılır.

6 Matlab da aritmetik operatörler beş tanedir. Bunlar toplama, çıkarma, çarpma, bölme ve üs alma operatörleri olup gösterimleri sırasıyla +, -, *, /, ve ^ biçimindedir. Bu operatörlerde öncelik sırası aşağıdaki tabloda ifade edilmektedir. Şekil 5 İşlem önceliğindeki İşlem adı ve işareti İşlemin kendi içindeki öncelik yeri sırası 1. Parantez () İçten dışa doğru 2. Üs alma ^ Soldan sağa doğru.^ 3. Çarpma, bölme *.* / Soldan sağa doğru./ 4. Toplama, çıkarma + Soldan sağa doğru - Tabloya dikkat edersek matematiksel işlemlerin bu sıralaması Matematikçi olarak bizlerin kullandığı sıralama ile aynıdır. İşlem operatörlerinde bulunan noktalar. eleman elemana işlem yapılacağı durumda kullanılır. Örneğin, bir u 3x1 boyutlu vektörü ile bir v 3x1 boyutlu vektörünü eleman elemana çarpmak ve yeni 3x1 boyutlu çarpım vektörünü elde etmek için u.*v kullanılır.

7 Matematiksel Fonksiyonu Matlab Fonksiyonu Kullanımına Örnek Örneğe Göre Çıktı π sayısı Pi Pi 3.1416 Sinüs Sin sin(pi/2) 1 Kosinüs Cos cos(pi) 1 Eksponansiyel Exp exp(1) e=2,7182 Sinüs (derece olarak) Sind sind(30) 0,5 Kosinüs (derece Cosd cosd(60) 0,5 olarak) 5 tabanında logaritma log5 log5(125) 3 Doğal logaritma Log log(exp(1)) 1 Karekök Sqrt sqrt(25) 5 n inci dereceden kök nthroot nthroot(8,3) 2 Mutlak değer Abs abs(-5) 5 Dizinin aritmetik ort. mean mean(x) x dizisinin ortalaması Dizinin boyutu length length(x) x dizisinin boyutu Dizinin en büyük Max max(x) x in en büyük elemanı elemanı Dizinin en küçük Min min(x) x in en küçük elemanı elemanı Matrisin determinantı Det det(a) A nın det. değeri Matrisin tersi İnv inv(a) A nın ters matrisi Matrisin özdeğerleri Eig eig(a) A nın özdeğerleri Matrisin rankı rank rank(a) A matrisinin rankı 2. KLAVYEDEN VERİ AKTARMA(INPUT DEYİMİ): Klavyeden sayısal veya alfasayısal verileri almak için input deyimi kullanılır. Kullanımı aşağıdaki gibidir. Sayısal veriler için Sayısal olmayan (alfasayısal) veriler için Değişken adı = input('istekle ilgili kullanıcıya verilecek mesaj'); Değişken adı = input('istekle ilgili kullanıcıya verilecek mesaj', 's'); 3. EKRANA BİLGİ YAZDIRMA(disp ve fprintf deyimleri): 3.1. disp komutu; Sayısal veri yazdırmak için Sayısal olmayan (alfasayısal) verilerin aktarımı için Sayısal olan ve olmayan (alfasayısal) verilerin aktarımı için disp(sayısal değişkenin adı); disp('yazdırılacak metin'); disp([' Yazdırılacak metin' bir karakter boşluk num2str(sayısal değişken adı)]);

8 biçiminde kullanılır. Açılan ve kapanan tek tırnaklar arasına yazılan sayısal olmayan ifadeler ekrana gönderilir. Sayısal olanlarda tırnak kullanmaksızın num2str fonksiyonu ile sayısal olmayan değişkene döndürme ve o şekilde ekrana gönderme mantığı izlenmektedir. 3.2. fprintf komutu; Sayısal olan ve olmayan (alfasayısal) verilerin aktarımı için fprintf('yazdırılacak metin %x Yazdırılacak metinin devamı \n veya \t', değişken adı); şeklinde kullanılır. Çalışma mantığı şöyledir: fprintf parantezler içindeki tek tırnaklar arasında bulunan metni soldan sağa doğru ekrana basmakla görevlidir. Bunu yaparken iki özel karaktere (% ve \) farklı davranır. Şöyle ki, % karakterini ilk gördüğünde fprintf durur ve ekranda imlecin bulunduğu noktaya metni kapatan tek tırnak sonrasındaki ilk virgülü takip eden değişkenin değerini ekrana yazar. Benzer şekilde ikinci % karakteri görüldüğünde metni kapatan tek tırnak sonrasındaki ikinci virgülü takip eden değişkenin değeri ekrana yazılır. Bu iş böyle devam ettirilir. Burada yazdırılacak değişkenin sakladığı veri tipinin % karakterini takip eden harfin belirttiği karakter tipi ile aynı olmasına dikkat edilmelidir. Öyle ki; x yerine gelecek harf sondaki değişkenin karakterine göre aşağıdaki tabloda verilen mantıkla işlenir: x yerine gelen değer c S d f g Değişkene yüklü olan değer Tek bir karakter Karakter dizini (string) Tamsayı Ondalık sayı Tamsayı veya ondalık sayı Bu arada fprinf deyimi ekrana karakterleri bu mantık ile basarken \ karakteri ile karşılaşırsa bu karakterden sonra gelen n veya t harflerine göre sırasıyla imleci ya alt satıra indirir ya da bir tab miktarı kadar öteler. Uygulama: (Dosya adı: ekranabilgiyazdirma001.m): Kullanıcıdan final notunu ve soyadını alan bu aldığı soyadını ve notu uygun şekilde ekrana yazdıran program hazırlayınız. ognot=input('lütfen final notunuzu giriniz: '); soyad=input('lütfen soyadınızı giriniz: ', 's'); fprintf('soyadı %s olan öğrencinin notu %d dir. \n',soyad,ognot); Uygulama: (Dosya adı: ekranabilgiyazdirma002.m): Kullanıcıdan üç sayıyı alan, onların aritmetik ortalamasını hesaplatan ve ekrana yazdıran program hazırlayınız.

9 sayi1=input('lütfen 1. sayıyı giriniz: '); sayi2=input('lütfen 2. sayıyı giriniz: '); sayi3=input('lütfen 3. sayıyı giriniz: '); aritmetikort=(sayi1+sayi2+sayi3)/3; disp(['girilen sayıların aritmetik ortalaması: ' num2str(aritmetikort)]); Uygulama: (Dosya adı: : ekranabilgiyazdirma003.m): Kullanıcıdan bir çemberin / dairenin yarıçapını alan, onun çevresini / alanını hesaplayan ve uygun formatta ekrana yazdıran program hazırlayınız. yaricap=input('lütfen çemberin / dairenin yarıçapını giriniz: '); cevre=2*pi*yaricap; alan=pi*yaricap^2; fprintf('bu çemberin çevresi: %f \n', cevre); fprintf('bu dairenin alanı: %f \n', alan); Uygulama: (Dosya adı: : ekranabilgiyazdirma004.m): Kullanıcıdan kenar uzunlukları alınan üçgenin alanını bulan ve ekrana yazdıran program hazırlayınız. a=input('lütfen üçgenin birinci kenar uzunluğunu giriniz: '); b=input('lütfen üçgenin ikinci kenar uzunluğunu giriniz: '); c=input('lütfen üçgenin üçüncü kenar uzunluğunu giriniz: '); u=(a+b+c)/2; alan=sqrt(u*(u-a)*(u-b)*(u-c)); disp(['kenar uzunlukları ' num2str(a) ', ' num2str(b) ' ve ' num2str(c) ' olan üçgenin alanı ' num2str(alan) ' dir.']); Uygulama: (Dosya adı: : ekranabilgiyazdirma005.m): Kullanıcıdan vize ve final notu alıp vizenin %40 ve finalin %60 ını kullanarak ortalama hesaplayan ve ekrana çeşitli şekillerde yazdıran program hazırlayınız (Aşağıdaki yazdırma çeşitlerinin farklarına dikkat ediniz). Not1=input('Mat Prog Vize notunuzu giriniz: '); Not2=input('Mat Prog Final notunuzu giriniz: '); ort=not1*0.4+not2*0.6; fprintf('bu dersin ortalama notu: %d dir.\n',ort); fprintf('bu dersin ortalama notu: %f dir.\n',ort); fprintf('bu dersin ortalama notu: %g dir.\n',ort); disp(['bu dersin ortalama notu: ' num2str(ort) ' dir.']);

10 4. İLİŞKİSEL VE MANTIKSAL OPERATÖRLER: Operatör Anlamı Kullanım Amacı = Aktarma Operatörün solundaki işlenen sağındaki işlenene eşit mi? testi için kullanılır. ~= Eşit değil Operatörün solundaki işlenen sağındaki işlenene eşit değil mi? testi için kullanılır. > Büyük mü? Operatörün solundaki işlenen aşağıdaki işlenenden büyük mü? testi için kullanılır. >= Büyük veya Eşit mi? Operatörün solundaki işlenen sağındaki işlenenden büyük veya eşit mi? testi için kullanılır. < Küçük mü? Operatörün solundaki işlenen sağındaki işlenenden büyük veya eşit mi? testi için kullanılır. <= Küçük veya Eşit mi? Operatörün solundaki işlenen sağındaki işlenenden küçük veya eşit mi? testi için kullanılır. 5. ŞARTLI DEYİMLER(if,switch) 5.1. If Karşılaştırma Deyimi: Versiyon1 İf koşul 1 işlem(ler) 1 end Versiyon2 İf koşul 1 işlem(ler) 1 else işlem(ler) 2 end Versiyon3 İf koşul 1 işlem(ler) 1 elseif koşul 2 işlem(ler) 2... elseif koşul n-1 işlem(ler) n- 1 else işlem(ler) n end if in yanındaki koşul 1 doğru ise işlem(ler) 1 yapılır. Yanlışsa işlem(ler) 1 yapılmaksızın end in altından program işlemeye devam eder. if in yanındaki koşul 1 doğru ise işlem(ler) 1 yapılır. Yanlışsa işlem(ler) 2 yapılır. Sonrasında end in altından program işlemeye devam eder. if in yanındaki koşul 1 doğru ise işlem(ler) 1 yapılır. Sonrasında diğer koşullara bakılmaksızın end in altından program işlemeye devam eder. if in yanındaki koşul 1 yanlışsa bu kez koşul 2 kontrol edilir. koşul 2 doğruysa işlem(ler) 2 yapılır. Sonrasında end in altından program işlemeye devam eder. koşul 2 yanlışsa bu kez koşul 3 kontrol edilir.. Böylece devam edilir. Tüm koşullar yanlışsa ( koşul 1, koşul 2,, koşul n-1 ) işlem(ler) n yapılır ve ardından end in altından program işlemeye devam eder.

11 Uygulama: (Dosya Adı: ifkullanimi006.m): Kullanıcıdan bir x değeri alan ve bu aldığı değere göre kullanıcıya ( ) 2 f x = x + 2, x 0 fonksiyonunun görüntüsünü uygun bir dille döndüren program hazırlayınız. x=input('hesaplamak istediğiniz x değerini giriniz: '); if x>=0 y=x^2+2; fprintf('girdiğiniz x= %g değeri için sonuç %g dir.\n',x,y); end Not: Bu programda kullanıcı x değerini sıfırdan büyük veya eşit girdiği sürece sonuç verir. Ancak sıfırdan küçük girerse kullanıcıya hiçbir şey döndürülmez. Uygulama: (Dosya Adı: ifkullanimi007.m): Kullanıcıdan bir x değeri alan ve bu aldığı değere göre kullanıcıya 2 3 π sin x+ cos x, x f 2 ( x) = 2 π x 5 x, x< 2 fonksiyonunun görüntüsünü uygun bir dille döndüren program hazırlayınız. x=input('fonksiyon için x değeri giriniz: '); if x>=pi/2 y=(sin(x))^2+cos(x^3); else y=x^2-5*x; end disp(['girdiğiniz ' num2str(x) ' değeri için sonuç ' num2str(y) ' dir.']); Uygulama: (Dosya Adı: ifkullanimi008.m): Kullanıcıdan bir x değeri alan ve bu aldığı değere göre kullanıcıya 2 x x x<, 3 2 f ( x) = 5sin x, 3 x< 9 2 cos x, x 9 fonksiyonunun görüntüsünü uygun bir dille döndüren program hazırlayınız. x=input('hesaplamak istediğiniz x değerini giriniz: ');

if x<-3 y=x^2-x; elseif x<9 y=5*sin(x^2); else y=(cos(x))^2; end fprintf('girdiğiniz x= %g değeri için sonuç %g dir.\n',x,y); 12