PROGRAMCILIK, PROBLEM ÇÖZME VE ALGORİTMA OLUŞTURMA

Slides:



Advertisements
Benzer bir sunumlar
MATLAB MATrix LABoratory Hazırlayan: S. Murat BAĞDATLI.
Advertisements

Matlab’da Diziler; Vektörler ve Matrisler
EKRAN ÇIKTISI.
MATLAB MATLAB İLE GRAFİK.
Yrd.Doç.Dr.Levent Malgaca,2010
Ayrık Yapılar Matlab Notları
Kofaktör Matrisler Determinantlar Minör.
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
4 Kontrol Yapıları: 1.Bölüm.
2) Sayısal Hesaplamalarda Gerek Duyulabilecek Matlab İşlemleri
MATLAB’de Diziler; Vektörler ve MAtrisler
MATLAB’İN SAYI YUVARLAMA FONKSİYONLARI
SQL de Değişken Tanımlama
MATLAB’ de Programlama
Bölüm 3 – Yapısal Programlama
Algoritma ve Akış Diyagramları
Yapısal Program Geliştirme – if, if-else
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
6. HAFTA
MATLAB temel komutlar ve fonksiyonlar.
SQL de Değişken Tanımlama
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
MATLAB’te Döngüler.
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
Matlab GİRİŞ MATLAB ORTAMI
BM-103 Programlamaya Giriş Güz 2014 (9. Sunu)
Fonksiyonlar ile Çalışmak
MATLAB’ de Programlama
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bilgisayar Programlama Güz 2011
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Algoritma Mantığı ve Akış Diyagramları
Polinomlar Enterpolasyon Grafikler Uygulama Sayısal Analiz
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Sayısal Analiz / Uygulama
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
OTO1004 Bilgisayar Destekli Mühendislik Dersi Sunu No:01 Öğr. Gör. Dr. Barış ERKUŞ.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
BÖLÜM 3 AKIŞ DİYAGRAMI.
5. HAFTA Mart Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
BİLGİSAYAR PROGRAMLAMA DERSİ
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
7. HAFTA.
Algoritma ve Akış Şemaları
MATLAB R2013’e Giriş.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Problem Çözme Yaklaşımları
Algoritmanın Hazırlanması
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Bilgisayar Bilimi Problem Çözme Süreci-2.
Problemi Çözme Adımları
Bilgisayar Programlamasına ve Veri Analizine Giriş
Discussion: comp.soft-sys.matlab
BÖLÜM 2 FORTRAN PROGRAMLAMA DİLİNE GİRİŞ
Algoritma ve Akış Diyagramları
4. HAFTA.
Sunum transkripti:

PROGRAMCILIK, PROBLEM ÇÖZME VE ALGORİTMA OLUŞTURMA Program; bir problemi çözmek için yazılan komutlar kümesidir. Sorunlara çözüm bulmak amacıyla kod yazmak. Bunun yanında; Program dokümantasyonunun hazırlanması; Sistemi sınamaya yönelik test programları geliştirmek; Yaklaşım: Yukarıdan aşağıya programlama (Top-Down Programming) FORTRAN, COBOL, BASIC Yapısal programlama (Stractured Programming) PASCAL, C

Yapısal Programlama Ana bileşenler görülebilir. Ana bileşenler birbirinden kolayca ayrıt edilebilir. Yeni düzenlemeler kolayca yapılabilir. Tüm bilgi işlem komutları Ardışıklık Yineleme (Tekrar) Seçme şeklinde 3 basit öğe ile temsil edilir.

Problem Çözme Teknikleri Problemin nasıl çözüleceğine karar vermek, Çözüm adımlarını belirlemek, En Temel Problem Çözme Tekniği Yukarıdan aşağıya tasarım Ana Problem Küçük Alt Problemler Küçük Basit Alt Problemler Ayrı çözümler Birleştirme ÇÖZÜM

Yazılım Geliştirme Aşamaları Problemin anlaşılması ve çözülmesi Problemin tam olarak ne olduğunun anlaşılması, Çözümden neler beklendiği, Çözümün girdi ve çıktılarının neler olduğu, 2. Tasarım Çözüm adımlarını gösteren liste (Algoritmanın temeli) Yukarıdan aşağıya tasarım tekniği Ana adımlar Her adım için gerekiyorsa ayrıntılı çözüm yani alt problemler oluşturup çözmek 3. Kodlama (Coding) Kağıt üzerinde geliştirilen algoritmanın bir programlama diline çevrilir. Programlama dilinin yapısını bilmek Algoritmanın her adımı ona karşılık gelen program parçasına çevrilir.

Program Çalışıyor (İspat) Çalışmayan Parçalar Düzeltilir. 4. Sınama ve Kanıtlama (Testing and Verifying) Sınama ile programın istediğimiz gibi çalışıp çalışmadığı anlaşılır. Değişik Girdiler Elde Edilen Sonuçlar Programın çalıştırılması Elde Edilen Sonuçlar Beklendiği gibi Beklendiği gibi değil Program Çalışıyor (İspat) Çalışmayan Parçalar Düzeltilir.

İki sayının toplanması Negatif veya pozitif olabilir, Bir problemi bir program halinde çözerken en ince ayrıntısına kadar düşünmeli ve her veriye uygun çözüm oluşturulmalıdır. Örnek: İki sayının toplanması Negatif veya pozitif olabilir, Ondalıklı olabilir, Programın geliştirilmesi 1. Klavyeden iki sayının girilmesi gerektiği yazdırılmalı, 2. Klavyeden iki sayı girilmesi sağlanmalı, 3. Klavyeden girilen verilerin kontrolü, Rakam Dışı Uyarı Rakam Yanlış Doğru Toplama Sonuç

Örnek: Verilen 3 sayının ortalamasının bulunması. Problemin anlaşılması ve çözülmesi: 3 doğal sayı verilecek Bu 3 doğal sayının ortalaması bulunacak Ortalama kullanıcıya bildirilecek Girdiler 3 doğal sayı S1, S2, S3 Çıktılar Bu 3 doğal sayının ortalaması

Tasarım Doğal sayıları oku Ortalamayı bul III. Ortalamayı kullanıcıya bildir Birinci adımda alt problem 3 farklı doğal sayının ayrı ayrı okunması Doğal sayıları oku -S1’i oku -S2’yi oku -S3’ü oku İkinci adımda alt problem ortalamanın nasıl bulunacağı Ortalamayı bul -ortalama=(S1+S2+S3)/3 Üçüncü adım yeterince basit olduğundan alt probleme ayırma ihtiyacı yoktur.

Algoritma Kurma Verilen herhangi bir problemin çözümüne ulaşmak için uygulanması gerekli adımların hiç bir yoruma yer vermeksizin açık, düzenli ve sıralı bir şekilde söz ve yazı ile ifadesi. Algoritmanın uzunluğu kullanılan programlama dilinin seviyesi ve problemin karmaşıklığı ile doğru orantılı. Herhangi bir adımdaki küçük bir yanlışlık doğru çözüme ulaşmayı engeller. Bu sebeble algoritma hazırlandıktan sonra dikkatlice incelenmeli varsa adımlardaki hatalar düzeltilmeli. Çözüm için kullanılacak bilgilerin nerden alınacağı, nerde saklanacağı ve çözümün program kullanıcısına nasıl aktarılacağı algoritma adımları arasında belirtilmeli Bir problemin çözümü için birbirinden farklı birden fazla algoritma hazırlanabilir. Yani çözüm için birbirinden farklı programlar yazılabilir. Algoritmanın adımları mümkün olduğunca basit ve açık sıralanmalıdır.

2. Örnek: 5 tane sayının toplamını ve ortalamasını verem programa ait algoritma Değişkenler Girilen sayılar için : x Toplam için : topla Ortalama için : ort Arttırma işlemi için : sayac I. topla=0 , sayac=0 x’i gir topla=topla+x sayac=sayac+1 eğer sayac<5 ise II’ye git ort=topla/5 topla ve ort değerlerini yazdır VIII. Bitir

AKIŞ DİYAGRAMLARI Geliştirilecek olan yazılımın genel yapısının şematik şekillerle gösterilmesine akış veya block diyagramı denir Algoritma oluşturma aşamasından sonra gelir. Yazılımı oluşturacak program parçalarını ve bu parçaların birbirleri ile olan ilişkilerini belirler Algoritmadan farkı; adımların simgeler şeklinde kutular içinde yazılmış olması ve adımlar arasındaki ilişkilerin (iş akışı) oklar ile gösterilmesi.

Akış Diyagramlarının Mantıksal Yapısı Bir bilgisayar programının geliştirilmesinde kullanılan programlama dili ne olursa olsun akış diyagramlarında 3 mantıksal yapı kullanılır. Akış Diyagramlarının Mantıksal Yapısı Karar verme Yapısı Sıralı Yapı Tekrarlı Yapı Hazırlancak programdaki her işlemin mantık sırasına göre nerede yer alması gerektiğini vurgular. Bu yapı sonlanıncaya kadar ikinci bi işlem yapılmaz. Programlama sırasında if ve/veya else ile tanıyacağımız bu yapı birden fazla sıralı yapı seçeneğini kapsayan modüllerde, hangi şartlar hangi sıralı yapının seçileceğini belirler. Bu yapılara for......end ve/veya while......end yapısı adı da verilir. Koşullara göre değişik işlem gruplarının yapılmasını sağlar. Herhangi bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile anlatıldığı algoritmanın görsel olarak akış diyagramları ile ifade edilmesine akış şeması (flowchart) adı verilir. Sorun çözme sürecinin daha kolay anlaşılır hale gelmesi İş akışının kontrol edilmesi Programın kodlanmasının kolaylaştırılması

Temel Simgeler Elips: Algoritmanın ve akış diyagramının başlayacağının veya sona erdiğini gösterir. Başlangıç simgesinde çıkış bitiş simgesinde de giriş oku vardır. Paralel Kenar: Programa veri giriş ve programdan elde edilen sonuçların çıkış işlemlerini gösterir. Dikdörtgen: Aritmetik işlemler ve değişik atama işlemlerini temsil eder. Eşkenar Dörtgen: Bir karar verme işlemini temsil eder. Altıgen: Program içinde belirli blokların ard arda tekrar edileceğini gösterir. Oklar: Diyagramın akış yönünü yani herhangi bir adımdakiişlem tamamlandıktan sonra hangi adıma gidileceğini gösterir.

1. 2 sayının toplamını ve ortalamasını bulan programın akış şeması. Akış Şeması Örnekleri 1. 2 sayının toplamını ve ortalamasını bulan programın akış şeması. Başla X1=?,x2=? Toplam=x1+x2 Ortalama=Toplam/2 Toplam, ortalama Bitir

Ortalama=Toplam/Sayı 2. 1’den 100’e kadar olan sayıların toplamını ve ortalamasını bulan programın akış şeması. Başla Sayı=0 Toplam=0 Sayı=Sayı+1 Toplam=Toplam+Sayı Sayı=100 Hayır Evet Ortalama=Toplam/Sayı Bitir

3. ax2+bx+c=0 şeklinde verilen 2 3. ax2+bx+c=0 şeklinde verilen 2. derece denklemin köklerini bulan programın akış şeması Başla a=?, b=?,c=? Disk=b2-4*a*c Disk<0 Evet ‘Kokler Sanal’ Hayır X1=(-b+sqrt(disk))/2*a X1=(-b-sqrt(disk))/2*a X1,x2 Bitir

Ortalama=Toplam/Sayı 4. 1’den 100’e kadar olan sayıların karelerini, kareköklerini, küplerini, küpköklerini, toplamını ve ortalamasını bulan programın akış şeması. 1 Başla Sayı,Kare,Kup Karekok,Kupkok Sayı=0 Toplam=0 Sayı=Sayı+1 Sayı=100 Hayır Kare=Sayı^2 Karekok=Sayı^(1/2) Evet Ortalama=Toplam/Sayı Kup=Sayı^3 Toplam,Ortalama Kupkok=Sayı^(1/3) Karar mantığı ile çözüm (I.yol) Toplam=Toplam+Sayı Bitir 1

Ortalama=Toplam/Sayı 1 Başla Sayı,Kare,Kup Karekok,Kupkok Toplam=0 Sayı=1,100 Ortalama=Toplam/Sayı Kare=Sayı^2 Toplam,Ortalama Karekok=Sayı^(1/2) Bitir Kup=Sayı^3 Kupkok=Sayı^(1/3) Döngü yapısı (II. Yol) Toplam=Toplam+Sayı 1

Ödev: a,b ve c gibi verilen 3 sayıdan en büyüğünü ve en küçüğünü bulan programın akış diyagramı Başla a=?, b=?,c=? Enbuyuk=a b>enbuyuk Evet Bitir Hayır Enbuyuk=b c>enbuyuk Enbuyuk=c c>b Enkucuk=c a,b,c enbuyuk,enkucuk Enkucuk=b c>a Enkucuk=a

MATLAB’A GİRİŞ MATLAB (MATrix LABoratuvary); ilk defa 1985 yılında C. B. Moler tarafından geliştirilmiş ve özellikle de matris esalı matematik ortamında kullanılabilen etkileşimli bir paket programlama dilidir. FORTRAN dilinde uzun zaman alan programlama işlemlerine bir alternatif olarak çıkmıştır. İlk sürümleri FORTRAN diliyle yazılmış olmakla beraber son sürümleri C dilinde yazılmıştır. Başlıca kullanım alanları Matematik ve hesaplama işlemleri, algoritma geliştirme Modelleme, benzetim ve prototipleme Verilerin analizi, incelenmesi ve görüntülenmesi Bilimsel ve mühendislik alanda grafik işlemleri Grafiksel kullanıcı arayüz yapısını içine alan uygulama geliştirme

introductory to computer sciences – ENF1170 MATLAB LANGUAGE PROGRAMMING Dr.Orkun ÖZENER - İstanbul 2014

Thanks to Ass.Prof.Dr.Övün IŞIN for Turkish Lecture Notes Reference: Aslan İnan Matlab KILAVUZU Papatya Yayıncılık 2011; 448 pageıt Language: Turkish

Dr.Orkun ÖZENER Yıldız Technical University Faculty of Mechanical Engineering Department of Mechanical Engineering Automotive Sciences Sub Division Office Adress : YTU Yıldız Campus – Beşiktaş , Internal Combustion Engines Lab – E1 Block, No:31 Office Tel : 0212 383 29 00 E-mail : oozener@yildiz.edu.tr Philosophy of Doctorate Yıldız Technical University 2011 Master of Sciences 2007 Bachelor Sciences 2004 Principle Research Areas -Internal Combustion Engines -Emissions -Alternative Fuels -Combustion Modelling -Engine Testing Theory & Practice -Vehicle System Modelling

evaluation system Activities Number Percentage of Grade Attendance/Participation Laboratory Application Field Work Special Course Internship (Work Placement) Quizzes/Studio Critics Homework Assignments Presentations/Jury Project Seminar/Workshop Mid-Terms 2 60 Final 1 40 Percentage of In-Term Studies Percentage of Final Examination TOTAL 100

Introduction to Matlab MATLAB was created in the late 1970s by Cleve Moler, then chairman of the computer science department at the University of New Mexico. He designed it to give his students access to LIN- PACK and EISPACK without having to learn Fortran. It soon spread to other universities and found a strong audience within the applied mathematics community. Jack Little, an engineer, was exposed to it during a visit Moler made to Stanford University in 1983. Recognizing its commercial potential, he joined with Moler and Steve Bangert. They rewrote MATLAB in C and founded MathWorks in 1984 to continue its development. MATLAB was first adopted by control design engineers, Little's specialty, but quickly spread to many other domains. It is now also used in education, in particular the teaching of linear algebra and numerical analysis, and is popular amongst scientists involved with image processing. MATLAB, the application, is built around the MATLAB language. The simplest way to execute MATLAB code is to type it in at prompt >>, in the command window, on of the elements of the matlab desktop. (James Brucker,2004) Mathematics, calculation, algorithm development Main Application Areas Modelling, simulation and prototype modelling Data analyses, research and plotting Engineering and scientific graphics Graphical user interface application developments

Interface Workspace Command Window Variables and their properties Command History Command Window Variables and their properties The scripts that are written at command window are monitored and saved at the memory. It is not important either the command is true or not. The previous commands can be processed again with double clicking from command history.

Cancels the written script Enter: If there is a command at the command line, ‘enter’ applies the command and goes to the proceeding line. Esc Delete Cancels the written script

Command Line Komut satırı It is not important if there is a space before the command or after the command at the command line. There is not any end of command line There is no possibility to reach and revise the previous commands from the command line window. It is possible to call up (and also revise) the previous and or the following commands via using ‘up’ and ‘down’ buttons.

Upper Case/Lower Case Sensivity (Capital Letter/ Small Letter) The Matlab language is sensitive to the Upper Case and Lower Case Example: total=0 Total=1 TOTAL=2 It is possible to use ‘total’ as three different variable with three different script style

General Commands Error Messages who: lists in alphabetical order all variables in the currently active workspace. whos: List variables in workspace, with sizes and types help: lists all primary help topics in the Command Window. Each main help topic corresponds to a folder name on the MATLAB® search path.(Example: help sin) clc: clears all input and output from the Command Window display, giving you a "clean screen." date: returns a string containing the date in dd-mmm-yyyy format. save: saves all variables from the current workspace in a MATLAB® formatted binary file (MAT-file) called filename. If filename already exists, save overwrites the file. quit or exit: Ends Matlab Error Messages If the command is typed incorrectly -> An error messages will be seen Example : write ‘deta’ instead of date Then you will see. ??? Undefined function or variable 'deta'.

Certain marks used in Matlab [ ] : Square Brackets It is used to format vectors and matrix Example : A=[11 12 13 ; 21 22 23] , shows 2 row 3 column matrix A= 11 12 13 21 22 23 ‘;’ semi colon could be used to end a row and to form a following rox when creating a new matrix. Matrix. ( ) : Normal Brackets To identify the process priority in arithmetic calculations k=x + 2.(y+z) To close the functional arguments y=sin(x)

Certain marks used in Matlab ‘.’ : Dot It is used as separation sign for fractional numbers. 3.14 or .314e1  (0,314x10) It is used for multiplication, division and exponential calculations at mathematical serial operations. Usage format : .* ./ .\ .^ Example : C=A./B  C is a matrix  C(i,j)=A(i,j)/B(i,j) ‘...’: Triple dot It shows that the expression will continue from the line below.

Certain marks used in Matlab , : Comma If more than one statement is written in one command line , comma is used to separate them. ‘;’ : Semi colon It prevents the monitoring of the results of a statement during the programme operation.

Certain marks used in Matlab % : Percentage They are used for expression lines : colon It is used as column sign in indexes and FOR iterations. Main usage formats. J:K  is a series ; begins with J, increase with 1 at each iteration and ends at K [J, J+1, ..., K] J:C:K  is a series ; begins with , increase with C at each iteration , and ends at K [J, J+C, J+2C, ... , K]

Colon (:) is also used to seperate the chosen elements and rows&column of vectors and matrixes. A(:) means all elements of A , by one column. A(:,j) means the Jth column of A. A(:,J:K) The elements of A (at the same row) from J to K with ‘1’ increments. ‘ : quotation mark It is used at text statements. for ex. : ‘Enter a number’ It is used for taking the transpose of matrixes. for ex. : X’ is the transpose of X matrix

Arrays Arrays are the fundamental process elements and data type of MATLAB. They can be defined as ; numerical or textual values groups. In Matlab we will deal with numerical values groups. Numerical Arrays; Scaler (1x1 array a=3,b=-2,c=12.55 or d=1+2*i), Vector (mx1  column vector, 1xn  row vector) Matrisler (mxn  m row x n column vector ) olmak üzere üçe ayrılır. 1. Directly […] via square brackets usage:

arrays 2. Usage of equally spaced elements Via using (:) column sign

arrays 3. With using ‘linspace’ command: When ‘linspace’ is used the first and last values and the number of elements between these two points has to be stated/written. General usage style; linspace(x1,x2,n) x1 :The first value of the range/interval, x2 :The last value of the range/interval, n :The number of elements between first and last element. If ‘n’ is not stated, the interval is divided is 100 equal points.

arrays If the increment is not stated;

Matrixes and Basic Matrix Operations Loading a matrix in to MATLAB A= 2 7 9 1 -3 6 5 B= 4 8 12 14 11 Multiplication of Matrixes C=A*B The 1st row and 1st column element of multiplication matrix ‘C’ 1st row 1st column element=2*4+7*12+9*7=155 (The sum of 1st row elements of A Matrix and 1st column of B Matrix .)

For multiplication of a matrix the number of rows in the first matrix and the number of columns in the second matrix has to be equal.. A x B =C  the result matrix Karşılıklı Elemanların Çarpımı Aynı satır ve sütun indisli elemanlar çarpılır. C=A.*B C matris çarpımının 1. satır 1. sütun elemanı; A matrisinin 1. satır 1. sütun elemanı ile B matrisinin 1. satır 1. sütun elemanının çarpımına eşittir.

Matrisin Transpozesi Bir matrisin transpozesi satırlar ile sütunların yer değiştirdiği yeni bir matristir. D=A’ Matrisin Kuvvetini Alma Bir A matrisinin kuvvetini almak için A.^p deyimi kullanılır. Bu işlem A matrisi içindeki her bir elemanın teker teker p. kuvvetini alır. Burada A bir kare matris, p ise skaler bir sayıdır.

Bir kare matrisin karesi yani A^2 işlemi A. A işlemine denktir Bir kare matrisin karesi yani A^2 işlemi A*A işlemine denktir. Burada matrisin karesi matrisin 2. kuvvetini almaktan farklıdır. Aynı şekilde A^4 işlemide A*A*A*A işlemine denktir. Bir matriste üs alma işlemi yapılabilmesi için satır sayısının sütun sayısına eşit yani kare matris olması gerekir.

Matrisin Determinantı 2 7 9 1 -3 6 5 - + Saruss Kuralı: det(A)=[(2*(-3)*7)+(7*6*0)+(9*1*5)]-[(0*(-3)*9)+(5*6*2)+(7*1*7)] det(A)=-106 Bu kural sadece 3. mertebeden yani (3,3) boyutundaki matrisler için geçerlidir.

Matrisin Tersi (Invers) Bir matrisin tersinin yani inversinin bulunabilmesi için; Matris kare matris olmalı, Matris tekil (singular) olmamalı yani matrisin determinantı 0’dan farklı olmalı. Eğer A matrisinde det(A)=0 ise A matrisi kare matris olsa dahi inversi (tersi) yoktur.

Diğer işlemler A(:,1) sadece 1. sütunu çağırır A(1,:) sadece 1. satırı çağırır A(:,1).*A(:,2) 1. ve 2. sütunun elemanter çarpımını yapar.

5*A(:,1) 1. sütun elemanlarını 5 ile çarpar A(1:2,:) 1. satırdan 2. satıra kadar olan elemanları listeler. A(:,1:2) 1. sütundan 2. sütuna kadar olan elemanları listeler.

2*A(1,2) 1. satır 2. sütun elemanını 2 ile çarpar. A(:,1)’ 1. sütunun transpozesini alır yani satıra dönüştürür. (Satır vektörü)

A(1,:)’. 1. satırın transpozesini alır yani sütuna dönüştürür A(1,:)’ 1. satırın transpozesini alır yani sütuna dönüştürür. (Sütun vektörü)

A(2,3)=3 6 olan 2. satır 3. sütun elemanını 3 ile değiştirir.

A (:,2)=[ ] 2. sütunu siler.

A(:,[1 3])=[ ] 1 ve 3. sütunu siler.

Fundemantal Statistical Operations. Fundamental data analysis commands for statistical commands are given below. max :Finds the maximimum value of given data min :Finds the minimum value of given data. length :Finds the data number (column). sum :Calculates the sum of given data. mean :Calculates the arithmetic average of given data. sort :It sorts the given data from smalles to biggest one.

İstatiksel işlemlerde kullanılan komutlar matrislerde sütun sütun işlem yapar. 2 7 9 1 -3 6 5 Örneğin sum(A) işlemi A matrisinin sütunlarını ayrı ayrı toplar.

A matrisinin 1. satır elemanlarının toplamı bulunmak istiyorsa;

length komutu matrisin sütun sayısını verir;

size komutu ise matrisin satır ve sütun sayısını verir;

İfadeler Matlab diğer programlama dillerinde olduğu gibi giriş olarak çeşitli matematiksel ve metinsel ifadeler sunar. Bu ifadeler 4 ana madde altında incelenir. Sayılar (Numbers) Değişkenler (Variables) Operatörler (Operators) Fonksiyonlar (Function) Örnek: x=5*log(2) değişken sayı Operatör (Matematiksel) fonksiyon log(2) Burada sadece fonksiyon var.

Özel Sabit ve Değişkenler pi  (3,141592653589793) i, j inf Sonsuz () değeri için atanmış bir değişkendir 0’a bölme işlemlerinde çıkar NaN Not-a-Number Rakam değil 0/0’da olduğu gibi tanımlanmamış işlemlerde orataya çıkar

3 Operatörler (Operators) Aritmetik Operatörler İlişkisel Operatörler Mantıksal Operatörler Nicelik karşılaştırmaları yapar. Lojik işlemlerde kullanılır. Sayısal hesaplamalar yapar.

Aritmetik Operatörler İlişkisel Operatörler < Küçüktür > Büyüktür <= Küçük eşit >= Büyük eşit + Toplama - Çıkartma * Çarpma / Sağa bölme 6/3 sonuç 2 == Eşittir ~= Eşit değildir \ Sola bölme 6\3 sonuç 0.5 ^ Üs alma = Atama .* Dizilerde eleman elemana çarpma Karşılaştırma işlemi sadece eleman eleman yapılabilir. Karşılaştırma işlemi yani verilen bir ilişki doğru ise sonuç 1, yanlış ise sonuç 0 ile gösterilir. Karşılaştırılan dizilerin eşit uzunlukta olması gerekir ./ Dizilerde eleman elemana sağa bölme .\ Dizilerde eleman elemana sola bölme .^ Dizilerde üs alma

Mantıksal Operatörler ~ NOT (Değil) P bir dizi ise ~P, P ile aynı boyda yeni bir dizi üretir. Bu yeni dizi P’nin elemanları 0 değil ise 0‘lardan; P’nin elemanları 0 ise 1’lerden oluşur. & AND (ve) P ve Q birer dizi ise P&Q, P ve Q ile aynı boyda yeni bir dizi üretir. Bu yeni dizi P ve Q dizlerinin her ikisinde de 0 olmayan elamanlar için 1’lerden, 0 olan elemanlar için ise 0’lardan oluşur. | OR (veya) P ve Q birer dizi ise P|Q, P ve Q ile aynı boyda yeni bir dizi üretir. Bu yeni dizi P ve Q dizlerinde en az bir eleman 0 değil ise 1’lerden, P ve Q’da her ikiside 0 ise 0’lardan oluşur.

4 Fonksiyonlar Matlab standard olarak temel matematiksel fonksiyonların bir çoğunu sağlar. Matlab’de fonksiyon adları küçük harf duyarlıdır. |x| (Mutlak Değer) : abs(x) (Karekök) : sqrt(x) ex (üstel) : exp(x) lnx (e tabanına göre logaritma) : log(x) logx (10 tabanına göre logaritma) : log10(x) xn (üs alma) : x^n sinx : sin(x) cosx : cos(x) tanx : tan(x) cotx : cot(x) secx : sec(x) cosecx : csc(x)

Ters trigonometrik Fonksiyonlar arcsinx : asin(x) arccosx : acos(x) arctanx : atan(x) arccotx : acot(x) arcsecx : asec(x) arccosecx : acsc(x)

Temel Aritmetik İşlemlerde Öncelik Sırası 1 2 3 4 En içten başlayarak en dış paranteze doğru tümparantez işlemleri Soldan sağa doğru tüm üstel işlemler Soldan sağa doğru tüm çarpma ve bölme işlemleri Soldan sağa doğru tüm toplama ve çıkarma işlemleri İşlem önceliğinde çarpmanın bölmeye ve toplamanın da çıkartmaya göre kendi aralarında öncelikleri yoktur.

(sin4x)-(2cosx)3 ifadesinin değerini x=45o için bulunuz.

z=1-tan-1x ifadesini 0. 785 radyan için bulunuz.

Komutlar Giriş Komutu: input Genel yazımı; değişken=input (‘değişken:’) x=input (‘x:’) Eğer gerekli görülürse parantez içinde bir açıklama da yapılabilir. x=input (‘pozitif bir sayi giriniz:’)

Koşul Deyimleri if if else (if else) elseif Genel yazımı; if ifade (ilişkisel ifade yani nicelik karşılaştırması ile sınama yapılması) deyim (aritmetik işlemler veya değişik atama işlemleri olabilir) end Başla ifade deyim Bitir doğru yanlış

Örnek: 50’den küçük bir sayı girilmesi halinde girilen sayıyı 5 ile çarpıp sonucu yazdıran matlab programı a=input (‘Bir sayi girin: ’) if a<50 sonuc= a*5; end sonuc İç içe if Yapısı n tane if......end yapısı ile n tane sınama yapılabilir. Yukarıdaki örneğe; a>=50 için a/5 işlemini ilave edelim.

a=input (‘Bir sayı girin: ’) if a<50 sonuc=a*5; end if a>=50 Başla ifade Deyim_1 Bitir doğru yanlış Deyim_2 İç içe if kullanıldığında; if ifade_1 deyim_1 if ifade_2 deyim_2 end

else if a<50 sonuc=a*5; if a>=50 sonuc=a/5; end sonuc Başla ifade Deyim_1 Bitir doğru yanlış Deyim_2 Genel yazımı; if ifade deyim_1 else deyim_2 end

elseif a=input (‘Bir sayi girin: ’) if a<50 sonuc=a*5; else end sonuc Başla ifade Deyim_1 Bitir doğru yanlış Deyim_3 Deyim_2 elseif Genel yazımı; if ifade_1 deyim_1 elseif ifade_2 deyim_2 else deyim_3 end

Örnek: Girilen bir sayı 50’den küçük ise (a<50), girilen sayıyı 5 ile çarpsın (a*5), girlen sayı 50’ye eşit ve büyük ancak 100’den küçük ise (50<=a<100) girilen sayıya 5 eklesin (a+5), girilen sayı 100’e eşit ve büyükse (a>=100) girilen sayıyı 5’e bölsün (a/5). a<50-----------------> a*5 if 50<=a<100---------> a+5 elseif a>=100---------------> a/5 else a=input (‘Bir sayi girin: ’) if a<50 sonuc=a*5; elseif a<100 sonuc=a+5; else sonuc=a/5; end sonuc

if------------------->1 if-else------------->2 Sonuç olarak; if------------------->1 if-else------------->2 if-elseif-else------>3 sınama işlemi yapılabilir. Eğer 3’den fazla sınama işlemi varsa elseif komutları arka arkaya kullanılarak işlemler yürütülür. if ifade_1 deyim_1 elseif ifade_2 deyim_2 elseif ifade_3 deyim_3 . elseif ifade_(n-1) deyim_(n-1) else deyim_n end

Döngüler (Loops) for while komutları ile döngüler oluşturulur. break continue komutları döngü içerisinde kullanılarak daha esnek bir döngü yapısı oluşturulur. break------->döngüyü durdurur. continue---->break ile durdurulan döngüyü yeniden devam ettirir. Bu iki komut daha ileride detaylı olarak açıklanacaktır.

for Genel yazımı; for değişken=ifade deyimler end x=m:j:n x: değişken Başla Deyimler Bitir doğru yanlış x>n x’i j kadar artır x=m:j:n Sonuc Genel yazımı; for değişken=ifade deyimler end x=m:j:n x: değişken m: döngünün ilk değeri n: döngünün son değeri j: artım miktarı

Örnek: 1’den 5’e kadar sayıların karelerinin hesaplanması.

Sonuçların sütun olarak görüntülenmesi istenirse; Sonuçların satır olarak görüntülenmesi istenirse; Sonuçların sütun şeklinde görüntülenmesinde matris endeksleme yöntemi kullanılmıştır.

Sonuçların satır şeklinde vektör endeksleme yöntemi kullanılarak görüntülenmesi istenirse; Vektör endeksleme yöntemi sonuçların satır şeklinde görüntülenmesinde kullanılabilir. Ancak sütun şeklinde görüntülemede matris endeksleme yöntemi kullanılmalıdır.

Örnek: 1’den 100’e kadar olan sayıların toplamı. Örnek: ’nın 1’den 10 radyana kadar olan değerleri için y= sin(/5) ifadesini hesaplayın.

while Genel yazımı; while ifade deyimler end Başla Deyimler Bitir doğru yanlış ifade Genel yazımı; while ifade deyimler end while döngüsü işletilmeden önce başında döngü değişkenin bir değeri mutlaka olmalıdır.

disp fonksiyonu Diziyi çıkışta görüntülemek için kullanılan fonksiyondur. Genel yazımı; disp (değişken)

Yukarıdaki örnekte eğer değişkenle (x) birlikte sonuçlar (s) sütun şeklinde görüntülenmek isteniyorsa disp fonksiyonu şu şekilde kullanılır; Çıkışta veya programın işleyişi sırasında bir karakter yada bir sözcük görüntülenmek isteniyorsa disp fonksiyonu şu şekilde kullanılır; disp(‘metin’)

Kendinden önce veya sonra gelecek satırlar arasında bir satır boşluk bırakılmak isteniyorsa disp fonksiyonu şu şekilde kullanılır; disp(‘ ’)

Toplamları 528 yapan kaç tane ardışık tam sayının olduğunu bulan programı yazınız.(tamsayi.m)

Döngülerde continue ve break Kullanımı continue komutu for ve while ile kurulan döngülerde verilen koşul sağlandığında program akışını bir sonraki döngü değeri ile devam ettirir. Eğer iç içe for veya while kullanılmışsa continue’nun geçtiği ve end ile sonlandırılan döngü atlanıp bir sonraki döngüye geçilir.

break komutu for ve while ile kurulan döngülerde verilen koşul sağlandığında program akışını orada keser. Eğer iç içe for veya while kullanılmışsa sadece break komutunun geçtiği döngü sona erdirilir ve bir dıştaki döngüye geçilir.

switch giriş ifadesi (skaler veya karakter dizgesi) case ifadesi switch-case yapısı Gördüğümüz if, else ve elseif yapılarının kullanımına alternatiftir. Aslında switch-case ile yapılan her şey if yapılarıyla da yapılır. Ancak switch-case yapısı ile yazılan programlar daha okunabilir özelliğe sahiptir. Genel yazım şekli; switch giriş ifadesi (skaler veya karakter dizgesi) case ifadesi deyim_1 deyim_2 . otherwise deyim_n end 91

0 db ise ‘0 olasi degildir’ 5-35 db ise ‘kabul edilebilir’ Örnek1: 5 ve katları şeklinde db cinsinden girilen gürültü seviyeleri için; 0 db ise ‘0 olasi degildir’ 5-35 db ise ‘kabul edilebilir’ 40 db ise ‘sınır deger’ Bunların dışında ise ‘sınırın dışında’ şeklinde ileti veren programı switch-case yapısı kullanarak yazınız. 92

Matlab’de bölme işleminde kalan bulma rem komutu ile yapılır. Genel yazım şekli; rem(x,y) x : Bölünen y : Bölen 93

Şimdi yukarıdaki örneği kullanıcın 5 ve katları haricinde bir değer girmesi halinde programdan çıkmadan 5 ve katları şeklinde değer girmesini isteyen kodu ekleyelim (switch-case yapısı kullanılacaktır). 94

fix(x) : Tam sayıya yuvarlatır. Sayı Yuvarlatma Sayı yuvarlatma işlemlerinde kullanabileceğimiz iki komutlardan ikisini görelim; Genel yazım şekli; fix(x) : Tam sayıya yuvarlatır. round(x) : En yakın tamsayıya yuvarlatır. 95

Örnek: Girilen bir açı değerinin hangi bölgede yer aldığını gösteren program switch-case yapısı kullanılacaktır). I. Bölge II. Bölge III. Bölge IV. Bölge 96

Fonksiyon Dosyaları Oluşturma Matlab’de kullanılan hazır fonksiyonların yanında m_file şeklinde programlama yapılarak özel fonksiyonlarda oluşturulup kullanılabilir. Burada dikkat edilecek 2 nokta vardır: 1.Eğer bir fonksiyon m_file oluşturulacaksa ilk satır mutlaka function ile başlamalıdır. 2.Oluşturulan fonksiyon ile m_file’ın yani dosyanın adı aynı olmalıdır. Dosya adları mevcut fonksiyon adlarını içermemeli (sin, cos, log gibi). y=f(x) Fonksiyon adı Fonsiyonun bağlı olduğu değişken

İki sayının harmonik ortasını veren fonksiyon dosyasını oluşturalım. a ve b gibi iki sayının harmonik ortası; 2(1/a+1/b)

Fonksiyon dosyasının kullanılması ise şöyledir;

Örnek: Koordinatları belli iki nokta arasındaki doğrusal uzaklığı hesaplayan fonksiyon dosyasını yazınız. A(x1,y1) ve B(x2,y2) noktaları arasındaki doğrusal uzaklık; İfadesi ile hesaplanmaktadır.

Mevcut Fonksiyon Dosyası ile Bağlantı Kurma Burada uzaklık adlı daha önceden hazırlanmış fonksiyon dosyası ile bağlantılı başka bir m_file ile iki nokta arasındaki uzaklığın hesabı yaptırılacaktır. Mevcut fonksiyon dosyası İki nokta arasındaki uzaklığı hesaplamak için yazılan m_file dosyası

Uzaklığı hesaplamak için yazılan m_file çalıştırılarak fonksiyon dosyası ile bağlantı kurulur. Burada dikkat edilmesi gereken nokta fonksiyon dosyası ile yazılan m_file2ın aynı klasör içinde bulunmasıdır.

Uygulamalar 1. Yarıçapları 1’den 5’e kadar değişen kürelerin hacimlerini hesaplayan programı yazınız (while döngüsü kullanılarak çözülecektir.)

2. ax2+bx+c=0 şeklindeki ikinci derece denklemin çözümünü yapan matlab programını yazın.

3. Bir fabrika yarıçapları 0. 5 cm’den 2 cm’ye kadar 0 3. Bir fabrika yarıçapları 0.5 cm’den 2 cm’ye kadar 0.25cm artarak değişen dairesel alüminyum plakalar üretmekte ve bunları da birim çevre fiyatı 10 YTL’den satmaktadır. Buna göre alüminyum plakaların yarıçaplarını çevrelerini ve toplam fiyatlarını veren, tablonun sonuna en büyük ve en küçük plakanın fiyatları ile en büyük ve en küçük fiyat arasındaki farkı da ekleyen matlab programını yazınız hazırlayınız (Döngü kullanılmayacaktır).

4. Bir öğrencinin üç tane sınav notunun ortalamasını alıp aşağıdaki şarta uygun olarak olarak notun harfsel karşılığını veren programı yazınız. ortalama>=90------>A 80<=ortalama<90------->B 70<=ortalama<80-------->C 60<=ortalama<70-------->D ortalama<60-------->F

5. Her bir elemanı satır ve sütun sayılarının karelerinin toplamından 1 eksik olacak şekilde 5 satır ve 5 sütundan oluşan kare matrisi for döngüsü kullanarak oluşturunuz.

6. Aşağıda verilen program kodu çalıştırıldığında ekrana ne çıkar? Başlangıçta elamanları 1’den 10’kadar 1 artımlı bir a dizisi verilmiştir. A dizisindeki veri sayısı yani lenght(a)=10’dur. Daha sonra i değişkeni ile bir döngü tanımlanmaktadır. Döngü 1 den başlayıp i=10 olana kadar sürer. İşlem; b(1,i)=a(1,i)+2a(1,11-i) b(1,1)=a(1,1)+2a(1,10)=1+2.10=21 b(1,2)=a(1,2)+2a(1,9)=2+2.9=20 b(1,3)=a(1,3)+2a(1,8)=3+2*8*19 . b(1,10)=a(1,10)+2a(1,1)=10+2.1=12

Sonuç olarak elemanları 21’den 12’ye kadar 1’er 1’er azalan bir b dizisi ortaya çıkar.

Sayıların Katarlara Dönüştürülmesi Sayıları katarlara dönüştürmek için iki fonksiyon kullanılır; num2str (değişken) Bu fonksiyon kullanılacaksa katara dönüştürülecek sayı tam veya ondalıklı olabilir. int2str (değişken) Bu fonksiyon kullanılacaksa katara dönüştürülecek sayı tam sayıdır.

Örnek: Bir barajın yıllık su kaçak yüzdesi %12’dir Örnek: Bir barajın yıllık su kaçak yüzdesi %12’dir. Başlangıçta barajda 1.000.000 m3 su varken barajın hiç su toplamadığını var sayarak 20 yıl sonra yıllara göre; kaçak miktarını ve barajdaki toplam su miktarını bulan programı yazın.

Değerlerin Sayısal Formatı format komutu Değerlerin sayısal formatını kontrol etmek için kullanılır. Bu komut sayesinde sayıların kaç hane veya kaç ondalıkla gösterileceği belirlenir. 1. format veya format short Tam sayıdan sonra 4 rakamlı sabit noktalı skala formatı

2. format long Tam sayıdan sonra 15 rakamlı sabit noktalı skala formatı

3. format short e Tam sayıdan sonra 4 rakamlı kayan noktalı skala formatı

4. format long e Tam sayıdan sonra 15 rakamlı kayan noktalı skala formatı

5. format short g 5 rakamlı, en uygun sabit ve kayan noktalı skala formatı

fprintf fonksiyonu Program çıkışının formatlı olarak yaptırılması istenirse fprintf fonksiyonu kullanılır. 1’den 5’e kadar sayıların karesini fprintf fonksiyonu kullanarak görüntüleyelim.

Sütunlar arası boşluk (Duruma göre belli karakter aralığında bırakılır) Bir alt satıra geçişi sağlar fprintf ('%2.0f %2.0f\n',x,y) 2. Sütun değişkeni 1. Sütun değişkeni 1. Sütun formatı 2. Sütun formatı

%-2.2f Değiştirici (Modifier) İsteğe bağlı kullanılır İşaretleyici (Marker) Mutlaka kullanılır Değiştirici (Modifier) İsteğe bağlı kullanılır Sütun içindeki alan genişliği İsteğe bağlı kullanılır Tamlık (precision)İsteğe bağlı kullanılır. Virgülden sonra kaç hane görüntüleneceğini gösterir. Format tanımlayıcı Mutlaka kullanılır. Değiştirici (Modifier) - : Çıkışın Sütun içinde sola hızalı olcağını gösterir + : Pozif olan sayıların başına + işareti koyar 0 : Sayı çıkışlarında boş hanelerin 0 ile doldurulacağını gösterir. Örneğin – yerine 2’den önce 0 varsa sayı 01.23 şeklinde görüntülenir (%02.2f) Format Tanımlayıcı Örneğin f format short’u belirtir. f yerine g kullanılırsa sayıların formatı format short g olur. fprintf(‘\n’): Bir satır boşluk bırakır. fprintf(‘\n\n’): İki satır boşluk bırakır. fprintf(‘\n\n\n’): Üç satır boşluk bırakır.

Örnek: n’in 1’den 10’a kadar değerleri için n, log(n)/n, 10n Örnek: n’in 1’den 10’a kadar değerleri için n, log(n)/n, 10n.en ifadelerinin değerlerini bir tablo halinde gösteren programı yazınız.

Örnek : Bir fabrika yarıçapları 0. 5 cm’den 2 cm’ye kadar 0 Örnek : Bir fabrika yarıçapları 0.5 cm’den 2 cm’ye kadar 0.25cm artarak değişen dairesel alüminyum plakalar üretmekte ve bunları da birim çevre fiyatı 10 YTL’den satmaktadır. Buna göre alüminyum plakaların yarıçaplarını çevrelerini ve toplam fiyatlarını veren, tablonun sonuna en büyük ve en küçük plakanın fiyatları ile en büyük ve en küçük fiyat arasındaki farkı da ekleyen matlab programını yazınız hazırlayınız (Döngü kullanılmayacaktır).

Örnek: Bir barajın yıllık su kaçak yüzdesi %12’dir Örnek: Bir barajın yıllık su kaçak yüzdesi %12’dir. Başlangıçta barajda 1.000.000 m3 su varken barajın hiç su toplamadığını var sayarak 20 yıl sonra yıllara göre; kaçak miktarını ve barajdaki toplam su miktarını bulan programı yazın.

veya daha önce num2str ve int2str kullanılarak disp komutu ile alınan çıkışın aynısını fprintf komutu ile almak için;

Veri Dosyası Oluşturma ve Çağırma Bir işlemin yada programın sonucunu bir text (yazı) dosyasına yazdırma (Örneğin Notepad, Word veya Excel dosyası gibi). Daha önceden hazırlanmış bir text dosyasından veri okutma ve kullanma. Bu işlemler; özellikle veri dosyası çok büyükse ya da başka bir ortamda hazırlanmış veya hesaplanmış verileri kullanmak gerikiyorsa kolaylık sağlar. Veri Dosyası Oluşturma Veri dosyası açmak için kullanılan fonksiyon fopen fonksiyonudur. Genel yazım şekli; değişken=fopen (‘dosyaadı.txt’, ‘izin’) İzin wt : Varolan bir dosyanın içindekileri siler ve dosyayı okuma, yazma işlemleri için açar. Eğer dosya yoksa oluşturur. at : Varolan bir dosyayı okuma, yazma işlemleri için açar ve yeni verileri dosyanın sonuna ekler. Eğer dosya yoksa oluşturur.

Daha önceden oluşturulmuş veri dosyasını kapatmak için fclose fonksiyonu kullanılır. Genel yazım şekli: fclose (değişken) Önemli: fopen ile açılan dosya fclose ile mutlaka kapatılmalıdır. İki fonksiyonun genel kullanım şekli; x=fopen (‘veri.txt’, ‘wt’); algoritma fclose (x); Örnek: Yarıçapları 1 mm’den 20 mm’ye kadar 1 mm artımla dairelerin alanlarını hesaplayan ve yarıçaplarla birlikte alanları alan adlı bir text dosyasına listeleyen programı yazınız.

Oluşturulan dosyanın formatı; Word belgesi olarak istenirse matlab kodunda dosya adı: alan.doc Excel çalışma kitabı olarak istenirse matlab kodunda dosya adı: alan.xls Örnek: Masaüstünde (Desktop) oluşturulan alan isimli text dosyasında; verilerin sonuna 21 mm’den 40 mm’ye kadar olan dairelerin yarıçaplarını ve alanlarını ekleyelim.

Veri Dosyası Çağırmak Daha önce masaüstünde yarıçapları 1 mm’den 20 mm’ye kadar 1 mm artımla değişen dairelerin alanlarını hesaplayan ve yarıçaplarla birlikte alanları alan adlı bir text dosyasına yazdıran programı yapmıştık. Şimdi text dosyasındaki verileri kullanarak işlem yapalım. Öncelikle başlık silinerek dosya içerisindeki veriler 2 sütun haline getirilir ve dosya bu şekliyle yeniden kaydedilir.

Şimdi bu text dosyası içerisinde yer alan 2. satır 1 Şimdi bu text dosyası içerisinde yer alan 2. satır 1. sütun elamanı ile 4. satır 2. sütun elamanın çarpımını yapalım.

Dosyadan veri almak için load komutu kullanılarak öncelikle dosya yüklenir. Yazılacak m_file ile verilerin alındığı text dosyası aynı çalışma klasöründe olmalıdır.

Doğru ve Veri Grafikleri 2 D (2 Boyutlu) Grafikler x-y eksen takımının yer aldığı düzlemde çizilen grafiklerdir. Bu grafikleri 3 ana bölüm altında inceleyebiliriz. Doğru ve veri grafikleri Fonksiyon grafikleri Özel (çubuk, pasta, halka v.b.) grafikler Doğru ve Veri Grafikleri plot fonksiyonu kullanılarak çizilir. plot fonksiyonu 2 boyutlu doğru grafikleri çizdirir. x ve y aynı boyutlu iki vektör ise x’deki sayılar x_ekseni yani absis, y’deki sayılarda y_ekseni yani ordinat üzerinde olsunlar. plot fonksiyonu x’in her bir noktasına karşılık gelen y değerlerini çizdirir. Yani plot fonksiyonu aynı uzunlukta iki vektörün çizimini sağlar. x y 1 25 x(1), y(1) 2 0 x(2), y(2) 3 20 x(3), y(3) 4 5 x(4), y(4) 5 15 x(5), y(5)

Grafiği çizdirdikten sonra Figure penceresi açıkken komut penceresinde (command window) değişiklik yapılırsa var olan grafik üzerine değişiklikler doğrudan yansır. Eksenleri adlandırma ve Grafiğe Başlık Ekleme xlabel (‘isim’) : x_eksenini adlandırır. ylabel (‘isim’) : y_eksenini adlandırır. title (‘isim’) : grafiğe başlık adı verir.

Eksen adlandırma (xlabel, ylabel) ve grafiğe başlık (title) ekleme komutlarının kendi aralarında önceliği yoktur. Ancak plot komutundan sonra kullanılmaları gerekir.

Kılavuz Çizgilerinin Eklenmesi Grafiğin daha anlaşılır olması için, diğer bir deyişle grafiğin okunabilirliğini arttırmak ve görünümünü daha belirgin yapmak amacıyla kılavuz çizgileri eklenir. grid : geçerli tüm eksenlere kılavuz çizgileri ekler. grid off : kılavuz çizgilerini kaldırır.

Figure penceresi .fig uzantılı bir dosya olarak kaydedilip saklanabilir. Ancak Matlab oturumu kapatıldığında veriler silineceğinden kaydedilen figure penceresinde daha sonra değişiklik yapılamaz. Bu sebeple grafiğin m_file olarak yazılıp saklanması daha uygundur.

Matlab’deki Karşılığı Grafiklere Sembol ve Yunan Karakterleri Eklemek Mühendislik ve bilimsel grafiklerde Eksen adlandırmada (xlabel, ylabel) ve grafiğe başlık (title) ekleme ya da ileride görülecek olan grafiğe gösterge (legend) ve yazı (text-gtext) ekleme sırasında  ,  , ,  ,  ,  gibi yunan alfabesi harflerini ve diğer sembolleri eklemek gerekebilir. Bunlardan en çok kullanılanların Matlab kod sistemindeki karşılıkları aşağıdaki tabloda verilmiştir. Sembol Matlab’deki Karşılığı  \alpha  \beta  \gamma  \epsilon  \theta  \lambda  \mu  \pi  \phi  \omega üst indis ^ Alt indis _ Bu semboller sadece grafik düzenleme işlemlerinde değil program kodlarının yazımında da aynı şekilde kullanılabilir.

Tek Değişkenli Fonksiyonların Grafikleri Tek değişkenli fonksiyonların grafiklerinin çizimini örnekler üzerinden açıklayalım. Örnek 1: y=x2 parabolünü x’in -5 ile 5 arasındaki değerleri için 0. 1 artımla çizin.

Önemli: Artım aralığını sıklaştırmak eğriyi daha hassas çizecektir. Örnek2: z=5+t-4sin( / 2t) 1<=t<=10 artım: 0.01

Örnek3: y=x. |x|/(x3-5) fonksiyonunu -10<=x<=10 aralığında 0 Örnek3: y=x.|x|/(x3-5) fonksiyonunu -10<=x<=10 aralığında 0.1 artımla çizdiriniz.

Çizgi ve İşaretleme Seçenekleri Grafik çizgisinin rengi kırmızı, çizgi türü kesikli işaretleyici ise daire şeklinde

Genel yazım şekli; plot (x,y, ‘indikatör’) Burada; x,y veri vektörlerinden sonra gelen ve tırnak içinde yazılan üçüncü argümanlar aşağıda verilmiştir. 1.Çizgi Rengi Renk İndikatör Mavi b Yeşil g Kırmızı r Siyah k Default Çoklu grafik çizimlerinde örneğin üç grafik varsa mavi, yeşil, kırmızı olarak otomatik renklendirilir.

plot (x,y, ‘r+:’) kırmızı renkte + işaretli noktalı çizgi. 2. Çizgi Türü Çizgi Türü İndikatör Düz Çizgi - Kesikli Çizgi -- Noktalı Çizgi : Kesikli Noktalı -. 3. İşaretleyici Default İşaretleyici Sembol İndikatör Nokta . Artı + Yıldız * Daire o x Kare s Örnek: plot (x,y, ‘r+:’) kırmızı renkte + işaretli noktalı çizgi. plot (x,y, ‘r+’) sadece kırmızı renkte + işaretleri görünür çizgi gözükmez.

Örnek: y=e2cosx grafiğini 0<=x<=4 aralığında /15 artımla , grafik rengi kırmızı, işaretleyici daire ve çizgi türü kesikli olacak şekilde çizdiren m_file yazınız.

Ödev

ezplot Fonksiyonu Bu fonksiyon iki boyutlu tek değişkenli fonksiyonların grafiklerini bir fikir alabilmek için kabataslak çizdirmeye yarar. Genel yazım şekli; ezplot fonksiyon veya (x ve y ekseninin sınırları da verilmek istenirse) ezplot (‘fonksiyon’, [xmin,xmax,ymin,ymax]) Örnek: y=sin(x)/1+x2 fonksiyonunu ezplot ile çizdirelim.

Burada x ve y eksenlerinin minimum ve maksimum değerleri kullanılmamıştır. Eksenlerin skalası program tarafından otomatik olarak belirlenmiştir. ezplot fonksiyonu ile çizilen grafiklerde fonksiyonun tam karakteristiğini görmek için eksen sınırlarının program tarafından otomatik belirlenmesi önem taşır.

Şimdi de aynı fonksiyonu x ekseninin 0 ile 5 aralığında çizdirelim.

fplot Fonksiyonu fplot fonksiyonu ezplot fonksiyonu ile aynı işlevi görür ancak ezplot ile yapılamayan çizgi rengi, çizgi türü ve işaretleyici seçenekleri ilave edilebilir. Genel yazım şekli; fplot (‘fonksiyon’, [xmin, xmax, ymin, ymax], ‘indikatör’) Burada indikatör olarak daha önce çizgi ve işaretleme seçenekleri konusu altında verilen belirleyici karakterler kullanılır. Örneğin çizgi rengini yeşil ve çizgi türünü de kesikli çizgi yapmak için indikatörde ‘g--’ kullanılır.

Çoklu Grafik Çizimleri

1. Tek Bir Plot Fonksiyonuyla Birden Fazla Grafik Çizdirmek Çoklu grafik çizimi için iki yol vardır: Tek bir plot fonksiyonu kullanarak çizdirmek; Grafiğin üzerine yeni bir grafik eklemek. 1. Tek Bir Plot Fonksiyonuyla Birden Fazla Grafik Çizdirmek plot (x,y,w,u,z,t,........) Burada; x-------->y w------->u z-------->t grafikleri çizdirilir.

Örnek: y=sin(t), y=sin(t-0 Örnek: y=sin(t), y=sin(t-0.25) ve y=sin(t-0,5) fonksiyonlarını /100 artımla 0<=t<=2 aralığında plot fonksiyonunu kullanarak çizdirin.

Burada varsayılan (default) olarak program tarafından y1 mavi, y2 yeşil ve y3’de kırmızı renklerde çizdirilmiştir. Çoklu grafiklerde tüm grafikleri daha açık bir şekilde görebilmek için renk, çizgi türü ve işaretleyici simgelerin kullanılması uygun olur.

2. Grafiğin Üzerine Yeni Bir Grafik Eklemek Bazı durumlarda çizilmiş bir grafiğin üzerine bir başka grafik eklenmesi gerekebilir. Üst üste birden fazla plot fonksiyonu kullanmak bir önceki grafiği iptal edeceğinden; bunu önlemek için hold on fonksiyonu kullanılır. Genel yazım şekli; plot (x,y1) : ilk grafiği çizer hold on : grafiği dondurur plot (x,y2) : yeni bir grafik ekler hold off : dondurulan grafiği ya da grafikleri serbest bırakır Örnek: y=cos(x), y=cos(2x) ve y=cos(x/2) fonksiyonlarını hold on özelliğini kullanarak -2<=x<= 2 aralığında 0,1 artımla çizdiriniz.

hold on fonksiyonu bir önceki grafiği dondurur ve aynı düzlemde diğer grafiklerin çizilmesini sağlar. plot fonksiyonu ile çizilecek olan grafikler ilk grafiğin geçerli eksenlerini kullanır. Ancak çizilecek olan sonraki grafiklerden eksen aralığı en büyük olan kullanılır ve diğer tüm grafiklerin eksenleri bu en büyük aralığa göre otomatik ayarlanır.

fplot Fonksiyonu Kullanılarak Çoklu Grafik Çizimi fplot('[x,x^2,x^3,x^4,x^5]',[-1,1, -2,2])

Grafiğe Gösterge Eklemek

legend (‘Seri1’,’Seri2’,’Seri3’,........,Position) Grafikteki gösterge çoklu grafik çizimlerinde ihtiyaç duyulan bir özelliktir. legend fonksiyonu kullanılarak uygulanır. Genel yazım şekli; legend (‘Seri1’,’Seri2’,’Seri3’,........,Position) Position gösterge kutusunu belli bir konuma yerleştirir. Position İşlevi Verileri kapatmayacak şekilde olası en iyi yeri otomatik belirler. 1 Sağ üst köşe (default yani position’a hiç bir şey yazılmazsa 1 olarak kabul edilir.) 2 Sol üst köşe 3 Sol alt köşe 4 Sağ alt köşe -1 Grafik alanın dışında sağ taraf

Grafik Üzerine Yazı Eklemek Grafik üzerinde belirlenen x ve y koordinatlarının kesim noktasından başlayarak yazı eklemek için text fonksiyonu kullanılır. Genel yazım şekli; text (xposition,yposition,’yazı’) xposition : x koordinatı yposition : y koordinatı Örnek: y=ex fonksiyonunu 0<=x<=2 aralığında 0,1 artımla çizip, (1 , 2.5) koordinatlarına ‘y=ex fonksiyonunun grafiği’ yazdıralım.

gtext fonksiyonu Bu fonksiyon text fonksiyonuna göre daha işlevsel ve kullanışlıdır. Grafiği çizdirdikten sonra bu fonksiyon yardımıyla mouse grafik ekranda eksenel bir görüntü alır. Eksenlerin kesim noktası yazının konumlandırılacağı yerin başlangıç noktasını gösterir. Arka arkaya bir kaç kez kullanılarak ek açıklamalarda yapılabilir. Genel yazım şekli; gtext (‘yazı’) Önemli: Bu komut tüm grafik biçimlendirme işlemleri (xlabel, ylabel, title v.b.) yapıldıktan sonra en son satırda kullanılır.

Tek Bir Sayfa Üzerine Birden Fazla Grafik Yerleştirme Aynı düzlem üzerinde ve aynı eksen takımı kullanılarak tek bir grafik (figure) penceresinde birden fazla grafik çizdirmek için subplot fonksiyonu kullanılır.

subplot fonksiyonunun genel yazım biçimi; subplot(m,n,p) m : satır sayısı n : sütun sayısı p : indeks (1 ile m*n arasında olmalıdır. Satırda soldan sağa, sütunda yukarıdan aşağıya doğru grafik belirlemesi yapar.) Grafik_1 y=f(x) Grafik_2 t=f(z) subplot(1,2,1) 1 satır 2 sütun plot (x,y) subplot (1,2,2) plot (z,t)

Grafik_1 y=f(x) Grafik_2 t=f(z) subplot(2,1,1) 2 satır 1 sütun plot (x,y) subplot (2,1,2) plot (z,t)

subplot(2,3,1) 2 satır 3 sütun plot (x,y) subplot (2,3,2) plot (z,t) subplot (2,3,3) plot (l,k) subplot (2,3,4) plot (m,n) subplot (2,3,5) plot (u,v) subplot (2,3,6) plot (p,q) Grafik_1 y=f(x) Grafik_2 t=f(z) Grafik_3 k=f(l) Grafik_4 n=f(m) Grafik_5 v=f(u) Grafik_6 q=f(p)

Örnek: y=5x, y=x2, y=ex ve y=|x| fonksiyonlarını 2 satır 2 sütun şeklinde aynı figure penceresinde -10<=x<=10 aralığında 0,01 artımla çizdirin.

fplot fonksiyonunu kullanarak aynı figure penceresinde 2 satır 2 sütun halinde 4 adet grafik çizdirelim.

Ödev: y=sin(4t), y=sin(20t) harmonik fonksiyonlarını ve bu iki fonksiyonun toplamını veren grafikleri aynı figure penceresinde alt alta 0<=t<=1 aralığında 0,01 artımla çizdiriniz.

İki y eksenli Grafik Çizmek Bazı durumlarda verileri y ekseninin hem sol hem de sağ tarafında ölçeklemek gerebilir. Bu durumda plotyy fonksiyonu kullanılır.

plotyy fonksiyonunun genel yazım şekli; plotyy (x1,y1,x2,y2) X1 değerlerine ait y1 grafiği y ekseninin sol tarafında ölçeklendirilir. X2 değerlerine ait y2 grafiği y ekseninin sağ tarafında ölçeklendirilir. Örnek 1: y=e-xsin(x) ve y=excos(x) fonksiyonlarını 1<=x<=10 aralığında 0,01 artımla y1 değerleri ve y2 değerleri farklı eksenlerde olacak şekilde çizdirin.

Eksen Sınırlarını Ayarlamak Buraya kadar yapılan uygulamalarda eksen ölçekleri Matlab tarafından otomatik olarak belirlendi. Ancak eksen sınırları programcı tarafından da belirlenebilir. Eksen sınırlarını belirlemek için temel fonksiyon axis fonksiyonudur. Bu fonksiyon var olan bir grafik üzerinde hem x ekseninin hem de y ekseninin geçerli sınırlarını değiştirebilir ve istenilen bir eksen ölçeği belirleyebilir. Genel yazım şekli; axis([xmin xmax ymin ymax]) Önemli: plot fonksiyonundan sonra kullanılmalıdır. Örnek: y=x3 fonksiyonunu 0<=x<=10 aralığında 0,01 artımla x ekseninin minimum değeri -50 maksimum değeri 50 ve y ekseninin minimum değeri -500 maksimum değeri 1500 olacak şekilde çizdirelim.

1. Pasta Dilimi Grafikleri (Pie) Özel Grafikler Matlab bir çok 2D veya 3D özelleştirilmiş grafik formatını destekler. Bunlardan en çok kullanılan pasta dilimi ve bar formatlarını görelim. 1. Pasta Dilimi Grafikleri (Pie) Pasta dilimi grafikleri parçaların bir bütün içerisinde ne kadar yer kapladıklarını gösteren grafiklerdir.

Genel yazım şekli; pie(x,{‘isim1’,’isim2’,.....,’isimn’}) Örnek:Karbon, hidrojen ve oksijenden oluşan bir kimyasal maddenin analizini, kullanıcıdan bu maddelere ait yüzde miktarlarını isteyerek pasta dilimi şeklinde gösteren grafiği çizen Matlab kodunu yazınız.

Pasta dilimi formatındaki grafiklerde istenen dilimlerin bütünden ayrılması için explode (patlatma) işlemi uygulanır. pie fonksiyonunda x veri vektöründen sonra sonra [1 1 0 0 0] yazılırsa 5 dilim içerisinde 1. ve 2. dilimler bütünden ayrı olarak gösterilir. Az önceki örnekte 1. dilimi bütünden ayrı olarak gösterelim.

2. Çubuk Grafikler (Bar) Çubuk grafikler verilerin birbirleri ile karşılaştırılması için en iyi seçenektir. Matlab’de dikey çubuk grafikler çizilebilir.

Genel yazım şekli; bar (m:n,x,çubuk kalınlığı) m : ilk çubuk sayısı n : son çubuk sayısı x : veri vektörü Örnek : bar (1:5,x,0.2) 1’den 5’e kadar olan 5 adet çubuğun 0,2 kalınlıkla çizileceğini gösterir. Önemli: Çubuk sayısı ile veri vektörünün uzunluğu eşit olmalıdır. Kalınlık değeri yazılmazsa örneğin bar(1:5,x) gibi çubuk genişliğinin default değeri 0,8 alınır.

Örnek: 2005 yılında Türkiye deki sektörlerin toplam ciroları aşağıdaki gibi olsun buna göre her bir sektörün toplam içindeki yerini gösteren grafiği çiziniz. Ticaret Sanayi Ulaşım Turizm Tarım 17 milyon YTL 27 milyon YTL 13 milyon YTL 22 milyon YTL 8 milyon YTL

3D (3 Boyutlu) Grafikler 1. 3D Çizgi Grafikleri 3D çizgi grafikleri plot3 fonksiyonu ile oluşturulur. Aynı boyutlu x, y, z olarak adlandırılan 3 vektörün, karşılıklı gelen noktalarının birleştirilmesiyle çizilir. Diğer bir deyişle (x1,y1,z1), (x2,y2,z2), (x3, y3, z3) noktaları birleştirilir. Eksen adlandırılmalarında iki boyutlu çizimlerde xlabel ve ylabel fonksiyonlarına ilave olarak zlabel fonksiyonu da kullanılır.

Burada grafik (10,10,0), (20,20,230), (30,30,75), (40,40,600) noktaları arasındaki çizgiler birleştirilerek elde edilmiştir.

Ödev: 0 ile 100 aralığında 1/50 artımla x=cos(z) ve y= sin(z) fonksiyonlarını x,y ve z eksen takımında 3 boyutlu çiziniz.

2. 3D Pasta Dilimi (pie) Grafikleri 2D çubuk grafik çizimlerinde bar fonksiyonunun pie3 şeklinde kullanılmasıyla elde edilir.

3. 3D Çubuk (bar) Grafikleri 2D çubuk grafik çizimlerinde bar fonksiyonunun bar3 şeklinde kullanılmasıyla elde edilir.

4. 3D Ağ (mesh) ve Yüzey (surf) Grafikleri z=f(x,y) şeklinde üç boyutlu fonksiyonların yüzeyini gösterebilmek için 3D ağ (mesh) grafikleri çizmek gerekir. Önce meshgrid fonksiyonu ile x ve y koordinatlarının oluşturduğu ikililerle bir değerler matrisi hazırlanır daha sonra mesh fonksiyonu ile bu değerler matrisi kullanılarak üç boyutlu grafik çizilir. z=f(x,y) fonksiyonu x ve y eksenlerinin belli aralıklarında çizdirilmek istenirse meshgrid ve mesh fonksiyonlarının Genel yazım şekli; [x,y]=meshgrid(x1:i:x2, y1:j:y2) mesh(x,y,z) x1,y1 : x ve y’nin başlangıç değerleri x2,y2 : x ve y’nin bitiş değerleri i,j : x ve y’nin artım miktarları

Örnek : z=5cosx.siny fonksiyonunu - ile  aralığında /50 artımla üç boyutlu olarak çizdiriniz.

meshgrid foksiyonu ile birlikte mesh komutu yerine surf komutu kullanılırsa çizilen yüzeyin grid boyunca farklı bölgeleri farklı renklerle boyanır. Genel yazım şekli; [x,y]=meshgrid(x1:i:x2, y1:j:y2) surf(x,y,z) surf mesh

Temel Matematiksel İşlemler 1. İntegral İntegral bir fonksiyon grafiğinin altındaki alanı bulmak için kullanılan sayısal bir yöntemdir. Matlab’de integral iki şekilde hesaplanır: Sayısal yani nümerik (Sınırları belirli) Simgesel (Sınırlar belirsiz) -Sayısal Değerli İntegral Örnekleri quad komutu kullanılır. quad adaptif tekrarlı Simpson kuralını kullanan düşük dereceli bir yöntemdir. quad fonksiyonu, 10-6 hata ile matematiksel fonksiyonun a ile b arasındaki integraline yaklaşır. Genel yazım şekli; quad(‘f(x)’, a, b)

Örnek 1: integralini hesaplayınız. Önemli: Sonucun yukarıda olduğu gibi sabit noktalı 5 rakamlı (format short) şeklinde değil de basit kesir şeklinde görüntülenmesi istenirse komut satırında öncelikle format rat komutu yazılır ve daha sonra integral hesaplatılır.

Örnek 2: integralini hesaplayınız. Örnek 3: integralini hesaplayınız

İki Katlı İntegral Hesabı Şeklindeki integrallerin hesaplanmasında dblquad fonksiyonu kullanılır. Genel yazım şekli; dblquad(‘f(x,y)’, xmin, xmax, ymin, ymax) Burada fonksiyon x ve y’ye bağlı iki değişkenli bir fonksiyon olmalıdır. Örnek: integralini hesaplayınız.

-Simgesel İntegral Örnekleri Simgesel işlemlerde kullanılacak değişkenlerin (simgelerin) önceden bildirilmesi gerekir. Değişkenleri bildirmek için syms komutu kullanılır. Şeklindeki belirsiz bir integrali Matlab’de hesaplatabilmek için int fonksiyonu kullanılmaktadır. Ancak öncelikle syms komutu ile f fonksiyonunun bağlı olduğu değişken yani x tanımlanmalıdır. Genel yazımşekli; syms x,a b,…:Fonksiyondaki simgelerin bildirilmesi. int (f(x)) :syms ile belirlenen simgelerden x’e göre f(x)’in belirsiz integralini alır.

Örnek 1: belirsiz integralini hesaplayınız. Örnek 2: belirsiz integralini hesaplayınız.

Burada sonuç oldukça karmaşık gözükmektedir Burada sonuç oldukça karmaşık gözükmektedir. Bu nedenle bu tür ifadeler pretty fonksiyonu ile daha net görülebilir hale getirilebilir.

Bu örnekte görüldüğü gibi syms komutu ile x ve t simgeleri belirtilmiş olmasına rağmen integraller x değişkenine göre alınmıştır. Burada int fonksiyonunun int (f(x),x) şeklinde de kullanılabilir. int (f(x),x) :f(x)’in x’e göre belirsiz integralini alır.

Örnek 3: a pozitif bir doğal sayı olduğuna göre; integralini hesaplayın. Bu örnekten çıkan sonuç; int fonksiyonu quad fonksiyonunda olduğu gibi belli aralıkta yani sayısal değerli integral hesabıda yapabilir. int(f(x),x,a,b) :f(x) fonksiyonunun x’e göre a’dan b’ye kadar integralini alır.

Katlı integraller de iç içe int fonksiyonu kullanılarak hesaplanabilir. şeklindeki sınırları belli katlı bir integral int fonksiyonu ile şu şekilde hesaplatılır. int(int(f,x,c,d),y,a,b) Ödev: integralini int komutunu kullanarak hesaplayınız.

2. Türev Türev alma işleminde kullanılan fonksiyon diff olup simgesel işlem mantığı çerçevesinde genel yazım şekli şöyledir: diff (f(x)) : syms ile belirlenen simgelerden x’e göre f(x) fonksiyonunun türevi. diff (f(x),x) : f(x) fonksiyonunun x’e göre türevi. diff (f(x),n) : n pozitif bir tamsayı olmak üzere syms ile belirlenen simgelerden x’e göre f(x) fonksiyonunun n. dereceden türevi. diff (f(x),x, n) : n pozitif bir tamsayı olmak üzere x’ göre f(x) fonksiyonunun n. dereceden türevi.

Örnek 1: f(x)=5x3+ax2+bx+14 a ve b sabit sayılar olmak üzere f(x) fonksiyonunun x’e göre türevini alın.

Örnek 2: fonksiyonunun 3. türevini bulup bu türevin grafiğini çizdiriniz.

Örnek 3: fonksiyonunun 3. türevini bulup türevin x=-2’deki değerini hesaplatınız. Bu örnekten çıkan sonuç; türevin belli bir noktadaki sayısal değeri hesaplanmak istenirse subs komutu kullanılır. Genel yazım şekli; subs(fonksiyon,değer)

3. Limit İşlemleri Limit alma işlemlerinde kullanılan fonksiyon limit olup kullanım şekli şöyledir: limit (f(x)) limit (f(x),a) veya limit(f(x),x,a) limit (f(x),x,a, ‘left’) limit (f(x),x,a, ‘right’) Örnek 1:

Örnek 2:

Örnek 3: , ve

4.Denklem ve Denklem Sistemlerinin Çözümü Matlab her türlü doğrusal veya doğrusal olmayan denklem ve denklem sistemlerinin çözümünü bulabilir. Bu işlem için solve fonksiyonu kullanılır. Genel yazım şekli; solve (‘denklem’) Burada çözüm kümesi bulunacak denklem solve fonksiyonunda tırnak içerisinde verilmiştir. Ancak syms komutu ile çözüm kümesi bulunacak denklemin değişkeninin önceden tanımlanması halinde denklem tırnak içerisinde verilmez Örnek 1: fonksiyonunun çözüm kümesini bulunuz.

Örnek 2: denkleminin köklerini bulunuz.

Elde edilen sonuç çok karmaşık görünmektedir Elde edilen sonuç çok karmaşık görünmektedir. Sonucu 4 haneli hale getirmek için double komutu kullanılır.

Örnek 3: şeklindeki 2. derece denklemin çözümünü bulunuz.

Denklem sistemlerinin çözümünü. (1) (2) biçiminde doğrusal bir denklem sisteminin çözümünde x ve y yani iki bilinmeyen için çözüm aranmaktadır. Yine solve fonksiyonu kullanılacaktır.Bu durumda çözümü [x,y] şeklinde çıkış değişkenleri ile belirtmeliyiz. Genel yazım şekli; [x,y]=solve(‘a1x+b1y+c1=0’,’ a2x+b2y+c2=0’) Denklem eşitliği verilmezse varsayılan olarak denklemler 0’a eşit alınır.

Örnek 1: denklem sisteminin çözüm kümesini bulunuz.

Örnek 2: denklem sisteminin çözüm kümesini bulunuz.

Örnek 3: denklem sisteminin çözüm kümesini bulunuz. a bir parametre olmak üzere

Polinomlar P(x)=anxn +an-1xn-1 +……….+a1x+a0 x’in en büyük üssü n polinomum derecesini beliler. ai(i=1,2,3,…….,n) polinomun katsayılarıdır. Polinomlar en büyük üsden başlayarak azalan sıradaki katsayılar vektörü ile gösterilir. Örnek: P(x)=x4+3x3-15x2-2x+9

Polinomun Değerini Bulma P(x) polinomunun x=k için alacağı değer polyval fonksiyonu ile bulunur. Genel yazım şekli; polyval(P(x),k) Örnek: P(x)=x4+3x3-15x2-2x+9 polinomunun x=-2 için değerini hesaplayınız.

Örnek: P(x)=x3-2x+1 polinomunun 5 ve -3 için değerini hesaplayınız. Polinomun Köklerini Bulma P(x)=0 polinomunun çözüm kümesi polinomun kökleridir. Kökleri bulmak için roots fonksiyonu kullanılır. Genel yazım şekli; roots(P(x))

Örnek: Q(x)=2x3-x2+1 polinomunun köklerini bulunuz. Kökleri Belli Polinomu Bulma Kökleri belli polinomu bulmak için poly fonksiyonu kullanılır. Genel yazım şekli; poly([KÖKLER])

Örnek: Kökleri -3 ve 7 olan polinomu bulunuz. Yani; P(x)=x2-4x-21

Örnek: Kökleri -1.23+3.5i, -1.23-3.5i ve 6.75 olan polinomu bulunuz. Yani; P(x)=x3-4.29x2-2.8421x-92.8996

Polinomların Çarpımı R(x) ve S(x) şeklindeki iki polinomun çarpımı için conv fonksiyonu kullanılır. Genel yazım şekli; conv(R(x),S(x)) Örnek: R(x)=-5x5-4 ve S(x)=18x2-x ise R(x).S(x) nedir? Yani; -90x7+5x6-72x2 +4x

Polinomların Bölümü P(x) ve Q(x) şeklindeki iki polinomun bölümü için deconv fonksiyonu kullanılır. Genel yazım şekli; [B K]=deconv(P(x),Q(x)) Burada; B :Bölüm K :Kalan P(x)’in Q(x)’e bölünebilmesi için P(x)’in derecesi Q(x)’in derecesine eşit veya büyük olmalıdır. Örnek: P(x)=-7x3 -3x2 +x+14 ve Q(x)=4x2+9x-5 ise P(x)/Q(x) nedir?

Yani; Bölüm :-1.75x+3.1875 Kalan :0x3+0x2-36.4375x+29.9375

P(xn)/Q(xn+1) şeklindeki küçük dereceli bir polinom büyük dereceli bir polinoma bölünürse Bölüm 0, Kalan ise bölünen yani P(xn)’dir. Örnek: P(x)=x2 +4x+4 ve Q(x)=x3+x+5 ise P(x)/Q(x) nedir? Yani; Kalan : P(x)=x2 +4x+4

Polinomlarda Toplama ve Çıkarma Aynı dereceden olmak şartı ile iki veya daha fazla polinomun toplaması ve çıkarması yapılabilir. Örnek: P(x)=5x2 -22x+4 ve Q(x)=x2+4x+4 ise P(x)+Q(x) nedir? Yani; 6x2 -18x+8

Polinomların Türevi P(x) şeklindeki iki polinomun türevini almak için polyder fonksiyonu kullanılır. Genel yazım şekli; polyder(P(x)) : P(x)’in türevi, polyder(P(x),Q(x)) : P(x)*Q(x)’in türevi, P(x) Q(X)’den büyük dereceli olmak üzere; [B K]=ployder(P(x),Q(x)) :P(x)/Q(x)’in türevi Örnek: P(x)=-7x3 -3x2 +x+14 ve Q(x)=4x2+9x-5 olsun buna göre türevleri hesaplayalım