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

Benzer belgeler
Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB

BİLGİSAYAR PROGRAMLAMA DERSİ

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

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

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

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ


Matlab da Dizi ve Matrisler. Mustafa Coşar

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

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

MatLab. Mustafa Coşar

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

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

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

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

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

Fen ve Mühendislik Uygulamalarında MATLAB

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

YZM 2105 Nesneye Yönelik Programlama

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

BİLGİSAYAR PROGRAMLAMA DERSİ

Erzurum Teknik Üniversitesi Mühendislik Mimarlık Fakültesi Bilgisayar Programlama Dersi Final Sınavı Soru Toplam Puanlar

Bölüm: Matlab e Giriş.

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

BİLGİSAYAR PROGRAMLAMA DERSİ

2.3. MATRİSLER Matris Tanımlama

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

3. BÖLÜM MATRİSLER 1

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

BİLGİSAYAR PROGRAMLAMA DERSİ

MatLab. Mustafa Coşar

Bilgisayar Programlama MATLAB

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

Matrisler ve matris işlemleri

.:: BÖLÜM I ::. MATRİS ve DETERMİNANT

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

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

BM202 SAYISAL ÇÖZÜMLEME

BPR152-Algoritma ve Programlama II Uygulama -13

ALGORİTMA VE PROGRAMLAMA II

Hafta 5 Algoritma Örnekleri ve Analizi

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

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

AKT 305 Aktüeryal Yazılımlar Ödev 1 Yanıtları Soru 1. Create a vector x with the elements...

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

MATLAB ile ANALİZ (MIA)

MATLAB/Programı Dallandıran İfadeler

KONTROL SİSTEMLERİ-1 LABORATUVARI FİNAL PROJELERİ

BİL1001 Bilgisayar Bilimlerine Giriş 1

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

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

ÖZDEĞERLER- ÖZVEKTÖRLER

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 :

MATEMATİK ÖĞRETMENLİĞİ

Fen ve Mühendislik Uygulamaları ile MATLAB

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

x 0 = A(t)x + B(t) (2.1.2)

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

Bilgisayar Programlama

Matris Cebiriyle Çoklu Regresyon Modeli

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

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

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

Matrisler Matris Tanımı m satır ve n sütundan oluşan tablosuna matris adı verilir.

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

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

1- Temel MATLAB Fonksiyonları ve Programlama

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

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

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

AST409 Astronomide Sayısal Çözümleme. II. Python da Matrisler

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

DATA Deyimi. ii) DIMENSION NUM(5) DATA NUM / 1, 2, 3, 4, 5 / Bu durumda 5 elemanlı NUM dizisi, sırasıyla, 1'den 5'e kadar değerleri saklar.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

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

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

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

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

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

Bilgisayar Programlama MATLAB

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Bilgisayar II Dersi. Bölüm-2

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 (Arrays) Çok Boyutlu Diziler

Transkript:

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

MATLAB de Karakter Tipinde Değişken Girişi: k=input( Açıklama: kl '); Komutu ile k değişkenine sadece sayısal değerler girebiliriz. Bu k değişkeni bir karakter olduğunda ve bu değişkene komut penceresinde bir karakter değer girmek istediğimizde değeri iki tırnak içinde girmek zorundayız. Bu durumdan kurtulmak için MATLAB de karakter tipindeki değişkenin okutulması için şu yapı kullanılır: Degisken_adi=input( Açıklama: ', 's'); Değişkenin karakter tipinde olduğunu gösterir

Örnek: Karakter değerler okuyan ve bir noktaya rastlayınca toplam karakter sayısını veren programı MATLAB de yazınız. karakter= K ; ksayi=0; while karakter ~= '. ' karakter=input('karakteri giriniz:', 's'); ksayi=ksayi+1; fprintf('toplam karakter sayısı=%g\n', ksayi)

PROGRAMLAMADA DİZİ KAVRAMI Bir değişken içerisinde birden çok veri numaralandırılarak tek bir isim altında saklanmasına DİZİ denir. Dizi içinde aynı isim altında çok sayıda veri olduğu için bunları birbirinden ayırt etmek için İNDİS adı verilen bir bilgiye ihtiyaç vardır. Örnek 1: A Dizisi 23 45-1 1.24 78 A(1) A(2) A(3) A(4) A(5)

Örnek 2: İKİ BOYUTLU DİZİ (MATRİS) BDİZİSİ indis 1 2 3 1 2 3 4 23 12 75 48 3 36 15 12 45 4 55 13 B(1,1)=23, B(1,2)=12, B(1,3)=75, B(1,4)=48 B(2,1)=3, B(2,2)=36, B(2,3)=15, B(2,4)=12 B(3,1)=45, B(3,2)=4, B(3,3)=55, B(3,4)=13

Tek boyutlu bir dizinini i değerlerinin ğ i girilmesi il i Aşağıda 1x5 boyutunda (1 satır ve 5 sütun) bir dizinin elemanlarını giren MATLAB programı aşağıda verilmiştir Dışardan değerlerin girişi: for i=1:5 fprintf('a(%d)=',i) A(i)=input(' '); A Programın içinde giriş: A=[1 3-34 0 5] veya A=[1, 3, -34, 0, 5]

Örnek: N elemanlı bir dizinin N değeri ğ ve elemanları dışardan ş girilerek bu dizinin normunun karesi (elemanlarının karelerinin toplamı) bulunacaktır. Gerekli programı yazınız. N=input('N değerini giriniz='); toplam=0; for i=1:n fprintf('a(%d)=',i); A(i)=input(''); ); for i=1:n toplam=toplam+a(i)*a(i); fprintf('a dizisinin i i i normunun karesi=%f', toplam)

İKİ BOYUTLU DİZİLER (MATRİSLER) MATRİSLER, iki boyutlu DİZİLER (VEKTÖRLER) olarak düşünülebilirler: 11 a12... a21 a22... A=......... m1 am 2... a 1n a1, n 1 a a 2, n 1 a2 n...... am, n a a 1 mn mxn Böyle dikdörtgen bir tabloya, mxn matrisidir denir. Burada, m sayısına matrisin satır sayısı, n sayısına matrisin sütun sayısı denir. Eğer, m=n ise matris kare matris olarak adlandırılır.

İKİ BOYUTLU BİR DİZİNİN (MATRİSİN) DEĞERLERİNİN GİRİLMESİ Aşağıda 2x3 boyutunda (2 satır ve 3 sütun) bir dizinin elemanlarını giren MATLAB programı aşağıda verilmiştir: Değerlerin dışardan girişi: for i=1:2 for j=1:3 fprintf('b(%d,%d)=',i,j) (%d,%d),,j) B(i,j)=input(' '); B Programın içinde giriş: B=[1 3-34 ; 0 5 4] veya B=[1, 3, -34 ; 0, 5, 4]

Uygulama 1 Elemanları dışardan ş girilen iki boyutlu bir dizinin programını yazınız (değerler aşağıda verilmiştir) 12 21 23 90 34 12 67 45 89 67 Uygulama 2 0 ile 50 arasında 4 artımlı bir tek boyutlu A dizisi oluşturunuz

MATRİSLERLE İŞLEMLER Matrislerin kilerine ait bir cebirleri vardır. Özellikle matrislerin aşağıdaş ğ sıralanan işlemleriyleş ilgileneceğiz. ğ Bir skalerle çarpma Matrislerle toplama Matrislerle çıkarma Matrislerle çarpma Matris transpozu İleri matris işlemleri için MATLAB hazır fonksiyonları mevcuttur.

Matrislerle Skaler Çarpım Her hangi bir matris, bir c skaleriyle çapılabilir. Sonuçta, matris ca, ca = (ca ) ij Örnek: A=[2 3 ; 1 4]; Aşağıda verilen Matrisin 2 ile çarpımı for i=1:2 for j=1:2 sonucunu veren MATLAB programı 2 A = 1 3 4 C(i,j)=2*A(i,j); C

ÖRNEK: A=[1 3 ; 4 2] matrisinin 2. sütununu 3 ile çarpıp yeni bir matris elde eden bir MATLAB programı yazınız A=[1 3; 4 2]; for i=1:2 for j=2:2 A(i,j)=3*A(i,j); (,j); A A=[1 3; 4 2]; for i=1:2 A(i,2)=3*A(i,2); A

Ödev: 3x3 lük bir matris dışardan girilerek (okutularak) bu matrisin ana köşegen elemanlarının toplamını bulan programı yazınız.

Matrislerde r Toplama ve Çıkarma İşlemi m İki matrisin toplanabilmesi veya çıkarabilmesi için boyutları, yani satır ve sütün sayıları eşit olmalıdır. 2 3 6 11 A = B = A=[2 3 ; 1 4]; 1 4 0 5 B=[6-1 ; 0 5]; for i=1:2 İki matrisin toplamı: C 2 3 6 1 8 2 = + = 1 4 0 5 1 9 for j=1:2 C C(i,j)=A(i,j)+B(i,j);

Uygulama: Beş işçinin 1 ay boyunca çalışma cetveli verilmiştir. Ücret değerleri ğ Milyon TL göstermektedir. İŞÇİLER 1 2 3 4 5 Saat Ücreti 1.2 2 2.5 3 4.5 Çalışılan 153 160 157 165 150 saat Ürün Adeti 1100 1250 1000 1200 1100 a) Her bir işçi bir ayda ne kadar para kazanmıştır? b) İşverenin bu aya ait toplam maaş ödemesi kaç liradır? c) Ne kadar ürün üretilmiştir? d) Bu aya ait olmak üzere bir ürünü üretmenin ortalama maliyeti nedir?

Matrislerde Çarpma İşlemi X ve Y matrislerinin çarpılabilmesi için bir ön koşul bulunmaktadır. Bu koşul, X matrisinin sütun sayısının Y matrisinin satır sayısına eşit olmasıdır. Yani; XMxN, YNxK şeklinde d boyutlar uyumlu olmalıdır. l Sonuçta elde edilecek matris ZMxK boyutlu olacaktır. X= clear all; 0123 X=[0 1 2 3;1 2 3 4;2 3 4 5]; 1 2 3 4 Y=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]; 2 3 4 5 for i=1:3 for j=1:4 Y = Z(i,j)=0; 1 0 0 0 for k=1:4 0 1 0 0 Z(ij) Z(i,j)=z(i,j)+x(i,j)*y(k,j); (ij)+ (ij)* (kj) 0010 0 0 0 0 0 1 Z= z 0123 1 2 3 4 2 3 4 5

Matrislerde Transpoz İşlemi Transpoz, matrislerde satır ile sütunun yer değiştirilmesi işlemidir. Yani A=3x2 lik birmatrisin transpozu alındığı zaman B=A T =2x3 lük bir matris elde edilir. A=[1 3 0; 4 2-3]; for i=1:2 B for j=1:3 B(j,i)=A(i,j); (,j); A = 1 3 0 4 2-3 B =A T 1 4 3 2 0-3

Ödev: 10 öğrencinin 1 dersten aldıkları vize ve final notlarını alarak herbir öğrencinin ortalamalarını hesaplayan ve aşağıdaki formata göre yazdıran programı yazınız. İsim Vize Final Ortalama Ahmet Selim 35 40 37.5 Çetin Ulak 22 95 58.5 : : : :

1. Vize 1. soru çözümü: clear all; clc; for a=1:10 for b=1:5 c=a*b; fprintf(' %2d*%2d = %2d', b, a, c) fprintf(' \n')

1. Vize 2. soru çözümü: clear all; N=input('Öğrenci sayısını giriniz N= '); TOP=0;SAYAC1=0;SAYAC2=0; for i=1:n fprintf('%2d. öğrencinin ğ 1. vize notunu giriniz NOT= ',i); VIZE1(i)=input(''); TOP=TOP+VIZE1(i); ORT1=TOP/N; TOP=0; for i=1:n fprintf('%2d. öğrencinin 2. vize notunu giriniz NOT= ',i); VIZE2(i)=input(''); VORT(i)=(VIZE1(i)+VIZE2(i))/2; if VORT(i)>=50 SAYAC1=SAYAC1+1; else SAYAC2=SAYAC2+1; TOP=TOP+VIZE2(i); ORT2=TOP/N; fprintf('sınıfın 1. vize ortalaması= %f\n',ort1); fprintf('sınıfın 2. vize ortalaması= %f\n',ort2); fprintf('sınıfın vize ortalamalarının ortalaması= %f\n',(ort1+ort2)/2); fprintf('vize ortalaması 50 ve üzerinde olan öğrenci sayısı= %d\n',sayac1); fprintf('vize ortalaması 50nin altında olan öğrenci sayısı= %d\n',sayac2);

1. Vize 2. soru çözümü: Öğrenci sayısını giriniz N= 3 1. öğrencinin 1. vize notunu giriniz NOT= 45 2. öğrencinin 1. vize notunu giriniz NOT= 50 3. öğrencinin ğ 1. vize notunu giriniz NOT= 60 1. öğrencinin 2. vize notunu giriniz NOT= 55 2. öğrencinin 2. vize notunu giriniz NOT= 70 3. öğrencinin 2. vize notunu giriniz NOT= 90 Sınıfın 1. vize ortalaması= 51.666667 Sınıfın 2. vize ortalaması= 71.666667 Sınıfın vize ortalamalarının ortalaması= 61.666667 Vize ortalaması 50 ve üzerinde olan öğrenci sayısı= 3 Vize ortalaması 50nin altında olan öğrenci sayısı= 0