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



Benzer belgeler
Fen ve Mühendislik Uygulamalarında MATLAB

Bilgisayar Programlama MATLAB

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

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

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

Fen ve Mühendislik Uygulamaları ile MATLAB

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

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

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Genel Programlama II

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

ALGORİTMA VE PROGRAMLAMA II

MATLAB ile ANALİZ (MIA)

ALGORİTMA VE PROGRAMLAMA II

Bilgisayar Programlama

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

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

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

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

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

Temel Bilgisayar Programlama

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Bilgisayar Programlama MATLAB

Fen ve Mühendislik Uygulamaları ile MATLAB

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

Değişken atama Kullanıcıdan veri girişi istendiğinde kullanılır. 1. Bir değişkene değer atama (örn: a=4 gibi) 2. Klavyeden veri girme

Eln 1002 Bilgisayar Programlama II

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Bölüm: Matlab e Giriş.

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Yrd. Doç. Dr. Caner ÖZCAN

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayar Programlama MATLAB

DOSYA İŞLEMLERİ Programlama dilleri hafta -

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

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

NB Ekran Seri Port Üzerinden Veri Okuma/Yazma. Genel Bilgi Protokol Oluşturma Veri Okuma Veri Yazma

Bilgisayar Programlama MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB

YZM 2105 Nesneye Yönelik Programlama

BİLGİSAYAR PROGRAMLAMA DERSİ

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

Fortran da kullanılan giriş çıkış komutları PRINT, WRITE ve READ dir.

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

GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BM202 SAYISAL ÇÖZÜMLEME

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

pfrintf fonksiyonu: Çıkışın formatlı olması ve bunun bir dosyaya yazdırılması durumlarında kullanılır. fprintf fonksiyonunun genel yazım biçimi,

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Bilgisayar Programlama MATLAB

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

Ö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İL-142 Bilgisayar Programlama II

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

Matlab da Dizi ve Matrisler. Mustafa Coşar

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

Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek :

Pascal Programlama Dili

fprintf ( Ekranda Görüntülenen Mesaj )

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

BLG 1306 Temel Bilgisayar Programlama

Temel Dosya İşlemleri. Kütük Organizasyonu 1

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

Yrd. Doç. Dr. Caner ÖZCAN

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

MatLab. Mustafa Coşar

NJ Kontrolcüde SD Kart a Değişken Değeri Kaydetme. NJ Kontrolcülerde SD Kart Fonksiyonları Blokları FilePuts ile Datalog Uygulaması

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

FORTRAN da Giriş/Çıkış Ve Tanımlamalar

BÖLÜM 2: ALGORİTMALAR

Php İle Mysql Veritabanından Bilgi Çekme

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

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

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

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

BİLGİSAYAR PROGRAMLAMA MATLAB

İMGE İŞLEME Ders-2. İmge Dosya Tipleri ve Temel İşlemler. (Yrd. Doç. Dr. M. Kemal GÜLLÜ)

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

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

MATLAB/Programı Dallandıran İfadeler

ALGORİTMA VE PROGRAMLAMA Ek Ders Notu

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMALAR VE PROGRAMLAMA

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

KONTROL SİSTEMLERİ-1 LABORATUVARI DENEY -1. Öğr. Gör. Güzin ÖZMEN Arş. Gör. Fehmi SEVİLMİŞ

Transkript:

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

ALT PROGRAMLAR:M-Fonksiyon Yapısı function cikis_ifadesi1, 2,, n =fonksiyon_adi (giris_ifadesi1, 2, n) M-Fonksiyonlar kullanılırken dikkat edilecek hususlar: 1- Kullanıcılar kendi fonksiyonlarını yazmak için m-fonksiyonlarını kullanabilirler. 2- Function alt programı ve ana program şeklinde iki program yazılarak bu iki program ayrı ayrı kaydedilir. 3- Alt programdaki fonksiyon_adi, m-dosyasına verilen isimle aynı olmalıdır. 4- Ana programdan alt program, function adı kullanılarak l k çağrılır. ğ 5- Alt programdan da ana programa geçiş yapılabilir fakat genelde tercih edileni tersidir. 6- Parametre aktarımı olması durumunda alt ve ana programda eşit sayıda parametre ve giriş değişkeni olmalıdır.

function cikis_ifadesi1, 2,, n =fonksiyon_adi (giris_ifadesi1, 2, n) Örnek: İki nokta arasındaki uzaklığı bulan programı m-fonksiyon (alt program) kullanarak yazınız. ax = a noktasının apsisi; bx = b noktasının apsisi ay = a noktasının oordinati; by = b noktasının oordinati FUNCTION ALT PROGRAMI (uzak.m): function uzaklik = uzak(x1,y1,x2,y2) uzaklik=sqrt((x2-x1)^2+(y2-y1)^2); Bu function alt programı uzak.m olarak kaydedilir. ANA PROGRAM (mesafe.m): m): ax=3; ay=4; bx=1; by=2; uzaklik = uzak(ax,ay,bx,by); % uzak.m alt programını çağırıyor. fprintf( iki nokta arasındaki uzaklık = %6.2f birim.\n,uzaklik);

Adım adım gerçekleştirilen ş işlemler: ş Ana program herhangi bir isimle kaydedilir ve koşturulur. Program, function adına (uzak) geldiği zaman alt program çağrılır ve ax, ay, bx, by parametreleri sırasıyla x1, y1, x2, y2 giriş değişkenlerine aktarılır. Function alt programında hesaplama gerçekleştirilir. ş Function daki çıkış değişkeni olan uzaklik hem alt programda hem de ana programda hesaplanan sonuç değerinin aktarıldığı değişkendir. Alt programdan ana programa parametre aktarımı zorunlu değildir. İstenirse değişkenlerin değerleri alt programda da girilebilir ve sonuç alt programda yazdırılabilir.

Uygulama: Yukarıdaki örneği ğ ana programdan alt programa parametre aktarımı yapmadan yeniden yazınız. (Değişkenlerin girilmesi, sonucu hesaplama ve yazdırma işlemi alt programda yapılacaktır) FUNCTION ALT PROGRAMI: function uzaklik = uzak x1=3; y1=4; x2=1; y2=2; uzaklik=sqrt((x2-x1)^2+(y2-y1)^2); fprintf( iki nokta arasindaki uzaklık=%6.2f birim.\n, uzaklik); ANA PROGRAM: uzak; % uzak.m alt programını çağırıyorğ

Örnek: Verilen bir dizinin ortalamasını ve standart sapmasını hesaplayan stat isimli bir function yazınız. Alt program (function): function [ort, stdsap] = stat(x) n = length(x); ort= sum(x) / n; stdsap = sqrt(sum((x - ort).^2)/n); Ana program: Çıktı: clear all; clc; Ortalama= 4.50 ve Std. Sapma= 2.87 dir. x=[0 1 2 3 4 5 6 7 8 9]; [a,b]=stat(x); fprintf('ortalama= %5.2f ve Std. Sapma= %5.2f dir.\n',a,b);

ÖDEV: Dışarıdan girilen x ve y değerlerine göre aşağıdaki fonksiyonun değerini hesaplayan bir program yazınız (M-fonksiyonu kullanınız). F(x,y) = x 2 y + xy x.y + ln( x ) + 1 log ( y) 10 + x tan( ) y function f=fxy(x,y) f=x^2*y+sqrt(x*y)+(log(x)+1)/log10(y)+tan(x/y); clear all; clc; x=1;y=1; fxy=fxy(x,y); fprintf('fonksiyonun f('f i değeri ğ = %f\n',fxy); 'f

DOSYA YÖNETİMİ Şu ana kadar bir programda hesaplanan veya elde edilen veriler RAM de saklanacak şekilde tanımlanmıştı. Yani, bilgisayar kapatıldığında veya MATLAB programı sona erdirildiğinde veriler de kaybolmaktaydı. Oysa pek çok uygulamada elde edilen veriler daha sonra kullanılmak üzere saklanması gerekir. Bunun için verilerin bir dosyaya yazılması gerekmektedir.

MATLAB de VERİ İ GİRİŞ-ÇIKIŞ İ İ FONKSİYONLARIİ Dosya açma: fopen fopen komutu bilgi kaydetmek için veri dosyası açar veya oluşturur. Yazım formatı: ifade = fopen( dosya adı, izin ) Burada: ifade-> dosya belirteci dosya adı->verilerin kaydedileceği dosyanın adı izin-> dosyanın kullanım izni:r r,w,.., vs.

İzin Tipleri: Tipler r r+ Açıklama Dosyayı sadece okumaya açar (yazmaya izin vermez) Dosyayı yazmaya ve okumaya açar (dosya oluşturulmaz) w Varolan bir veri dosyasının içindekini siler, dosya yoksa oluşturur ve dosyayı yazmaya açar w+ Varolan bir veri dosyasını yazmak kiçin i açar, dosya yoksa oluşturur ve dosyayı okumaya ve yazmaya açar a a+ Varolan bir veri dosyasını yazmak için açar, dosya yoksa oluşturur ve girilecek bilgileri dosya sonuna ekler (okuma yok) Varolan bir veri dosyasını okumak ve yazmak için açar, dosya yoksa oluşturur ve girilecek bilgileri dosya sonuna ekler

Dosya kapama: fclose Dosya yazma ve/veya okumaya açılan dosyanın MATLAB den ilişkisini kesmeye (dosyayı kapatmaya) yarayan komuttur. Kullanımı: fclose(ifade)

Dosyaya bilgilerin kaydedilmesi: fprintf Verilerin ekrana yazılmasında kullanılan fprintf fonksiyonu, aynı zamanda fopen komutuyla açılmış dosyaya yazmakta da kullanılır. Kullanımı: fprintf (ifade, %format%format%format.%format,değişken1, değişken2,değişken3,.)

Örnek Aşağıda ğ verilen M dizisini i i i( (vektörünü) ü) bir dosyaya kaydeden d bir MATLAB programı yazınız For döngüsü ile: M=[1 2 3 4]; M=[1 2 3 4]; a=fopen('veri.dat','w'); fprintf (a,%d (a,'%d %d %d %d',m); fclose(a); a=fopen('veri.dat','w'); for i=1:4 fprintf(a,'%d\n ',M(i)); end fclose(a);

Örnek Aşağıda verilen matrisi veri.dat dosyasına kaydeden bir MATLAB programı yazınız. A=[1 5-11;-2 4 5]; a=fopen('veri.dat','w+'); for i=1:2 for j=1:3 end fprintf(a, '%3d',A(i,j)); fprintf(a, \n ); end fclose(a); veri.dat isimli dosyayı silmeden A dizisini bu dosyanın sonuna eklemek için hangi izin kulanılmalıdır?

Dosyadan an bilgilerin okunması: fscanf fscanf: Formatlanmış verileri içeren dosyadan değerleri okuma komutudur ve yazılımı: [değişken, sayi] = fscanf (ifade, format,alan) Burada; değişken: okunan değerlerin atandığı değişken sayi : okunan data sayısı alan : inf ile verilerin tamamını okunması sağlanır Örnek Aşağıda verilen vektörü bir dosyadan okuyup b değişkenine atayan MATLAB programı veri.dat 1 5 11 2 4 5 clear all; clc; a=fopen ('veri.dat', 'r' ); [b,sayi]=fscanf(a,'%d ',inf); fclose(a); b sayi

Dosyadan birden fazla değişkene bilgi okunması Yanda verilen formattaki bir dosyadan bilgilerin aynı formatta okunması için: b=fscanf(a, %d,[2 inf]); b aşağıda verilen matris formatına sahip olur: 1 3 4 5 6 7 10 12 14 15 16 18 Veri.dat 1 10 3 12 4 14 5 15 6 16 7 18 Satır vektörlerini farklı değişkenlere atamak için: c=b(1,:) d=b(2,:) Dosyadan bilgilerin direkt olarak farklı değişkenlere okutmak için a=fopen('veri veri.dat dat', 'r') r) for i=1:6 d(i)=fscanf(a,'%f',[1]); d=fscanf(a,'%f',[1,3]); e(i)=fscanf(a,'%f',[1]); e=fscanf(a,'%f',[1,3]); f( f( end fclose(a); cose(a)

Uygulama Bir data dosyasında verilen sayıları kullanarak aşağıdaki fonksiyonun değerini alt fonksiyonda hesaplayıp sonucu ana programda yazdıran bir MATLAB programı yazınız. F(x,y) = x 2 y+ x.y + ln( x ) + 1 log 10 ( y ) 10 x y 1 10 3 13 5 15 8 16 9 18

ÖDEV: Dışarıdan girilen 5 adet öğrencinin numarasını ve 2 dersten aldığı notları kaydeden ve okuyan MATLAB programlarını yazınız.