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

Benzer belgeler
BM202 SAYISAL ÇÖZÜMLEME

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

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayar Programlama

DENEY 1: Matlab de Temel Uygulamalar

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

2.3. MATRİSLER Matris Tanımlama

MatLab. Mustafa Coşar

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

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

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

BİLGİSAYAR PROGRAMLAMA MATLAB

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

Uzaktan Algılama Teknolojileri

MATLAB. Grafikler DOÇ. DR. ERSAN KABALCI

1- Temel MATLAB Fonksiyonları ve Programlama

Bilgisayar Programlama MATLAB

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

MATLAB ile ANALİZ (MIA)

Matlab da Dizi ve Matrisler. Mustafa Coşar

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

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

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

Ders 1 : MATLAB Programlama Ortamı

MATLAB de GRAFİK İŞLEMLERİ

Nargin - Nargout. Bir fonksiyonda giriş parametrelerinin kontrolü Nargin = number of argument input

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

MATLAB ve Simulink Kullanımına Giriş

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

MATLAB. Fen ve Mühendislik Uygulamaları ile. Doç. Dr. M. Akif CEVİZ. MATLAB de Dizi Kavramı

MATLAB'A GİRİŞ. Contents

Bilgisayar Programlama MATLAB

PROGRAMINIZI ANĠ SONLANDIRMAK ĠSTEDĠĞĠNĠZ YER BĠR DÖNGÜNÜN ĠÇĠ ĠSE NE OLUR?????????

Bölüm: Matlab e Giriş.

Dr. Fatih AY Tel:

Fen ve Mühendislik Uygulamaları ile MATLAB

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

Bilgisayar Programlama MATLAB

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/Diziler (Karakter Dizileri)

Bilgisayar Programlama MATLAB

Matris İşlemleri Uygulaması

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Bilgisayar Programlama MATLAB

Fen ve Mühendislik Uygulamalarında MATLAB

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

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

GÖRÜNTÜ İŞLEME DERS-2

GÖRÜNTÜ İŞLEME DERS-3

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

Fonksiyonlar (Altprogram)

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Koşul deyimleri: Koşul deyimleri döngülerle birlikte programcılıkta en çok kullanılan deyimlerdir. Matlab de kullanılan koşul deyimleri;

BİLGİSAYAR PROGRAMLAMA DERSİ

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

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

STEM komutu ayrık zamanlı sinyalleri veya fonksiyonları çizmek amacı ile kullanılır. Bu komutun en basit kullanım şekli şöyledir: stem(x,y).

BİLGİSAYAR PROGRAMLAMA DERSİ

Đlişkisel Operatörler

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

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

GÖRÜNTÜ İŞLEME MATLAB DERS-4

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

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

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

Soru 1: 3x5 boyutunda s adlı sıfır matrisi oluşturunuz.

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

FORMÜL ADI (FONKSİYON) FORMÜLÜN YAZILIŞI YAPTIĞI İŞLEMİN AÇIKLAMASI

ELN3052 OTOMATİK KONTROL MATLAB ÖRNEKLERİ - 2 TRANSFER FONKSİYONU, BLOK ŞEMA VE SİSTEM BENZETİMİ UYGULAMALARI:

GNUPLOT ÇİZİM PROGRAMI

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

GÖRÜNTÜ İŞLEME MATLAB DERS-3

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

ELE 371 SİNYALLER VE SİSTEMLER PROJE 1 - RAPOR

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

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

GÖRÜNTÜ İŞLEME DERS-3

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

Sınav tarihi : Süre : 60 dak.

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

MatLab. Mustafa Coşar

Bilgisayar Programlama MATLAB

MATLAB de Programlama & Dosya Yönetimi. EE-346 Hafta 6 Dr. Ayşe DEMİRHAN

Algoritmalar ve Programlama. DERS - 4 Yrd. Doç. Dr. Ahmet SERBES

HSancak Nesne Tabanlı Programlama I Ders Notları

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

ALGORİTMA (ALGORITHM) M.İLKUÇAR -

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

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

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

NEWTON RAPHSON YÖNTEMİ

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

MATLAB ile ANALİZ (MIA)

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

Transkript:

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

Atamalar: a=5 MATLAB ÖRNEKLERĐ a = 5 Çıkan sonucun görünmesi istenmiyorsa atamadan sonra ; konulur. bb=28; Đşlemler: 5+6 11 2*29 58 80/4 20 34-38 -4 4^5 Üs alma

1024 sqrt(256) Karekök alma 16 pi 3.1416 Trigonemetrik fonksiyonlardan bazıları aşağıda verilmiştir. Sin(x), sinh(x), asin(x), asinh(x), cos(x), cosh(x), acos(x), acosh(x), tan(x), tanh(x), atan(x), atanh(x) vs sin(30) -0.98803 sin(pi*30/180) 0.5

exp(2) % e 2 7.3891 exp(1) 2.7183 log(10) % log e 10 2.3026 log10(5) % log 10 5 0.69897 log2(8) % log 2 8 3

Đşlem önceliği: Parantez içi, üs alma, çarpma/bölme, toplama/çıkarma. Çarpma ve bölmeler art arda ise işlemler soldan sağa doğru yapılır. Aynı işlemler toplama çıkarma içinde geçerlidir. 3*4/2+23-16 13 4*(3+3^3)/5^2+22/3 4x + 3 (3 3 ) 22 + 2 5 3 12.133 Vektör ve Matrisler a=[1 2 3 4 5 6] a = 1 2 3 4 5 6 a=[1;2;3;4;5;6] a = 1 2 3 4 5 6

b=[2 3 4;1 1 4;6-12 8] b = 2 3 4 1 1 4 6-12 8 cc=[-1:0.5:1] cc = -1-0.5 0 0.5 1 a=zeros(3,4) % Tamamı sıfırlardan oluşan matris. 3 satır x 4 sütun a = 0 0 0 0 0 0 0 0 0 0 0 0 b=ones(5,3) b = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

size(a) % a matrisinin boyutunu verir. 3 4 % satır sayısı=3, sütun sayısı=4. whos % bu kod Workspace de kullanılan değişkenler hakkında bilgi verir. Name Size Bytes Class Attributes a 3x4 96 double ans 1x2 16 double b 5x3 120 double b=[2 3 4;1 1 4;6-12 8] b = 2 3 4 1 1 4 6-12 8 b(1,2) % tanımlanan matrisin istenilen satır ve sütundaki elemanına ulaşmak için %kullanılır. Đlk parametre satırı, ikinci parametre ise sütunu temsil etmektedir. 3 b(3,2) -12 c=b(1,:) % Matrisin istenilen satırını almak için kullanılır. c = 2 3 4

d=b(:,3) % Matrisin istenilen sütununu almak için kullanılır. d = 4 4 8 e=b(1:3,2:3) % Matrisin istenilen bölgesini almak için kullanılan komut e = 3 4 1 4-12 8 b(2,2)=9 % Matrisin istenilen elemanını değiştirmek için kullanılan komut. b = 2 3 4 1 9 4 6-12 8 b(1,3)=7 b = 2 3 7 1 9 4 6-12 8 b(2:3,1:3)=[3 2-5;11 3 15] b = 2 3 7 3 2-5 11 3 15

rand(3,2) % 3x2 lik 0-1 arası rastgele matris oluşturmak. 0.81472 0.91338 0.90579 0.63236 0.12699 0.09754 a=ceil(19*rand(3,3)) % 0-19 arası 3x3 lük rastgele matris üretme kodu a = 15 14 11 5 17 3 10 19 3 b=ceil(19*rand(3,3)) b = 5 16 7 16 5 4 5 18 5 c=a+b % Đki matrisi her bir elemanı kendi arasında toplanarak c matrisine %atanmıştır. c = 20 30 18 21 22 7 15 37 8 d=a-b d = 10-2 4-11 12-1 5 1-2

kk=ceil(4*rand(2,2)) kk = 3 2 2 4 nn=ceil(4*rand(2,2)) nn = 3 4 3 2 mm=kk*nn % Matris çarpımı Matrislerin boyutu MxN ye NxK mm = 15 16 18 16 kk=ceil(4*rand(3,3)) kk = 1 4 1 2 2 3 1 3 2 nn=ceil(5*rand(3,3)) nn = 3 3 1 5 1 4 1 5 5 mm=kk.*nn % Burada her bir matris elemanı karşısındaki elemanla çarpılmıştır. Her %iki matrisin boyutları eşit olmalıdır. mm = 3 12 1 10 2 12 1 15 10

aa=ceil(19*rand(3,3)) aa = 17 5 18 2 16 4 8 9 6 bb=aa' % aa nın tranpozesini almak için kullanılır. bb = 17 2 8 5 16 9 18 4 6 cc=inv(aa) % aa nın tersini almak için kullanılır. cc = -0.069767-0.15349 0.31163-0.023256 0.048837 0.037209 0.12791 0.1314-0.30465 dd=det(aa) % aa nın determinantını hesaplamak için kullanılan komut. dd = -860 rank(aa) % aa matrisinin rankını bulmak için kullanılan komut. 3

ee=2*aa % aa matrisnin tüm elemanları belli bir katsayı ile çarpmak için gereken %kod ee = 34 10 36 4 32 8 16 18 12 ff=aa.^3 % aa matrisinin her bir elemanının 3. Kuvveti alınmıştır. ff = 4913 125 5832 8 4096 64 512 729 216 gg=aa^3 % aa matrisinin küpünün alınması için gerekli kod. ( aa*aa*aa ). gg = 11657 11353 11886 3262 6438 3716 5638 6762 5884 trace(aa) %Matrisin diagonal elemanlarının toplamını verir. 39 Dizilerde yapılan işlemler: vv=ceil(100*rand(1,14)) vv = 12 79 39 25 41 10 14 95 96 58 6 24 36 83 max(vv) % Dizinin en büyük elemanını bulur. 96

min(vv) % Dizinin en küçük elemanını bulur. 6 mean(vv) %Dizinin ortalamasını bulduran komut. 44.143 median(vv) 37.5 std(vv) % Dizinin standart sapmasını bulur. 32.38 sort(vv) % Diziyi küçükten büyüğe doğru sıralar. 6 10 12 14 24 25 36 39 41 58 79 83 95 96 sum(vv) % Dizideki tüm elemanları toplar. 618

Fonksiyon ve M file kullanımı: Fonksiyonlar programlama dillerinde olduğu gibi Matlab de de kullanılır. Yeni bir fonksiyon tanımlama için FileNewBlank M-file veya Function M-file seçilir. Fonksiyonun yazımı şu şekildedir. function [ out ] = topla( tp1,tp2 ) % Bu fonksiyon tp1 ve tp2 nin toplamını out değişkenine atar. out=tp1+tp2; end Burada out fonksiyonun geriye döndüreceği değeri gösterir. topla ise fonksiyonun ismidir. tp1 ve tp2 ise fonksiyonun giriş parametreleridir. Fonksiyonu yazdıktan sonra M-file fonksiyon_ismi.m şeklinde kaydedilir. Bu örnekte fonksiyon topla.m olarak kaydedilmiştir. Fonksiyonun kullanımı şu şekildedir. gg=topla(23.17,54.98) gg = 78.15 Karar Yapıları ve Döngüler: if : Komutları belirlenen şarta göre işlemek için kullanılır. IF karşılaştırma komutlar ELSEIF karşılaştırma komutlar ELSE komutlar END ==, <, >, <=, >=, ~= ( Karşılaştırma durumları) Örnek: if I == J A(I,J) = 2; elseif abs(i-j) == 1 A(I,J) = -1; else A(I,J) = 0; End

Switch: değişkenin aldığı değerlere göre komutları işleten karar yapısıdır. SWITCH deger CASE durum1, komutlar CASE {durum2, durum3, durum4,...} komutlar... OTHERWISE, komutlar END a=input('bir rakam giriniz= '); switch a case 0, display('sıfır'); case 1, display('bir'); case 2, display('đki'); case 3, display('üç'); case 4, display('dört'); case 5, display('beş'); case 6, display('altı'); case 7, display('yedi'); case 8, display('sekiz'); case 9, display('dokuz'); otherwise display('rakam giriniz!'); end Yukarıdaki örnek case_deneme.m isimli m-file olarak kaydedilmiştir. Komut penceresine case_deneme yazıldığında ekrana gelen kod aşağıda verilmiştir. case_deneme Bir rakam giriniz= 3 Üç case_deneme Bir rakam giriniz= 10 Rakam giriniz!

for: belirtilen sayı kadar döngüde işlemleri gerçekleşir. tt=0; for i=1:100 tt=tt+i; end tt tt = 5050 While: belirtilen şart sağlanıncaya kadar döngüye devam edilir. hh=0; while (hh<1000) hh=hh+1; end hh hh = 1000 Temel Grafik Komutları x=[-10:0.01:10]; y=x.^2; plot(x,y);

x=[-10:0.01:10]; y=x.^2; subplot(2,1,1) plot(x,y); n=[0:pi/100:2*pi]; m=sin(n); subplot(2,1,2) plot(n,m); t = 0:pi/100:2*pi; y = sin(t); plot(t,y) grid on % Grid göster xlabel('zaman'); ylabel('genlik');

t = 0:pi/100:2*pi; y = sin(t); y2 = sin(t-0.25); y3 = sin(t-0.5); plot(t,y,'-',t,y2,'--',t,y3,':') t = 0:pi/200:2*pi; y = sin(t.^2)+(cos(t)).^2; plot(t,y,'r+') axis([0 2*pi -3 3])

x = -pi:.1:pi; y = sin(x); plot(x,y,'linewidth',3) grid on % Grid göster set(gca,'xticklabel',{'-pi','-pi/2','0','pi/2','pi'}) x = -pi:.1:pi; y = sin(x); subplot(2,2,1) plot(x,y,'linewidth',3) set(gca,'xticklabel',{'-pi','- pi/2','0','pi/2','pi'}) axis normal grid on % Grid göster subplot(2,2,2) plot(x,y,'linewidth',3) set(gca,'xticklabel',{'-pi','- pi/2','0','pi/2','pi'}) axis square grid on % Grid göster subplot(2,2,3) plot(x,y,'linewidth',3) set(gca,'xticklabel',{'-pi','- pi/2','0','pi/2','pi'}) axis equal grid on % Grid göster subplot(2,2,4) plot(x,y,'linewidth',3) set(gca,'xticklabel',{'-pi','-pi/2','0','pi/2','pi'}) axis equal tight grid on % Grid göster

t = 0:pi/100:10*pi; plot3(sin(t),cos(t),t) axis square; grid on [X,Y] = meshgrid([-2:0.1:2]); Z = X.*exp(-X.^2-Y.^2); plot3(x,y,z) grid on

[X,Y] = meshgrid(-8:.5:8); R = sqrt(x.^2 + Y.^2) + eps; Z = sin(r)./r; mesh(x,y,z) Temel Resim Đşleme resim=imread('cameraman.tif'); % Resimi dosyadan okuyor whos Name Size Bytes Class Attributes resim 256x256 65536 uint8 imshow(resim); % Resimi Figure penceresinde gösteriyor

figure, imhist(resim); % Resmin histogramını çıkartmak için kullanılan kod. resim2 = histeq(resim); %burada histogram eşitleme işlemi yapılıyor. figure,imshow(resim2); figure, imhist(resim2); imwrite(resim2,'cameraman2.tif'); % Bu komutla yeni oluşan görüntü kaydediliyor.

Örnek: Aşağıda yapay sinir ağı kullanılarak çarpım tablosu oluşturulmuştur. egitim=round(10*rand(2,200)); for i=1:200 hedef(1,i)=egitim(1,i)*egitim(2,i); end net=newfit(egitim,hedef,[5 15 5 1]); [net,tr]=train(net,egitim,hedef); ann=[10;3]; snc=sim(net,ann) snc = 29.9999650289685 ann=[5;9]; snc=sim(net,ann) snc = 44.9927472707975