Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "PROGRAMCILIK, PROBLEM ÇÖZME VE ALGORİTMA OLUŞTURMA"— Sunum transkripti:

1 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

2 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.

3 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

4 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.

5 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.

6 İ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ç

7 Ö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ı

8 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.

9 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.

10 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

11 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.

12 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ı

13 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.

14 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

15 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

16 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

17 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

18 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

19 Ö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

20 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

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

22 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

23 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 : 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

24 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

25 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 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

26 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.

27 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

28 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.

29 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

30 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'.

31 Certain marks used in Matlab
[ ] : Square Brackets It is used to format vectors and matrix Example : A=[ ; ] , 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)

32 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.

33 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.

34 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]

35 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

36 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:

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

38 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.

39 arrays If the increment is not stated;

40 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 .)

41 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.

42 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.

43 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.

44 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.

45 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.

46 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.

47 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.

48 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ü)

49 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ü)

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

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

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

53 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.

54

55 İ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.

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

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

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

59 İ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.

60 Özel Sabit ve Değişkenler
pi  (3, ) 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

61 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.

62 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

63

64 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.

65 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)

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

67 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.

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

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

70 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:’)

71 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ış

72 Ö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.

73 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

74 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

75 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

76 Ö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< > a*5 if 50<=a< > a+5 elseif a>= > 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

77 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

78 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.

79 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ı

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

81 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.

82 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.

83 Ö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.

84 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.

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

86 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’)

87 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(‘ ’)

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

89 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.

90 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.

91 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

92 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

93 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

94 Ş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

95 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

96 Ö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

97 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

98 İ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)

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

100 Ö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.

101 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ı

102 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.

103 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.)

104

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

106

107 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).

108

109 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>= >A 80<=ortalama< >B 70<=ortalama< >C 60<=ortalama< >D ortalama< >F

110

111 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.

112 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

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

114 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.

115 Ö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 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.

116

117 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ı

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

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

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

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

122 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.

123 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ı

124 %-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ı ş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.

125 Ö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.

126 Ö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).

127

128 Ö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 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.

129

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

131

132 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.

133 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.

134

135 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.

136

137 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.

138 Ş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.

139 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.

140 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 x(1), y(1) x(2), y(2) x(3), y(3) x(4), y(4) x(5), y(5)

141

142 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.

143 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.

144 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.

145 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.

146 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.

147

148 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.

149 Ö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

150

151 Ö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.

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

153 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.

154 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.

155 Ö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.

156

157 Ödev

158 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.

159 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.

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

161 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.

162 Çoklu Grafik Çizimleri

163 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.

164 Ö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.

165 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.

166 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.

167 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.

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

169 Grafiğe Gösterge Eklemek

170 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

171 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.

172

173 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.

174

175 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.

176 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)

177 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)

178 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)

179 Ö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.

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

181 Ö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.

182 İ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.

183 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.

184 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.

185

186 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.

187 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.

188 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 [ ] 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.

189 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.

190 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.

191 Ö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

192 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.

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

194 Ö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.

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

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

197 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ı

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

199 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

200 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)

201 Ö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.

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

203 İ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.

204 -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.

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

206 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.

207 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.

208 Ö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.

209 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.

210 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.

211 Ö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.

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

213 Ö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)

214 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:

215 Örnek 2:

216 Örnek 3: , ve

217 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.

218 Örnek 2: denkleminin köklerini bulunuz.

219 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.

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

221 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.

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

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

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

225 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

226 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.

227 Ö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))

228 Ö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])

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

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

231 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

232 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?

233 Yani; Bölüm :-1.75x Kalan :0x3+0x x

234 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

235 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

236 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

237


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

Benzer bir sunumlar


Google Reklamları