Matlab da Dizi ve Matrisler. Mustafa Coşar



Benzer belgeler
disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

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

GEO182 Lineer Cebir. Matrisler. Matrisler. Dersi Veren: Dr. İlke Deniz Derse Devam: %70. Vize Sayısı: 1

BİLGİSAYAR PROGRAMLAMA DERSİ

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

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

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir


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

2.3. MATRİSLER Matris Tanımlama

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

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

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

ALGORİTMA VE PROGRAMLAMA I

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

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

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

MATLAB DE DİZİLER (devam)

Bilgisayar Programlama MATLAB

Bölüm: Matlab e Giriş.

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

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

ALGORİTMA VE PROGRAMLAMA I

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

BM202 SAYISAL ÇÖZÜMLEME

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

Diziler. Yukarıdaki bilgileri bilgisayar belleğinde saklamak için aşağıdaki gibi değişkenler tanımlanır ve değerler bu değişkenlere aktarılır :

D İ Z İ L E R A R R A Y S

BİLGİSAYAR PROGRAMLAMA DERSİ

MatLab. Mustafa Coşar

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

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

MATLAB/Değişkene Değer Atamak

C# Örnek Uygulamalar I

2. Dereceden Denklemin Köklerini Bulan Program

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB

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

Diziler (Arrays) Çok Boyutlu Diziler

Dr. Fatih AY Tel: fatihay@fatihay.net

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

BPR152-Algoritma ve Programlama II Uygulama -13

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)

YZM 2105 Nesneye Yönelik Programlama

Diziler İndisli Değişkenler

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

Özyineleme (Recursion)

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

Algoritma ve Programlama: Karar Yapıları ve Döngüler

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

DENEY 1: Matlab de Temel Uygulamalar

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

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

Giriş. ENF102 Jeoloji

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

BİL1001 Bilgisayar Bilimlerine Giriş 1

MATLAB ile ANALİZ (MIA)

Algoritmalar ve Karmaşıklık

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

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

MATLAB Kullanımı. [ sqrt(-6)] a = [ ; ; 1 sqrt(-6)] a=[] clear a. a=[ 3, , 9, 10 ] a= [a ] a=[ 1 2 a ]

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

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

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

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

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

YZM 2105 Nesneye Yönelik Programlama

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

MATLAB/Diziler (Karakter Dizileri)

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

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

C++ Dersi: Nesne Tabanlı Programlama

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Ödevi Soru

Fen ve Mühendislik Uygulamalarında MATLAB

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

ALGORİTMA VE PROGRAMLAMA II

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

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

Ders 2 : MATLAB ile Matris İşlemleri

ÖZDEĞERLER- ÖZVEKTÖRLER

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

Temel Giriş/Çıkış Fonksiyonları

14 Şubat 2011 Pazartesi günü uygulamada çözdüğümüz 2. Soruyu, aynı sıra ile bu defa MATLAB kullanarak çözelim.

m=n şeklindeki matrislere kare matris adı verilir. şeklindeki matrislere ise sütun matrisi denir. şeklindeki A matrisi bir kare matristir.

Hafta 12 Karakter Tutan Diziler

Bu kısımda işlem adı verilen özel bir fonksiyon çeşidini ve işlemlerin önemli özelliklerini inceleyeceğiz.

DİZİLER. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür.

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Transkript:

Matlab da Dizi ve Matrisler Mustafa Coşar

MATLAB Değişkenleri Matlab da değişkenler; skaler, dizi(vektör), matris veya metin (string) türünde olabilirler. Örnek olarak: a=1; b=-3.2e3; c=22/5; metin= mustafa ; vektör=[1 2 3]; matris=[1 2 3;-1 0 1]; hucre={1 2 ; 'buyuk' 'kucuk'}; 2

MATLAB Diziler Dizi (array), en genel tanımıyla birbirleri ile ilişkili nümerik veya metinsel değerler topluluğudur. Matlab de herşey bir dizi olarak işleme konur ve en temel veri elemanıdır ve 3 türde olabilir. Reel ile kompleks sayıları ifade eden çiftkat veya nümerik diziler (double veya numeric array) Metin ifade eden diziler (char array) Hücre diziler (cell veya struct array) Değişkenler içerisinde yalnız bir tek bilgi depolarken dizileri kullanarak aynı türden birden fazla bilgiyi saklayabiliriz. Programımız içerisinde kullanacağımız 100 adet tamsayıyı 100 farklı değişken içinde saklamak yerine bu amaçla içinde 100 tamsayı saklı bir dizi kullanmak daha mantıklıdır. Dizi elemanlarına ulaşmak için indis denilen yapılardan ve parantezlerden faydalanılır. 3

Genel Bilgiler Bir nümerik dizi, skaler, vektör veya matris olabilir ve tüm nümerik diziler double array formatındadır. 1x1 dizisi, bir skaler (scaler) gösterir. (a=3, b=-6.5) mx1 veya 1xn dizisi, bir vektör (vector) gösterir. mxn veya nxm dizisi, bir matris (matrix) gösterir. Bu çerçevede 1x1 dizisi sabit matris veya tek elemanlı matris, nx1dizisi sütun matrisi ve 1xn dizisi ise satır matrisi olarak da düşünülebilir. Bir dizinin eleman sayısı, satır ile sütun sayısının çarpımıdır. 4

1 2 A= 3 4 3x2 matrix 6 eleman 5 6 b=[1 2 3 4] 1x4 array 4 eleman, satır vektörü c= 1 3 5 3x1 array 3 eleman, sütun vetörü A(2,1)=3 b(3)=3 c(2)=3 Satır # Sütun # 5

Dizilere değer atama işlemi 1xn veya mx1 şeklinde tek boyutlu dizi olan vektörleri oluşturmanın iki temel yolu vardır: i) Direkt olarak ( [ ] ile) satır vektörleri: sütun vektörleri: >> f = [f1 f2 f3... fn] veya >> f = [f1, f2, f3,..., fn] şeklinde >> f = [f1; f2; f3;...; fn] şeklinde oluşturulabilir. 6

Dizilere değer atama işlemi ii) Eşit aralıklı elemanlar kullanarak (: ile) f = İlkDeğer : DeğişimMiktarı : SonDeğer Değişim miktarı belirtilmezse İlkDeger den sonra 1 er er artım olacağını ifade eder.

Karakter Değişkenlerin Dizilere Değer Olarak Atanması isim='mustafa'; ad=['m' 'u' 's' 't' 'a' 'f' 'a']; if isim==ad disp('ikisi de aynıdır'); else disp('ikisi farklı şeylerdir');

Dizilerde length Fonksiyonu 9

İPUCU Bir satır veya sütun vektörü içerisinde tek bir for döngüsü kullanılarak kolaylıkla gezilebilir. Eğer bu amaçla oluşturulacak bir for döngüsü i adında bir döngü değişkeni ile kontrol edilirse, bu i aynı zamanda dizinin indislerini de temsil etmiş olur. for i=1:length(a) fprintf('%d\n',a(i));

Uygulama-1: Bir A satır vektörünün en büyük elemanını bularak ekrana yazan bir matlab programını yapınız. A=[5 4 7 11 9 0 10] enbuyuk=a(1); %Dizinin ilk elemani en buyuk olsun for i=2:length(a) %Kac elemanli bir vektor acaba? if A(i)>enBuyuk enbuyuk=a(i); disp(enbuyuk); KOMUT PENCERESİ A = 5 4 7 11 9 0 10 11

Uygulama-2: Bir öğrencinin 60 ve üstü ortalaması olan derslerinin sayısını bulan bir program yazınız B=[60 50 50 40 30 70] sonuc=0; for i=1:length(b) if B(i)>=60 sonuc=sonuc+1; disp(sonuc); % Karşılaştırma % değere bir ekleme

Uygulama-3: önceki uygulamanın öğrencinin ders ortalamalarını klavyeden isteyen versiyonu derssayisi=input('bu öðrenc kaç ders almýþ'); for i=1:derssayisi B(i)=input('ders ortalamlarýný giriniz'); sonuc=0; for i=1:length(b) if B(i)>=60 sonuc=sonuc+1; fprintf('geçtigi ders sayisi = %d \n', sonuc); 13

MATLAB MATRİSLER Matrisler F F F...... F 11 21 m1 F F F 12 22.. m2... F... F... F 1n 2n...... mn mxn Matrisleri oluşturmanın en temel yolu [ ] kullanmaktır. mxn boyutundaki bir matrisin genel formatı: F = [F11 F12... F1n ; F21 F22... F2n ;... ; Fm1 Fm2... Fmn] veya F = [F11, F12,..., F1n ; F21, F22,..., F2n ;... ; Fm1, Fm2,..., Fmn] 14

Matrislere değer atama işlemleri 3*4 lük matrise klavyeden değer girişi aşağıdaki gibidir. 1*5 lik matrise döngü yardımıyla değer girişi aşağıdaki gibidir. for i=1:5 matris(i)=input( Sayı giriniz ); End

for döngüleri ile matrisin elemanlarını yazdırma Örneğin 3*3 lik bir matrisi ekrana fprintf ile yazdırmak istediğimizde aşağıdaki döngü yapısını kullanmalıyız. for i=1:5 fprintf(' %d',matris(i)); matris=[1,2,3;4,5,6;7,8,9]; for i=1:3 for j=1:3 fprintf(' %d', matris(i,j)); fprintf('\n');

Dizilere fonksiyonları uygulama: length(kd): kd dizisinin eleman sayısını yani uzunluğu size(kd): kd dizisinin boyutu sum(kd): kd vektörünün eleman toplamı sum(a): A matrisinin sütun başına eleman toplamı kd(n): kd dizisinin n. eleman değeri A(n,:): A matrisinin sadece n. satırı A(:,n): A matrisinin sadece n. sütunu A : A matrisinin transpozesi yani devriği det(a): A matrisinin determinantı inv(a) : A matrisinin tersi diag(a): A matrisinin ana diagonel (çapraz) elemanları [v,d]=eig(a): A matrisinin özvektörleri ve özdeğerleri Elemanter işlemler eleman elaman işlem demektir ve. İşleci kullanılır: Çarpma:.*, Bölme:./, Üs alma:.^ 17

Hem vektörler hem de matrisler için fonksiyonlar kullanarak da oluşturulabilir: (zeros,ones ve rand) zeros(1,n) veya zeros(n,1) zeros(n) zeros(n,m) zeros(size(kd)) ones(1,n) veya ones(n,1) ones(n) ones(n,m) ones(size(kd)) 18

Uygulama-4: 3*3 lük matrisin tüm elemanlarının toplamını bulan matlab programı topla=0; for i=1:3 for j=1:3 mat(i,j)=input( matrisin elemanını gir'); topla=topla+mat(i,j); disp(mat); disp(topla); 19

Uygulama-5: 1*5 lik matrisin en büyük ve en küçük elemanını bulma. topla=0; matris=[8,12,2,15,6]; enb=matris(1); enk=matris(1); for i=2:5 if matris(i)>enb enb=matris(i); elseif matris(i)<enk enk=matris(i); disp(matris); disp(enb); disp(enk); 20

Uygulama-6: 1*5 lik matrisin elemanlarını büyükten küçüğe sıralama matris=[8,12,2,15,6]; disp(matris) for i=1:4 for j=i:5 if matris(i)>matris(j) depo=matris(i); matris(i)=matris(j); matris(j)=depo; disp(matris); 21

SORULAR Bir A satır vektörünün elemanlarının toplamı Bir A satır vektörünün aritmetik ortalaması Bir A satır vektörünün harmonik ortalaması Bir A satır vektörünün elemanlarının çarpımı Bir A satır vektörünün geometrik ortalaması Bir A satır vektörünün içerisindeki çift sayıların adedi

Kaynaklar 1. http://slideplayer.biz.tr/slide/2001952/ 2. İnan A., MATLAB Temel Seviye Semineri 3. Dal D., http://muhserv.atauni.edu.tr/bilgisayar/ddal/courses/mf103_fall11.html Bilgisayar Mühisliği e-posta: mustafacosar@hitit.edu.tr