MATLAB. Içindekiler. Dr. Tolga BEKLER. Canakkale Onsekiz Mart Universitesi. Jeofizik Mühendisligi Bölümü BÖLÜM -I -



Benzer belgeler
MATLAB PROGRAMLAMAYA GİRİŞ

MATLAB. Grafikler DOÇ. DR. ERSAN KABALCI

6. ÇİZİM İŞLEMLERİ Boyutlu Eğri Çizimi x ve y vektörleri ayni boyutta ise bu vektörleri ekrana çizdirmek için plot(x,y) komutu kullanılır.

MATLAB DA SAYISAL ANALİZ DOÇ. DR. ERSAN KABALCI

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

2.3. MATRİSLER Matris Tanımlama

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

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

DENEY 1: Matlab de Temel Uygulamalar

MAK1010 MAKİNE MÜHENDİSLİĞİ BİLGİSAYAR UYGULAMALARI

MATLAB Semineri. EM 314 Kontrol Sistemleri 1 GÜMMF Elektrik-Elektronik Müh. Bölümü. 30 Nisan / 1 Mayıs 2007

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

Yrd. Doç. Dr. A. Burak İNNER

BM202 SAYISAL ÇÖZÜMLEME

1- Temel MATLAB Fonksiyonları ve Programlama

Bilgisayar Programlama MATLAB

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER

Bilgisayar Programlama

ÖZDEĞERLER- ÖZVEKTÖRLER

İleri Diferansiyel Denklemler

Matlab. Vektör ve Matris İşlemleri

1984 ÖYS A) 875 B) 750 C) 625 D) 600 E) 500

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

Ortak Akıl MATEMATİK DENEME SINAVI

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB

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

Özdeğer ve Özvektörler

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

TÜREV VE UYGULAMALARI

Matematikte karşılaştığınız güçlükler için endişe etmeyin. Emin olun benim karşılaştıklarım sizinkilerden daha büyüktür.

Lineer Denklem Sistemleri Kısa Bilgiler ve Alıştırmalar

diff Türev Alma Fonksiyonu. >> syms x >> A=3*x^4+x^2-3*x A = 3*x^4+x^2-3*x. >> diff(a) // A fonksiyonunun türevini alır. ans = 12*x^3+2*x-3

LYS MATEMATİK DENEME - 1

Matlab - Giriş (İleri Yapı Statiği II. Kısım)

Elemanter fonksiyonlarla yaklaşım ve hata

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

MAK 210 SAYISAL ANALİZ

MATLAB de GRAFİK İŞLEMLERİ

Ders 5 : MATLAB ile Grafik Uygulamaları

T I M U R K A R A Ç AY, H AY D A R E Ş, O R H A N Ö Z E R K A L K U L Ü S N O B E L

4. BÖLÜM DOĞRUSAL DENKLEM SİSTEMLERİ

VEKTÖR UZAYLARI 1.GİRİŞ

NĐĞDE ÜNĐVERSĐTESĐ Elektrik Elektronik Mühendisliği Bölümü. Devre Tasarımı Ders Notları MATLAB. Arş. Gör. Salim ÇINAR. salim çınar

T.C. KOCAELİ ÜNİVERSİTESİ MEKATRONİK MÜHENDİSLİĞİ OTOMATİK KONTROL SİSTEMLERİ DERSİ MATLAB UYGULAMA NOTLARI-1

(m+2) +5<0. 7/m+3 + EŞİTSİZLİKLER A. TANIM

2(1+ 5 ) b = LYS MATEMATİK DENEMESİ. işleminin sonucu kaçtır? A)2 5 B)3 5 C)2+ 5 D)3+ 5 E) işleminin sonucu kaçtır?

2012 LYS MATEMATİK SORU VE ÇÖZÜMLERİ Niyazi Kurtoğlu

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

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


EĞİTİM - ÖĞRETİM YILI 10. SINIF MATEMATİK DERSİ DESTEKLEME VE YETİŞTİRME KURSU KAZANIMLARI VE TESTLERİ

MATLAB ve Simulink Kullanımına Giriş

KUADRATİK FORM. Tanım: Kuadratik Form. Bir q(x 1,x 2,,x n ) fonksiyonu

Lineer Dönüşümler ÜNİTE. Amaçlar. İçindekiler. Yazar Öğr. Grv.Dr. Nevin ORHUN

8. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

Şekilde görülen integralin hesaplanmasında, fonksiyonun her verilen bir noktası için kümülatif alan hesabı yapılır.

TÜREV VE UYGULAMALARI

x 1,x 2,,x n ler bilinmeyenler olmak üzere, doğrusal denklemlerin oluşturduğu;

Denklemler İkinci Dereceden Denklemler. İkinci dereceden Bir Bilinmeyenli Denklemler. a,b,c IR ve a 0 olmak üzere,

Grafik Komutları. Grafik Türleri plot: çizgisel grafikler bar: sütun bar şeklindeki grafikler stem: sütun çizgisel grafikler pie: pasta grafikleri

MATLAB

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Bir fonksiyonun mutlak Maximum ve Mutlak Minimum noktalari: a)fonksiyonun bir uc noktasi olabilir. b)fonksiyonun bir donum noktasi olabilir.

7.2 Fonksiyon ve Fonksiyon Tanımları (I) Fonksiyon ve Fonksiyon Tanımları (II)

Cebir 1. MIT Açık Ders Malzemeleri

DOĞRUSAL OLMAYAN PROGRAMLAMA -I-

Sembolik Programlama1. Gün. Sembolik Programlama. 20 Eylül 2011

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

Algoritma ve Akış Diyagramları

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

MATEMATİK TESTİ LYS YE DOĞRU. 1. Bu testte Matematik ile ilgili 50 soru vardır.

BİLGİSAYAR PROGRAMLAMA DERSİ

Jeodezide Yaklaşım Yöntemleri: Enterpolasyon ve Kollokasyon


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

fonksiyonu için in aralığındaki bütün değerleri için sürekli olsun. in bu aralıktaki olsun. Fonksiyonda meydana gelen artma miktarı

ÖABT Lineer Cebir KONU TESTİ Matris Cebiri

FONKSİYONLAR. Giriş argümanlarına karşılık gelen çözümü çıkış argümanları olarak sonuçlandırır. Fonksiyondosyalarıkendiçalışmaalanındaki

İÇİNDEKİLER ÖNSÖZ Bölüm 1 KÜMELER Bölüm 2 SAYILAR

Bir özvektörün sıfırdan farklı herhangi bri sabitle çarpımı yine bir özvektördür.

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR

BİLGİSAYAR PROGRAMLAMA DERSİ

İÇİNDEKİLER. Bölüm 2 CEBİR 43

YAZILI SINAV SORU ÖRNEKLERİ MATEMATİK

Matris Cebiriyle Çoklu Regresyon Modeli

M-Dosyaları. Editor: Kodların yazıldığı kısımdır. Uzantısı.m olan dosyalarla çalışır.

Lys x 2 + y 2 = (6k) 2. (x 2k) 2 + y 2 = (2k 5) 2 olduğuna göre x 2 y 2 =? Cevap: 14k 2

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

1986 ÖYS. 3 b. 2 b C) a= 1. Aşağıdaki ABC üçgeninde. BD kaç cm dir? C) 3 D) 8 E)

Ayrık Fourier Dönüşümü

Aralıklar, Eşitsizlikler, Mutlak Değer

ii) S 2LW 2WH 2LW 2WH S 2WH 2LW S 3( x 1) 5( x 2) 5 3x 3 5x x Maliye Bölümü EKON 103 Matematik I / Mart 2018 Proje 2 CEVAPLAR C.1) C.

ÖSYM. 1. Bu testte 40 soru vardır. 2. Cevaplarınızı, cevap kâğıdının Matematik Testi için ayrılan kısmına işaretleyiniz AYT/Matematik

biçimindeki ifadelere iki değişkenli polinomlar denir. Bu polinomda aynı terimdeki değişkenlerin üsleri toplamından en büyük olanına polinomun dereces

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

Nokta uzayda bir konumu belirtir. Noktanın 0 boyutlu olduğu kabul edilir. Herhangi bir büyüklüğü yoktur.

Matlab da 2-boyutlu Grafik Çizimi. Arş. Gör. Mehmet Ali ÜSTÜNER

Transkript:

MATLAB Dr. Tolga BEKLER Canakkale Onsekiz Mart Universitesi Jeofizik Mühendisligi Bölümü 2006 BÖLÜM -I - Içindekiler Giris Baslarken Temel Matematiksel Islemler Degiskenler Karmasik Sayilar Temel Istatistiksel Islemler Polinomlar Yuvarlatma Islemleri Matriks ve Vektörler Nokta Çarpim/Bölme Temel Matris Islemleri Ters Islemler Özvektörler ve Özdegerler Hazir Matris Fonksyionlari Grafik Çizimler Yüzey Çizimleri Vektör Alanlari Sembolik Degiskenler Denkleme Sistemlerinin Çözümü Dogrusal Olmayan Denklem Takimlarinin Çözümü Integraller Türevler Örnekler Örnekler

Giris MATLAB, MATrix LABoratory szöcüklerinden gelir ve temelde sayisal ve analitik olarak matematiksel fonksyionlarin ifadelerinin kullanildigi basta mühendislik alaninda olmak üzere birçok sayisal analizi kullanan bilimlerde son yillarda oldukça sik kullanilan bir hazir yazilim paketidir. Özellikle yüksek performans gerektiren algoritma hazirlama ve gelistirme, sayisal analiz, simülasyon, mühendislik problemlerinin sayisal ve grafik çözüm tekniklerinde son derece etkindir. Baslarken Matlab yazilim paketinde kullanilacak olan her hazir fonksyion yaninda kullanicinin da kendi yazilimini olusturma imkani saglar. Matlab in gerek kisisel bilgisayarlarda (PC) gerekse diger isletim sistemlerinde (UNIX, LINUX) gibi bazi ufak farkliliklar disinda kullanimi, ya dogrudan kendi çalisma ve komut ekreaninda ya da m uzantili program dosyasi olusturmak suretiyle (script) olmaktadir. Program çalistrildiginda çalisma ekranina ilk olarak >> komut ekrani gelecektir. >> 4.3+4.2 8.5000 ans 2.3 ile 4.2 sayilarinin toplamini sonuc olarak verecektir. (answer) >> format rat >> 5.1-3.3 9/5 Sonuç format rat ile kesirli halde alinabilir. >> format compact >> 5*7 35 Islem sonucu arasina ekstra bosluk birakilmaz Temel Matematiksel islemler >> 5^8 40 >> format long ile istenilen sonucun duyarliligi gösterilir. >> sqrt(2) 1.41421356237310

Temel trigonometric operatörler (cos, sin, tan, sec, csc, cot), tersleri (acos, asin, atan, asec, acsc, acot), exponansiyel fonksyionexp, dogal logaritma log. Örnek: ln(14)+sin(π/4) asagidaki sekilde hesaplanir >> log(14)+sin(pi/4) 3.34616411080181 Matlab te hazir fonksyionalrin kullanim sekillerini bilmek istenirse help komutu kullanilir >> help abs (mutlak deger icin yardim dosyasi cagirma) ABS Absolute value. ABS(X) is the absolute value of the elements of X. When X is complex, ABS(X) is the complex modulus (magnitude) of the elements of X. See also SIGN, ANGLE, UNWRAP. Overloaded methods help sym/abs.m Degiskenler Tüm yazilabilir karakterler degisken olarak atanabilir ve = olarak verilir. >> x=23 x = 23 Degislen isimleri büyük ve küçük harf ayrimina hassastir. X ve x degiskenleri ayri olarak tanimlabilir. >> x^2-3*x+2 30 >> log(x) 1.94591014905531 >> sin(x) 0.65698659871879 Yeni bir ifade icin bir önceki degisken kullanilabilir. Her islem ssonucu bellekte saklanir. >> y=8*x y = 56 >> x=x+5 x = 12

>> y y = 56 >> who komutu kullanilan degisken isimlerini verir Your variables are: ans x y >> whos komutu degiskenlerin boyut bilgisini verir. Name Size Bytes Class ans 1x1 8 double array x 1x1 8 double array y 1x1 8 double array Grand total is 3 elements using 24 bytes Bellekteki degiskenleri silmek icin clear komutu kullanilir. Bu asamadan sonra degiskenler çagrilmak istenirse; >> clear >> who >> x??? Undefined function or variable 'x'. ile karsilasilir. Karmasik Sayilar Genel formati a+ib, a-ib, a+bj, a+jb olan ifadelerdir. >>2-3i 2.0000-3.0000i >> 2-3*i 2.0000-3.0000i ayni ifadenin 2-i3 olarak yazilamayacagina dikkat edilmeli. Karmasik sayilarin taniminda complex fonksyionuda kullanilir. Bu fonksyion karmasik sayinin gerçel ve sanal kisimlarini verir. > x=3;y=4; >> complex(x,y)

3.0000 + 4.0000i >> complex(2,-3) 2.0000-3.0000i Karmasik sayi islemleri: abs :Mutlak deger alir (Genlik bilgisi) angle : Faz açisi conj imag real : Karmasik eslenik : Karmasik sanal kisim : Karmasik gerçel kisim >> z=2+5i; >> abs(z) 5.3852 >> angle(z) 1.1903 >> conj(z) 2.0000-5.0000i >> imag(z) 5 >> real(z) 2 Temel Istatistiksel Islemler Özellikle saha ve gozlem verileri üzerinde yapilacak analizlerin ve degerlendirilmeler için istatistiksel yöntemleri Matlab te kullanmak mümkündür. Bilinen en temel komutlar; max : Veri kümesindeki en büyük degeri bulur. min : Veri kümesindeki en küçük degeri bulur. length : Küme içinde kaç eleman oldugunu verir. sum : Kümenin toplam sayisini verir prod : Verilerin çarpimini hesaplar median : Verilerin ortanca degerini hesaplar std : Standart sapma mean : Ortalama deger yada aritmetik ortalama

geomean : Geometrik ortalama harmmean : Harmonik ortalama sort : Küme elemanlarini azalan sirada hazirlar >> T=[2.1;2.5;1.9;-1.9;2.4;3.0] T = 2.1000 2.5000 1.9000-1.9000 2.4000 3.0000 >> max(t) 3 >> min(t) -1.9000 >> length(t) 6 >> sum(t) 10 >> prod(x) 120 >> median(x) 3.5000 >> median(t) 2.2500 >> std(t) 1.7874 >> mean(t) 1.6667 >> geomean(t)??? Error using ==> geomean The data must all be non-negative numbers. % Negatif sayi içeren küme var >> harmmean(t) 3.6896 Polinomlar Matlab ta polinomlar bir vektörle temsil edilirler. Polinom olusturmak için yüksekten düsük dereceliye dogru azalan sirada polinom katsayilari yazilir. x=s 4 +3s 3-15s 2-2s+9 polinomu programa asagidaki sekilde yazilir; x=[1 3-15 -2 9] x = 1 3-15 -2 9

Benzer sekilde y=s 4 +1 in gösterilimi y=[1 0 0 0 0 1] seklindedir. Polinomun herhangi bir kök için degeri, örnegin s 4 +1 in s=2 için degeri; z=polyval([1 0 0 0 1],2) veya dogrudan z=polyval(y,2) z = 17 Polinomun köklerinin bulunmasi, örnegin s4+3s3-15s2-2s+9 için; roots([1 3-15 -2 9]) ans= -5.5745 2.5836-0.7951 0.7860 Iki polinomun çarpilmasi, (x+8) (x2+4x+8) = x3+6x2+16x+16 x=[1 2] y=[1 4 8] z=conv(x,y) z= 1 6 16 16 Iki polinomu bölelim [xx,r]=deconv(z,y) xx= 1 2 (bölüm=x+2) R= 0 0 0 0 (kalan=0) Örnek: P(x)=x 4 +3x 3-15x 2-2x+9 polinomunun x=2 için alacagi degerin bulunmasi >> P=polyval([1 3-15 -2 0],2) P = -24 Örnek: P(x)=x 4-5x x=2 ve x= 8 için fonksiyonun alacagi degerin bulunmasi >> x=[2 8]; >> p=[1 0 0-5 0]; >> pp=polyval(p,x) pp = 6 4056 Polinom Köklerinin Bulunmasi Bir P(x)=0 polinomunun köklerinin bulmak için roots komutu kullanilir.

Örnek: y=3x 3 +4x 2-6x+1 denklemini saglayan kökler >> y=[3 4-6 1]; >> roots(y) -2.2763 0.7469 0.1961 Yuvarlatma Islemleri fix floor ceil : Sifira dogru yuvarlatir : - 8 dogru yuvarlatir :+ 8 dogru yuvarlatir round : en yakin tamsayiya yuvarlatir. >> a=3.5; >> fix(a) 3 >> floor(a) 3 >> ceil(a) 4 >> round(a) 4 Matrisler ve Vektörler Matriks olusturmak için köseli, parantez kullanilir ve ; ile satirlar ayrilir >> A=[2 11-3 8; 1 0 8-3; 7 1 2 5] A =

2 11-3 8 1 0 8-3 7 1 2 5 Sonuç verecek olan her komut satiri sonuna ; konulursa görülmesini istemediginiz >> B=[2 0-3; -1 1 3]; will still define the variable B containing a 2 3 matrix, but MATLAB will not echo anything. >> whos Name Size Bytes Class A 3x4 96 double array B 2x3 48 double array v 3x1 24 double array Grand total is 21 elements using 168 bytes Bir B matrisinin elemanlarini gormek icin; >> B B = 2 0-3 -1 1 3 Vektorlerim matrislerin tek kolon halidir ve gösterimleri; >> v = [ 2; 3; -4] v = 2 3-4 Bir satir vektorü bir satiri olan bir matrisdir. >> w=[3-2 5 11] w = 3-2 5 11 Örnegin iki sayi arasinda sirali satir vektörü olusturmak için a:b; örnegin >> 2:5 2 3 4 5 j:i:k bir satir vektörünü tanimlar ve j baslangiç, I artim ve k son elemani gösterir. >> 3:2:9 3 5 7 9 Matrisin transpozu >> A=[5-2 9; 11 7 8] A = 5-2 9 11 7 8 >> A' 5 11-2 7 9 8

Esit artimli bir vektörün transpozu asagidaki gibi tanimlanir; >> [1:3:10]' 1 4 7 10 A is A(i,j) matrisinin istenilen I ve j elemaninin bulunmasi >> A=[3-2 7 8; 4 3 2 1; 10 15-2 9] A = 3-2 7 8 4 3 2 1 10 15-2 9 >> A(3,2) 15 3. satirin 2. ve 4. sutun degerleri >> A(3,[2 4]) 15 9 3. kolonun tum degerleri >> A(3,:) 10 15-2 9 >> A(:,3) 7 2-2 A matrsinin 1, 2 ve 4. kolon degerleri >> A(:,[1 2 4]) 3-2 8 4 3 1 10 15 9 Ayni satir sayisina sahip iki matris asagidaki örnekte oldugu birlestirilebilir. >> A=[1 2 3; 4 5 6] A = 1 2 3 4 5 6 >> B=[7 8; 9 10] B = 7 8 9 10 >> [A B] 1 2 3 7 8 4 5 6 9 10 >> C=[7 8 9] C =

7 8 9 Eger satirlar birlestirilmek istenirse; >> [A;C] 1 2 3 4 5 6 7 8 9 Bir A matrisinden herhangi bir satirin kaldirilmasi istenirse >> A=[ 4 7 2 1 3; 8 7 12-2 5; 11 1 14-2 0] A = 4 7 2 1 3 8 7 12-2 5 11 1 14-2 0 >> A(2,:)=[] seklinde yazilir. A = 4 7 2 1 3 11 1 14-2 0 >> A(:,[1 3])=[] 1. ve 3. sütünlar kaldirildiktan sonraki durum A = 7 1 3 1-2 0 Nokta çarpim Matlab dilinde dot (nokta islemler) islemler çarpma *. Bölme./ veya.\ Üstalma.^ olarak kullanilir. Yani nokta isaretli islemler matrislerde eleman (elemanter) islem yapilacagini gösterir. N bier sakaler olmak üzere a.^n, a matrisindeki her bir elemanin n. katresinin alinacagini ifade eder( Inan, A., 2004). Vektörlerin her elemani çarpilir ve kümülatif toplam elde edilir. >> v=[7; 23; 15; 2], w=[5; -2; 1; -8] v = 7 23 15 2 w = 5-2 1-8 >> dot(v,w) -12 Nokta çarpim simetriktir ayni sonuç alinir. >> dot(w,v) -12 Bir vektörün boyu v = {v v}. ise >> vlength=sqrt(dot(v,v)) vlength =

28.4077 Yada norm komutu ile de elde edilir. >> norm(v) 28.4077 Iki vector arasindaki açi θ ise v w= v w cosθ. θ = arccos((v w)/ v w ). çözümü >> theta=acos(dot(v,w)/(norm(v)*norm(w))) theta = 1.6144 >> theta*180/pi 92.4971 Yaklasik açi 92.5. Temel matris islemleri >> A=[5-1 2; 3 4 7] A = 5-1 2 3 4 7 >> B=[2 2 1; 5 0 3] B = 2 2 1 5 0 3 >> A+B 7 1 3 8 4 10 Ayni boyutttaki matrislerin toplami gerçeklestirilebilir. >> C=[3 1; 6 4] C = 3 1 6 4 >> A+C??? Error using ==> + Matrix dimensions must agree. Seklinde hatali sonuç alinir. Bir matrisin elemanlarinin scalar bir sayi ile çarpilmasi. A=[1 2 ; 3 4] A = 1 2 3 4

>> 3*A 3 6 9 12 * çarpim operatörü olup 2A seklinde yazilamaz. >> 2A??? 2 Missing operator, comma, or semi-colon. Ayni sekilde vektörlerin scalar çarpimlari ve ara islemleri yapilabilir. B=[2 ;3] B = 2 3 >> C=[4 ;3] C = 4 3 >> D=3*A-2*C D = -2 3 Iki matrisin A*B çarpimi A m n ve B n k oldugunda geçerlidir. Sonuç A*B matrisi m k boyutundadir. >> A=[3 1 7 2; 6-3 4 2; 9 4-1 -2] A = 3 1 7 2 6-3 4 2 9 4-1 -2 >> B=[1 2; 3 4; 5 6; 7 8] B = 1 2 3 4 5 6 7 8 >> A*B 55 68 31 40 2 12 Matlab da islem satiri devam edemeyecek durumda ise kullanilir A=[2;2;2... ;33] A = 2 2

2 33 Matriks rank hesaplama için Bsr matrisin tüm karesel alt matrislerinden, determinanti sifirdan farkli olan en yüksek boyutlusunun boyutuna A matrisinin ranki denir. >> A=[1 2 1 4; 2 3 1 3; 3 2 1 2; 4 3 1 1] A = 1 2 1 4 2 3 1 3 3 2 1 2 4 3 1 1 >> rank(a) 3 Ters Islemler Bir A matrisinin tersi A^(-1) yada inv(a) ile gösterilir. Inv ters islem yapma operatörüdür. >> A=[2 1 1; 1 2 2; 2 1 2] A = 2 1 1 1 2 2 2 1 2 >> Ainv=inv(A) Ainv = 2/3-1/3 0 2/3 2/3-1 -1 0 1 Sonucun saglanmasi için ters ve kendisi birim matrisi vermelidir. >> A*Ainv 1 0 0 0 1 0 0 0 1 >> Ainv*A 1 0 0 0 1 0 0 0 1 Eger matris tekil ise tersi alinamaz. Hatali sonuç alinir. >> B=[1 2 3;4 5 6;7 8 9] B = 1 2 3 4 5 6 7 8 9 >> inv(b) Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.055969e-018. 1.0e+016 *

-0.4504 0.9007-0.4504 0.9007-1.8014 0.9007-0.4504 0.9007-0.4504 B matrisinin rank degeri >> rank(b) 2 Rank degeri 3 den küçük oldugundan B matrisi tekildir, Matrisin determinantinin sifirdan farkli deger almasi gerek. >> det(b) 0 MAtlab tarafindan tekil olarak gorulen tersi alinabilen matrisler vardir. >> format long >> C=[1.00000000000001 1; 1.99999999999999] C = 1.00000000000001 1.00000000000000 1.00000000000000 0.99999999999999 >> inv(c) Warning: Matrix is singular to working precision. Inf Inf Inf Inf >> rank(c) 1 >> det(c) 0 >> rref(c) 1.00000000000000 0.99999999999999 0 0 Matlab matrisi rank=1 ve determinanti 0 oldugundan tekil kabul eder..ancak eger ε = 0.00000000000001, then det(c)=(1+ε)(1 ε) 1= ε 2 0, boylece tersi alinabilir. Format komuru ile 1+ε ve 1 ε olarak birbirinden farkli 15 digitli bir deger elde edilir. Bu durumda tanim ; (1+ε)(1 ε)=1 ε 2 = 0.9999999999999999999999999999 Bu klasik anlamda bir ters çözüm isleminin tekil matrisler icin çözüm asamasidir. Ax=b olarak verilen bir ifadenin çözümünü ele alalalim, Burada A is terselenebilir olsun, basit olarak x=a 1 b olacaktir. >> A=[11 7-6 8; 3-1 12 15; 1 1 1 7; -4 6 1 8] A = 11 7-6 8

3-1 12 15 1 1 1 7-4 6 1 8 >> b=[10; -23; -13; 4] b = 10-23 -13 4 >> format rat >> x=inv(a)*b x = 1 5 2-3 Islemi saglamak için >> A*x 10-23 -13 4 Özvektörler ve Özdegerler Bir kare matrisin özdegerlerini bulmak için eig komutu kullanilir. >> A=[ 3 1 1; 1 3 1; 1 1 3] A = 3 1 1 1 3 1 1 1 3 >> eig(a) 2.0000 2.0000 5.0000 >> [Q,D]=eig(A) A çarprazlanabilir ise Q = -0.8164-0.0137 0.5774 0.3963 0.7139 0.5774 0.4201-0.7001 0.5774 D = 2.0000 0 0 0 2.0000 0 0 0 5.0000 Q matrisinin kolonlari A matrisinin öz-temellerini olusturur. v Q -1 AQ=D. Saglamasi >> inv(q)*a*q 2.0000 0 0.0000 0.0000 2.0000 0.0000-0.0000 0.0000 5.0000 Q gerçekçe özvektörlerin dik normalarini olusturur. >> Q'*Q

1.0000 0.0000-0.0000 0.0000 1.0000-0.0000-0.0000-0.0000 1.0000 Bir matrisin kösegen degerleri için diag(a) kullanilir. >> a=[2 4 4;2 3 1;3-2 5] a = 2 4 4 2 3 1 3-2 5 >> diag(a) 2 3 5 Hazir matris fonksiyonlari Rand, ones, zeros, eye: rand veya randn fonksyionlarinin kullanilmasi; bazi durumlarda yalnizca bir özelligi veya bir seyi denemek ve durumunu gözlemek için rastgele sayilardan olusmus bir matris olusturmak için kullanilir. Rand düzenli olarak dagilmis randn ise normal olarak dagilmis rastgele sayi üretir (Inan, A., 2004). Örnegin; a=-5 ile b=5 arasinda yani -5 ile +5 arasinda rastgele sayili 2x4 (iki satur 4 sütünlu) bir matris üretmek istenirse >>a=-5+10*rand(2,4) a = 4.3547-0.8973-4.4211 3.1317 4.1690 3.9365-1.4713-4.9014 >> c=rand(4) 0 ile 1 arasinda 4x4 matris olusturur. Özellikle iki boyutlu verilere rastgele gürültü eklenmesinde temel kullanima uygundur. c = 0.1389 0.2722 0.4451 0.8462 0.2028 0.1988 0.9318 0.5252 0.1987 0.0153 0.4660 0.2026 0.6038 0.7468 0.4186 0.6721

Ones fonksyionu elemanlari 1 olan bir matris zeros fonksiyonu elemanlari 0 olan matris olusturur. >> s=ones(3) s = 1 1 1 1 1 1 1 1 1 >> d=zeros(4) d = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eye fonksiyonu ile birim matris olusturulur. >> d=zeros(2,4) d = 0 0 0 0 0 0 0 0 >> e=ones(2,5) e = 1 1 1 1 1 1 1 1 1 1 >> f=eye(3,3) f = 1 0 0 0 1 0 0 0 1 Özel Matrisler Pascal(i) fonksyionu i. siraya kadar passcal üçgeninin elemanlarindan olusan ixi boyutunda bir matris olusturulur. >> pascal(4)

1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 magic(j) fonksiyonu jxj uzunlugunda 1 den j ye kadar sayilardan olusan (j=2 hariç) esit satir, sütün ve kösegen toplamina sahip bir kare matris olusturur. >> magic(3) 8 1 6 3 5 7 4 9 2 8 + 1 + 6 = 15 + 3 + 5 + 7 = 15 + 4 + 9 + 2 = 15 ---------------- 15 15 15 [x,y]=meshgrid(x,y) fonksiyonu x ve y vektörlerini X ve Y matrislerine dönüstürerek aslinda 3 boyutlu grafik çizimleri için bir veri ortami hazirlar. >> [X,Y]=meshgrid(-2:1:2,-2:1:2) X = -2-1 0 1 2-2 -1 0 1 2-2 -1 0 1 2-2 -1 0 1 2-2 -1 0 1 2

Y = -2-2 -2-2 -2-1 -1-1 -1-1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 Burada -2 ile 2 arasinda artimi 1 olan X ve Y matrisleri olusturulmustur. Grafik Çizimleri plot fonksiyonu belirli bir düzlem verisinin grafik gösterimi için kullanilir. Bir x ve y düzleminde verilen bir verinin gösterimi plot(x,y). Örnegin x ve y elemanlari (0,0), (1,1), (4,2) ve (5, 1) olan düzlem >> x=[0 1 4 5 0]; >> y=[0 1 2-1 0]; >> plot(x,y) Bir baska örnekte y=x 3 fonksiyonu [ 2,2] olarak tanimlaniyorsa bunun matlab da çizimini yapalim. Araligini kendimizin belirleyecegi 2 den 2 x degerleri >> x=-2:.05:2; % 0.05 artim x vektörü 1x81 matrisini olusturur. Bu size(x) yazilarakta belirlenebilir. >> y=x.^3; y=x^3 yazildiginda x kare matris olmadiginda hata verecektir. >> plot(x,y) Çizilen grafige baslik yazilmasi >> title('f(x)=x^3 fonksiyonu')

r(t)=(2tcost/(t+1),2tsint/(t+1)) kapali egrisini t [0,4π] için çizimde t vektörü aiagidaki gibi tanimlansin. >> t=0:.1:4*pi; >> x=2*t.*cos(t)./(t+1); >> y=2*t.*sin(t)./(t+1); >> plot(x,y); >> title('(2t cos t/(t+1),2t sin t/(t+1))') Matlab grafik çizimlerini otomatik ayarlar. Uygun ölçekte görmek için axis equal >> axis equal Ayni sekil üzerinde birden fazla egriyi göstermek için hold on. Ayni sekil üzerinde birden fazla egriyi göstermek için hold on kullanilir. Örnek: x 2 +y 2 =4 ve (x 1) 2 +(y 1) 2 =1 gibi iki daire ayni sekilde gösterilmek istenirse. r 1 (t)=(2cost,2sint) ve r 2 (t)=(1+cost,1+sint) t [0,2π] olarak tanimlanirsa. >> t=0:pi/20:2*pi; >> plot(2*cos(t),2*sin(t))

>> hold on >> plot(1+cos(t),1+sin(t)) >> axis equal >> title('x^2+y^2=4 and (x-1)^2+(y-1)^2=1 daireleri') Yüzeylerin Çizimleri f(x,y) fonksiyonun dikdörtgensel ortamda gösterimi R=[a,b] [c,d]={(x,y) a x b and c y d}, Ilk olarak meshgrid fonksiyonunu kullanarak ortami gridleyerek tanimlayabiliriz Dikdörtgen [0,4] [0,3] parçalara bölünürse ve genisligi 1 yüksekligi 0.5 olan. Gird araligini tanimlayan x ve y vektörlerinin tanimlanmasi gerek. >> x=0:4 x = 0 1 2 3 4 >> y=0:.5:3 y = 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 meshgrid grid noktalarini tanimlar. >> [X,Y]=meshgrid(x,y) X = 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4

Y = 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 0 0 0 0 0.5000 0.5000 0.5000 0.5000 0.5000 1.0000 1.0000 1.0000 1.0000 1.0000 1.5000 1.5000 1.5000 1.5000 1.5000 2.0000 2.0000 2.0000 2.0000 2.0000 2.5000 2.5000 2.5000 2.5000 2.5000 3.0000 3.0000 3.0000 3.0000 3.0000 öylece 35 noktadan olusan 7 5 matris elde edilir. X matrisi x koordinatlarini y matrisi y kooridnatlarini içerir. f(x,y)=3x 2y fonksiyonunu çizelim. z koordinatlarini olusturan z >> Z=3*X-2*Y olarak tanimlansin Z = 0 3 6 9 12-1 2 5 8 11-2 1 4 7 10-3 0 3 6 9-4 -1 2 5 8-5 -2 1 4 7-6 -3 0 3 6 Sonuç olarak surf fonksyionu tanimli yüzeyin çizimi için kullanilir >> surf(x,y,z) >> title('f(x,y)=3x-2y yüzeyi') x ve y tanimlamalari dogrudan da yapilabilir. >> [X,Y]=meshgrid(0:4,0:.5:3) Örnek: f(x,y)=x 2 y 2y fonksiyonunu [ 2,2] [ 1,1] tanimli aralikta gösterelim. Kenar uzunlugu 0.1 olan karelerden olusan bir grid tanimlanmasi gerek. >> [X,Y]=meshgrid(-2:.1:2,-1:.1:1); z yüzeyinin tanimi >> Z=(X.^2).*Y-2*Y;

Yüzeyin çizilmesi. >> surf(x,y,z) >> title('f(x,y)=x^2y-2y Yüzeyi') Yariçapi ρ olan bir küre R 3 araligi, ile merkezlenmis olsun. Ve genellestirilmis ifadesi ve tanim r(φ,θ)=(ρsinφcosθ ρsinφsinθ,ρcosφ) 0 φ π,0 θ 2π. Bu birim küreyi çizdirelim. Ilk olarak φ ve θ mesgrid fonksyionunu parametreleri olacaktir. >> phi=0:pi/20:pi; >> theta=0:pi/10:2*pi; >> [Phi,Theta]=meshgrid(phi,theta); ρ = 1 için. >> X=sin(Phi).*cos(Theta); >> Y=sin(Phi).*sin(Theta); >> Z=cos(Phi); Finally we plot the surface, and scale the axes so that it looks like a sphere! >> surf(x,y,z) >> axis equal >> title('birim küre {\bf R}^3') %{\bf R} yazim sekli R 3 için formattir. Yada hazir fonksiyon halinde sphere(n) n tam sayisi ile ayni küre elde edilir.

Konturlama ( Egri Seviye Degerleri ) f(x,y)=x 2 y 2. seviye egrilerinin gösterilmesi için 'contour komutu kullanilmaktadir. >> [X,Y]=meshgrid(-1:.1:1); >> Z=X.^2-Y.^2; >> contour(x,y,z) >> title(' f(x,y)=x^2-y^2 fonksiyonunun seviye egrileri') Konturlarin degerlerini elde etmek için >> [C,h]=contour(X,Y,Z); >> clabel(c,h) >> title('f(x,y)=x^2-y^2 kontur degerleri ile.')

Grafik ve Konturlarin beraber çizdirilmesi için surfc komutu kullanilir >> surfc(x,y,z) >> title('f(x,y)=x^2-y^2. fonksiyonu ve kontur cizgileri') Vektör Alanlari Bir vektör alan R n ile tanimlanan bir fonksiyon olsun. F:R n R n, ve grafik olarak her x degerinin F(x) olarak yani x in R n tanimlanir. MATLAB, quiver(x,y,u,v) ile (U,V)vektörünü (X,Y)noktalarinda. Örnek:Vektör alani F(x,y)=( y,x) >> [X,Y]=meshgrid(-1:.2:1); >> quiver(x,y,-y,x) >> axis equal >> axis([-1 1-1 1])

>> quiver(x,y,-y,x,0) quiver(x,y,u,v,s) genel ifadesinde s ölçeklendirme olarak kullanilir. Yukarida sagdaki sekilde s=0 olarak alinmistir. Kullanilmassa otomatik ölçeklendirme yapilir. Sembolik Degiskenler ve Ifadeleri MATLAB simgesel islemlerde Symbolic Math Toolkit i kullanir. Kullanilacak fonksiyonlar >> help symbolic ile görülebilir. Simgesel degisken ve islemlere giris yapmak için >>symintro yazmak yeterlidir. Sayisal islemlerde ve karakter indislerinde bildirime gerek yok iken, simgesel islemlerde kullanilacak degiskenlerin önceden bildirilmesi gerekir. Örnegin a gibi bir sembolik degisken >> sym a a veya >> sym('a') a ile bildirilir. Bir fonksionda geçen degiskenler x,y ve z olsun >> syms x y z Anlami x=sym('x'), y=sym('y') ve z=sym('z'). Sembolik bir ifade yazalim. >> S=x^2-y^2 S = x^2-y^2

Bu ifadenin faktörü. >> factor(s) (x-y)*(x+y) S nin küpü ve açilimi. >> S^3 (x^2-y^2)^3 >> expand(ans) x^6-3*x^4*y^2+3*x^2*y^4-y^6 Bir fonksiyonu sadelestirmek icin simplify fonksyionu kullanilir. >> S=(x^3-4*x)/(x^2+2*x) S = (x^3-4*x)/(x^2+2*x) >> simplify(s) x-2 Sembolik ifadeler matris yada vektör normunda olabilir. >> syms a b >> A=[cos(a) -sin(a); sin(a) cos(a)] A = [ cos(a), -sin(a)] [ sin(a), cos(a)] >> B=[cos(b) -sin(b); sin(b) cos(b)] B = [ cos(b), -sin(b)] [ sin(b), cos(b)] >> C=A*B C = [ cos(a)*cos(b)-sin(a)*sin(b), -cos(a)*sin(b)-sin(a)*cos(b)] [ sin(a)*cos(b)+cos(a)*sin(b), cos(a)*cos(b)-sin(a)*sin(b)] >> simplify(c) [ cos(a)*cos(b)-sin(a)*sin(b), -cos(a)*sin(b)-sin(a)*cos(b)] [ sin(a)*cos(b)+cos(a)*sin(b), cos(a)*cos(b)-sin(a)*sin(b)] simplify fonksiyonu görüldügü gibi herhangi bir degisiklik yapmadi. Bu durumda baska bir seçebek olan simple fonksyionu kullanilir. Esitligin en kisa ifadesi. >> D=simple(C) D = [ cos(a+b), -sin(a+b)] [ sin(a+b), cos(a+b)] Örnek: f(x,y)=(4x 2 1)e x2 y2 fonksiyonu için f(1,2) sonucunu bulalim. >> syms x y >> f=(4*x^2-1)*exp(-x^2-y^2) f = (4*x^2-1)*exp(-x^2-y^2)

>> f(1,2)??? Index exceeds matrix dimensions. f bir fonksiyon olmadigindan bir degisken oldugundan MATLAB f(1,2) bir satir ve 2 kolon olarak giris yapacaktir. Ifadenin sonucunu bulmak için degisken degistirme yapilmalidir. Bunun için subs fonksiyonu kullanilir. >> subs(f,{x,y},{1,2}) 0.0202 Sadece y ye bagli bir ifade elde edilecekse, >> subs(f,x,3) 35*exp(-9-y^2) Fonksiyonlari tanimlamak için bir baska yol da inline komutunu kullanmaktir. Örnek: g(x,y)=x 2 3xy+2 >> g=inline('x^2-3*x*y+2') g = Inline function: g(x,y) = x^2-3*x*y+2 olarak tanimlanabilir. g(2,3) için fonksiyonu degerlendirmek için. g(2,3) -12 inline fonksyonlarin dezavantaji sembolik olarak degistirilemez. >> g^2??? Error using ==> ^ Function '^' not defined for variables of class 'inline'. Denklem Sistemlerinin Çözümü Matlab in bir diger gelismis özelligi her türlü dogrusal ve dogrusal olmayan denklem takimlarinin çözüm kümesini bulmasidir. Bu amaç için solve komutunu kullanir. >> solve('sin(x)+x=5') 5.6175550052726989176213921571114 Eger esitlik verilmezse, >> solve('a*x^2+b*x+c','x') [ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]

Örnek: x 2 +y 2 =4 ve (x 1) 2 +(y 1) 2 =1 olarak verilen iki fonksiyonun kesisim degerlerini bulmak için. >> S=solve('x^2+y^2=4','(x-1)^2+(y-1)^2=1') S = x: [2x1 sym] y: [2x1 sym] >> [S.x S.y] [ 5/4-1/4*7^(1/2), 5/4+1/4*7^(1/2)] [ 5/4+1/4*7^(1/2), 5/4-1/4*7^(1/2)] Kesisim degerleri ((5 7)/4,(5+ 7)/4) and ((5+ 7)/4,(5 7)/4). Dogrusal Denklem Takimlarinin Çözümü n. dereceden dogrusal denklem takimi a x + a x +... + a x = b a a 11 21 x 1 1 + a x + a n2 x x 1n +... + a +... + a 2n nn n x x n n = b... n1 1 12 22 2 2 2 1 2 = b biçiminde verilir. Bu denklem takiminin matris biçiminde gösterimi [ A ] [ x ] =[ B ] seklinde tanimlanabilir. Burada; n A = a11 a12.. a21 a22........ an1 an2.. a 1n a a 2n.. nn [ b b ] B =.. 1 2 b n katsayilar matrislerini ve X = [ x x ] 1 2... x3 çözümü istenen degiskenler matrisini (vektörünü) gösterir. Bu tür istenen denklem takimlarinin çözümü için, içinde yer alan özel fonksiyonlar yoktur. Bu denklemlerin çözümünde matris islemlerinden yararlanilabilir. AX=B biçiminde verilen denklem takiminin çözümünde A\B biçiminde soldan (bölen bölme isaretinin solunda yer almakta) matris bölme islemi ile yerine getirilir. XA=B biçiminde tanimlanan matris

denklemin çözümünde B/A seklinde sagdan matris bölme islemi kullanilir. Sagdan ve soldan matris bölme isleminde sayisal Gauss eliminasyon teknigi kullanilir. Denklem Takimlarinin Ters Matris Islemi Yolu ile Çözümü AX=B biçiminde verilen ve B nin satir matrisi olarak tanimlandigi matris denkleminin her iki tarafini A-1 ile çarparsak A-1 AX=A-1B elde edilir. Burada A-1 A, I olarak tanimlanan birim matrise denktir. Buna göre IX=A-1B veya X=A-1B elde edilir. MATLAB ortaminda bu çözüm; X=inv(A)*B komutu ile elde edilebilir. Diger taraftan B nin sütun matrisi olarak tanimlandigi, XA=B biçiminde ifade edilen denklem takiminin çözümü için, her iki taraf A-1 ile çarpilir ve gerekli düzenlemeler yapilirsa X=BA-1 elde edilir.matlab ortaminda X=B * inv(a) bildirimi ile gerekli çözüm elde edilmis olur. Örnek : Asagida verilen denklem takiminin çözümünü elde ediniz. x1 + 4x2 x3 + x4 2x1 + 7x2 + x3 2x4 x1 + 4x2 x3 + 2x4 3x1 10x2 2x3 + 5x 4 = 2 = 16 = 1 = 15 Çözüm : Çözüm ilk önce soldan ve sagdan matris bölme islemlerine göre ele alinacak ve daha sonra da ters matris islemine göre çözülecektir. AX=B biçiminde matris denklemi verildiginde çözüm soldan bölme islemine göre asagidaki bildirimlerle yerine getirilebilir. a=[ 1 4 1 1; 2 7 1-2; 1 4-1 2; 3-10 -2 5 ] b=[ 2 16 1-15 ] >> x=a\b;

Denklem takimlari XA=B biçiminde matris denklemi ile tanimlandiginda çözüm sagdan bölme islemi ile asagidaki sekilde saglanir. Burada A ve B matrisleri bir önceki orijinal halinin traspozesi olmaktadir. a=[ 1 2 1 3; 4 7 4-10; -1 1-1 -2; 3-10 -2 5] b=[2 16 1-15] x=b/a Ters matris islemi ile çözümde; MATRIS denklemi AX=B biçiminde verildiginde, A ve B matrisi a=[ 1 4 1 1; 2 7 1-2; 1 4-1 2; 3-10 -2 5 ]; b=[ 2 16 1-15 ] biçiminde tanimlandiktan sonra x=inv(a)*b; bildirimi ile çözüm elde edilir: Benzer sekilde Matris denklemi XA=B biçiminde verildiginde A ve B matrisleri, a=[ 1 2 1 3; 4 7 4-10; -1 1-1 -2; 3-10 -2 5] b=[2 16 1-15] x=b*inv(a) bildirimi ile çözüm elde edilir. Yukarida verilen bildirimler yolu ile x çözümü için x= 2.0000 1.0000 3.0000-1.0000 seklinde elde edilmis olur. Burada x 1 = 2, x 2 =1, x 3 =3 x 4 =-1 dir. Dogrusal Olmayan Denklemlerin Çözümü Dogrusal olmayan denklemlerin dogrusal denklemlerde oldugu gibi tek bir standart biçimi yoktur. Gerek MATLAB içinde gerekse Otimatization Toolbox içinde, gerek tek degiskenli ve gerekse çok degiskenli denklemlerin çözümünde kullanilan çesitli çözüm fonksiyonlari vardir. Dogrusal olmayan denklemlerin çözümü, dogrusal denklem çözümü kadar basit olmayip bunlarin çözümü için ayrica bir fonksiyon dosyasi hazirlanmasi gerekir. Burada, MATLAB içinde yer alan fzero fonksiyon fonksiyonu ile Otimatization Toolbox içinde yer alan fsolve fonksiyon fonksiyonu ayrintili bir biçimde ele alinacaktir. Ayrica diger dogrusal olmayan fonksiyon fonksiyonlarinin kisaca tanimlari gözden geçirilecektir. fzero: Fonksiyon fonksiyonu; tek degiskenli bir fonksiyonun sifirini hesaplar. Genel kullanim biçimleri asagida oldugu gibidir. z=fzero( function,x0); z=fzero( function,x0,tol);

z=fzero( function,x0,tol, trace); fun(x) biçimindeki bir fonksiyonun, X0 ile tanimlanan degere yakin olan tek bir sifirini hesaplar. Burada, fonksiyonu sifir yapan, yani x eksenini kesen bir sifir degeri hesaplanir. Ikinci bildirimde yer alan tol isimli, seçimli argüman bagil hata toleransini belirler. Üçüncü bildirimde yer alan seçimli trace argümani her bir hesap yineleme islemindeki bilgileri görüntüler. Fonksiyon fonksiyonu olan fzero fonksiyonunu kullanmak için ayrica function ile baslayan bir fonksiyon dosyasi hazirlanmasi gerekir. Örnek: f(x)=x3-2x-5 fonksiyonunun bir sifirini bulunuz. Çözüm: Önce bir fx.m adi ile fonksiyon dosyasi hazirlanir. Function y=fx(x) y=x^3-2*x-5 Burada dosya adi fx ile fonksiyon adi fx ayni olmasi gerektigine dikkat edilmelidir. Daha sonra MATLAB ortaminda z=fzero( fx,2) bildirimi ile z=2.0946 sonucu elde edilir. Burada X 0 =2 olarak tahmini bir baslangiç deger verilmistir. f (x) fonksiyonu gerçekten bir polinom olduguna göre asagida verilen roots komutu ile p=roots([1 0-2 -5]) Ayni fonksiyonu sifir yapan gerçek deger ile birlikte karmasik eslenik kökleri de; p= 2.0946-1.0473 + 1.1359i -1.0473-1.1359i olarak elde edilmis olur Örnek : e 2x x 2 biçiminde verilen dogrusal olmayan fonksiyonun bir adet sifirini bulunuz. Çözüm:Burada f(x) fonksiyonu; f(x)=e 2x x 2 biçimine sokulabildigine göre fonksiyon dosyasi; function y=fex(x) y=exp(2*x)-x-2; biçiminde hazirlanir. Daha sonra MATLAB ortaminda;

z=fzero( fex,1) z0.4475 elde edilir. Yukaridaki örneklerden de görüldügü gibi fzero fonksiyonu herhangi bir fonksiyonun tahmini bir sifirinin hesaplanmasinda ve/veya dogrusal olmayan denklemlerin çözümünde daha kullanislidir. Dogrusal denklemlerin ayni anda tüm köklerini çözmek gerektiginde roots fonksiyonunu kullanmak daha pratik olacaktir. Dogrusal Olmayan Denklem Takimlarinin Çözümü Dogrusal olmayan denklem takimlarinin çözümünde, Optimization Toolbox içinde yer alan fsolve fonksiyon fonksiyonu kullanilir. fsolve fonksiyonu dogrusal olmayan denklem takiminin çözümünü saglar. fsolve fonksiyonunun belli basli kullanim biçimleri asagida oldugu gibidir. x=fsolve( fun,x0) x=fsolve( fun,x0,options) x=fsolve( fun,x0,options, grad ) x=fsolve( fun,x0,options, grad,p1,p2,...) [x,options]=fsolve( fun,x0,...) fsolve dogrusal olmayan denklemlerin köklerini hesaplar. Çikis argümani olan X degerleri; F(x)=0 seklinde hesaplanir. Burada F(x) ve X skalar, vektör veya matrislerden ibaret olabilir. x=fsolve( dun,x0) bildirimi, fun.m isimli M-dosyasinda tanimlanan denklemleri, X0 tahmini baslangiç degerlerinden baslayarak çözer ve sonucu X degiskenine atar. Burada X0 boyutu x degisken sayisi kadar olmalidir. Ikinci bildirimde yer alan seçimli argüman options seçimli parametreler vektörünü tanimlar. options için pek çok seçenek mevcuttur. Bunlar ile ilgili bilgiler help folve yolu ile saglanabilir. Üçüncü bildirimde yer alan grad, X noktasinda fonksiyonlarin kismi türevlerini (Jacobianlarini) df/dx, df=grad(x) elde etmek için kullanilir. df in i inci sütunu f deki fonksiyonun i inci kismi türevine karsilik gelir. Örnek: Bir metal kesme islemine ait denklem takimi C=1.2+11.62323v-1f-1 + 5.7449x10-8v3f0.16d1.14 0.0499v0.95 f0.78 d0.75=20 biçiminde tanimlanmaktadir. Burada c 1.27 i,le 1.28 arasinda bir degerdir. Tamamen nonlinear olan bu denklemlerin çözümü için gerekli fonksiyon dosyasi function f=nlnr(x) &x(1)=v, x(2)=f, x(3)=d, degiskenlerine.karsilik gelmektedir. F(1)=-0.08+11.6323/(x(1)*x(2))+5.744e-8...

(x(1).^3)* (x(2).^0.16) * (x(3).^1.14); f(2)=12.7 0.015*(x(1).^(-1.52))*(x(2).^1.004)... *( x(3). ^0.25); f(3)=20-0.0449*(x(1).^0.95)*(x(2).^0.78) *(x(3).^0.75); hazirlanabilir. Daha sonra MATLAB ortaminda fsolve ile asagidaki bildirimler yolu ile çözülür. Burada en önemli husus baslangiç degerinin seçimidir. Uygun bir çözüm elde edilene kadar baslangiç degerlerinin seçimi degistirilebilir. Bildirimi ile x=fsolve( nlnr,[0.5 112.5 20]); X= 0.6686 217.4627 18.2436 Sonucu elde edilir. Bu sonuç f fonksiyonlari ile test edildiginde f= 1.0e-008 *(-0.0573-0.5991 0.5776) sifira çok yakin degerler elde edildigi görülür. Buna karsilik X0 baslangiç degerleri asagida oldugu gibi seçilecek olursa >>x=fsolve( nlnr,[1 2 100]); Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND= 6.79344e-017 Maximum number of iterations has been exceeded Biçiminde bir uyari alinir. Buda çözümün yeterli tamlikta gerçeklenmedigini gösterir. Gerçekten de f fonksiyon degerleri asagidaki biçimde yazilarak test edildiginde >> F(1)=-0.08+11.6323/(x(1)*x(2))+5.744e-8... (x(1).^3)* (x(2).^0.16) * (x(3).^1.14); >> f(2)=12.7 0.015*(x(1).^(-1.52))*(x(2).^1.004)... *( x(3). ^0.25); >> f(3)=20-0.0449*(x(1).^0.95)*(x(2).^0.78) *(x(3).^0.75); f= 0.1715 0.2316 0.5576 sifirdan oldukça farkli degerler elde edildigi görülür. Bu durumda baslangiç degerlerini degistirmek sureti ile uygun çözümler arastirilmalidir. Optimization Toolbox içinde, dogrusal olmayan denklemlerin, degisik sekilde çözümünde kullanilan diger pek çok fonksiyon vardir. Bunlarin tanimlari asagida kullanilan diger pek çok fonksiyon vardir. Bunlarin tanimlari asagida oldugu gibidir. Genel kullanim biçimleri MATLAB ortaminda help komutu ile elde edilebilir.

attgoal constr fmin fminu, fmins Fsolve leastssq minimax seminf lp nnls qp : Çoklu-amaçli hedefe ulasma problemi çözümü : Kisitli minimizasyon çözümü : Skalar kisitsiz minimizasyon çözümü. : Kisitsiz minimizasyon çözümü. : Dogrusal olmayan denklem çözümü. : Dogrusal olmayan en küçük kareler çözümü. : Minimum-maksimum çözümü. : Yari mutlak minimizasyon : Dogrusal programlama : Negatif olmayan en küçük kareler çözümü. : Egrisel programlama. Integraller Simgesel integral alma fonksiyonu int genel kullanim sekli int(s) int(s,v) int(s,a,b) int(s,v,a,b) : findsym ile belirlenen simgesel degiskene göre S nin belirsiz integralini alir : S nin v ye göre integralini alir. : S nin varsayilan degiskene göre a dan b ye kadar belirli integralini alir. : S nin tanimli a dan b ye kadar belirli integralini alir. Örnek: 5 ( 2x 4x + 20) dx integrallinin hesaplanmasi >>int(-2*x^5-4*x+20) -1/3*x^6-2*x^2+20*x >> pretty(int(-2*x^5-4*x+20)) Örnek: 1 6 2-1/3 x - 2 x + 20 x ( at ln( t + 1) + ut) dt integralinin hesaplanmasi 0 >> syms x a u t; >> int_s=a*t*log(t+1)+u*t; >> r=int(int_s,t) r = 1/2*a*log(t+1)*t^2-1/2*a*log(t+1)-1/4*a*t^2+1/2*a*t+3/4*a+1/2*u*t^2 >> ss=int(int_s,t,0,1) ss = 1/2*u+1/4*a Eger integral sinirlari 8, +8 ise -inf ve +inf olarak sinirlar verilir.

Türevler Türev ifadesi diff komutu ile verilir. Örnegin f f(x)=sin(e x ) ifadesinin x e bagli türevi >> syms x >> f=sin(exp(x)) f = sin(exp(x)) >> diff(f) cos(exp(x))*exp(x) n th türev diff(f,n) olarak verilir. >> diff(f,2) -sin(exp(x))*exp(x)^2+cos(exp(x))*exp(x) Kismi türevlerin bulunmasina örnek f(x,y)=x 3 y 4 +ysinx. >> syms x y >> f=x^3*y^4+y*sin(x) f = x^3*y^4+y*sin(x) Ilk olarak f/ x hesaplanir. >> diff(f,x) 3*x^2*y^4+y*cos(x) Daha sonra f/ y hesaplanir. >> diff(f,y) 4*x^3*y^3+sin(x) 3 f/ x 3 bulmak istersek >> diff(f,x,3) 6*y^4-y*cos(x) Bir fomksiyonun bilinmeyen parametrelerine göre türevinin alinmasi için Jacobian matrisin olusturulmasi gerekir. Bunun için jacobian komutu kullanilir. Örnek: f(x,y)=(sin(xy),x 2 +y 2,3x 2y). >> f=[sin(x*y); x^2+y^2; 3*x-2*y] f = [ sin(y*x)] [ x^2+y^2] [ 3*x-2*y] >> Jf=jacobian(f) Jf = [ cos(y*x)*y, cos(y*x)*x] [ 2*x, 2*y] [ 3, -2]

Dogrusal bir dönüsüm durumunda Jacobian oldukça basittir. >> A=[11-3 14 7;5 7 9 2;8 12-6 3] A = 11-3 14 7 5 7 9 2 8 12-6 3 >> syms x1 x2 x3 x4 >> x=[x1;x2;x3;x4] x = [ x1] [ x2] [ x3] [ x4] >> T=A*x T = [ 11*x1-3*x2+14*x3+7*x4] [ 5*x1+7*x2+9*x3+2*x4] [ 8*x1+12*x2-6*x3+3*x4] T nin Jacobian i >> JT=jacobian(T) JT = [ 11, -3, 14, 7] [ 5, 7, 9, 2] [ 8, 12, -6, 3] The Jacobian of T is A matrisinivermektedir. Adi Diferansiyel Denklemlerin Çözümü dsolve komutu kullanilmaktadir. Örnek: y/ t=-ay diferansiyel denkleminin çözümü >> y=dsolve('dy=-a*y') y= C1*exp(-a*t) Uygulamada varsayilan degisken t dir. Ancak problem y=-ay seklinde verilseydi bu durumda degiskenin ne oldugu belirtilmemistir. y(0)=1 baslangiç kosulu verildigini düsünelim. >> y=dsolve('dy=-a*y','y(0)=1') y = exp(-a*t) C1 katsayisinin kalktigi görülmektedir. Örnek: 2 d y dy + 3 + y = 0 diferansiyel denklemin çözümü 2 dt dt dsolve('d2y+3*dy+y=0') C1*exp(1/2*(-3+5^(1/2))*t)+C2*exp(-1/2*(3+5^(1/2))*t) pretty(ans) 1/2 1/2 C1 exp(1/2 (-3 + 5 ) t) + C2 exp(- 1/2 (3 + 5 ) t)

Pretty komutu ile düzenli basim sekli gelir. Örnek: y(0)=0, y?(0)=1 kosullari altinda y??+4y?+12y=8sin4t ikinci derecden diferansiyel denklemin çözümü r=dsolve('d2y+4*dy+12*y=8*sin(4*t)','y(0)=0','dy(0)=1','t') r = -4/17*sin(2*2^(1/2)*t)*sin(2*(2^(1/2)-2)*t)-3/17*sin(2*2^(1/2)*t)*cos(2*(2^(1/2)- 2)*t)*2^(1/2)-7/34*sin(2*2^(1/2)*t)*sin(2*(2^(1/2)- 2)*t)*2^(1/2)+3/17*cos(2*2^(1/2)*t)*sin(2*(2+2^(1/2))*t)*2^(1/2)+7/34*cos(2*2^(1/2)*t)*co s(2*(2+2^(1/2))*t)*2^(1/2)+3/17*cos(2*2^(1/2)*t)*sin(2*(2^(1/2)-2)*t)*2^(1/2)- 7/34*cos(2*2^(1/2)*t)*cos(2*(2^(1/2)- 2)*t)*2^(1/2)+1/17*sin(2*2^(1/2)*t)*cos(2*(2+2^(1/2))*t)+7/34*sin(2*2^(1/2)*t)*sin(2*(2+2 ^(1/2))*t)*2^(1/2)-4/17*cos(2*2^(1/2)*t)*cos(2*(2+2^(1/2))*t)- 4/17*cos(2*2^(1/2)*t)*cos(2*(2^(1/2)-2)*t)- 3/17*sin(2*2^(1/2)*t)*cos(2*(2+2^(1/2))*t)*2^(1/2)- 1/17*cos(2*2^(1/2)*t)*sin(2*(2+2^(1/2))*t)+1/17*cos(2*2^(1/2)*t)*sin(2*(2^(1/2)-2)*t)- 4/17*sin(2*2^(1/2)*t)*sin(2*(2+2^(1/2))*t)-1/17*sin(2*2^(1/2)*t)*cos(2*(2^(1/2)- 2)*t)+8/17*exp(-2*t)*cos(2*2^(1/2)*t)+41/68*exp(-2*t)*sin(2*2^(1/2)*t)*2^(1/2) >> pretty(simple(r)) 1/2 8/17 exp(-2 t) cos(2 2 t) - 2/17 sin(4 t) - 8/17 cos(4 t) 41 1/2 1/2 + -- exp(-2 t) sin(2 2 t) 2 68 M-Dosyalari M-dosyalari olarak ele aldigimiz dosyalar aslinda matlab ortaminda kullanmis oldugumuz komutlardir ve veri analizini saglayan fonksiyonlardir.bu fonksiyonlar her amaca yeterli olsa da sonuçlara daha hizli ulasabilmek için kendimize özel fonksiyonlar yani yeni M-dosyalari olusturabiliriz.çesitli yollarla bu M-dosyalarini hazirlayabiliriz.istersek bir komutlar dizisi sayesinde sonuca ulasiriz istersek de function kelimesiyle baslayan bir fonksiyonel dosya olustururuz.önemli olan bize istedigimiz sonucu kisa zamanda verebilmesi.simdi de örnek olarak bir M-dosyasi olusturalim: Örnegin kütlesinin ve hizinin degerini girdigimde bana o cismin kinetik enerjisini veren bir M- dosyasi olusturalim.öncelikle komutlari yazacagim sayfaya girmem gerek.m-dosyasi olusturmak için öncelikle file menüsünden new dedigimizde M-file diyecektir.onu seçerek

alanimizi olusturmus oluruz.baska bir yol ise Command Window da edit yazarak olusturmaktir. Asagidaki gibi M-dosyamizi olusturuyoruz: % kütlesi ve hizi verilen bir cismin % kinetik enerjisinin hesabi m=input('lütfen kütle degerini giriniz(kg)= ') v=input('lütfen cismin hiz degerini giriniz(m/s)= ') Ek=m*v^2/2 (verilen degerlere göre kinetik enerji hesaplaniyor) Bu komutlari yazdiktan sonra bunu sakliyoruz.örnegin sayfadaki disket resmine tikladik ve dosya ada olarak kinetik yazdik ve dosyayi saklamis olduk.simdi de islemlerimizin dogrulugunu test edelim.command Window a geçerek kinetik yazdigimizda veya komutlari yazdigimiz sayfadan debug menüsünden Run seçtigimizde bakalim neler oluyor: >> kinetiklütfen kütle degerini giriniz(kg)=10m = 10 Lütfen cismin hiz degerini giriniz(m/s)=50 v = 50 Ek = 12500 %************************************** % Hareketli egri için bir örnek r(t)=(2tcost/(t+1),2tsint/(t+1)) % kivrim.m % hold on for T=0:.1:4*pi t=[t T+.1]; plot(2*t.*cos(t)./(t+1),2*t.*sin(t)./(t+1)) axis equal axis([-2 2-2 2]) axis off pause(.01) end %************************************************* % rastgele sayi üretimi ve sinus üzerine bindirme f1=50 % frekans f2=100 % frekans dt=0.001; max_sure=50; % saniye byt=40; % random sayi buyultme faktoru t = 0:0.001:.255; x = 10*sin(2*pi*f1*t) %+cos(2*pi*f2*t); yy = x + byt*randn(size(t)); subplot(2,1,1) plot((1/dt)*t(1:max_sure),yy(1:max_sure)) xlabel('zaman (milisaniye)') subplot(2,1,2) Y = fft(yy,256);

Pyy = Y.* conj(y) / 256; f = 1000*(0:128)/256; plot(f,pyy(1:129)) xlabel('frekans (Hz)') %************************************************ %************************************************ % K,re seklinde bir cismin gravite anomalisi ve rastgele gürültü eklenmesi clear all; G=6.6579E-8; s=3000000; d=300; % s=input('kütle='); % d=input('derinlik='); byt=0.008; % rastgele sayi faktoru % kure seklindeki cismin gravite anomalisinin ifadesi % anomaliye rastgele gurultu eklenir. for i=(1:40) tm=s*1e6 td=d*1e2 x(i)=(i-21)*1e4 delg(i)=((g*tm*td)*(1/((x(i)^2+td^2)^1.5)))*1e3; gur=byt*randn(size(i)); gdelg(i)=delg(i)+gur; end; plot(x,gdelg) xlabel('uzaklik km') ylabel('mgal') text(5000,0.2,'\leftarrowanomali',... 'FontSize',16) %**************************************************** KAYNAKLAR MATLAB ILE MÜHENDISLIK SISTEMLERININ ANALIZI VE ÇÖZÜMÜ Prof.Dr. Ibrahim YÜKSEL U.Ü.Makine Mühendisligi Bölümü 1996 Matlab ve Programlama Dr. Aslan Inan, Papatya DIFERANSIYEL DENKLEMLER VE UYGULAMALARI Prof. Dr. Mehmet AYDIN Gönül GÜNDÜZ Beno KURYEL Yard. Doç. Dr. Galip OTURANÇ Izmir 1999 HTTP://WWW.MATHWORKS.COM HTTP://EDUCATION.MATHWORKS.COM HTTP://EFE.EGE.EDU.TR/~MATLAB/MATLAB1.DOC