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



Benzer belgeler
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 DERSİ

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

Bilgisayar Programlama

Fen ve Mühendislik Uygulamalarında MATLAB

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,

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

MatLab. Mustafa Coşar

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

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

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

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

BİLGİSAYAR PROGRAMLAMA MATLAB

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

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Ü

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

MATLAB/Değişkene Değer Atamak

C Konsol Giriş Çıkış Fonksiyonları

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

Ders 1 : MATLAB Programlama Ortamı

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

Bilgisayar Programlama MATLAB

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

FORMÜLLER VE FONKSİYONLAR

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

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

Algoritma ve Akış Diyagramları

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

Fen ve Mühendislik Uygulamaları ile MATLAB

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

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

C Programlama Dilininin Basit Yapıları

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Matlab da Dizi ve Matrisler. Mustafa Coşar

Hafta 13 Fonksiyonlar

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

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

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

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

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

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

MatLab. Mustafa Coşar

BM202 SAYISAL ÇÖZÜMLEME

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

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

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

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

Internet Programming II

MATLAB/Diziler (Karakter Dizileri)

MATLAB ile ANALİZ (MIA)

MATLAB

Öğr. Gör. Serkan AKSU 1

Fonksiyonlar (Altprogram)

DENEY 1: Matlab de Temel Uygulamalar

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

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

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

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

BİL-142 Bilgisayar Programlama II

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

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

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

YZM 2105 Nesneye Yönelik Programlama

Dr. Fatih AY Tel:

Bölüm: Matlab e Giriş.

Dr. Fatih AY Tel: fatihay@fatihay.net

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

Temel Bilgisayar Programlama

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

AMASYA ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Elektrik Elektronik Mühendisliği Bölümü

Alt programlar- Deyim Fonksiyonları

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

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

C PROGRAMLAMA DİLİNE GİRİŞ

Özyineleme (Recursion)

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

Temel Giriş/Çıkış Fonksiyonları

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

İleri Diferansiyel Denklemler

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

NB Macro Kullanımı Hakkında Genel Bilgiler

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

SIMAN KULLANIM KILAVUZU

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

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

Diziler İndisli Değişkenler

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

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

2.3. MATRİSLER Matris Tanımlama

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

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

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

Transkript:

MAK1010 MAKİNE MÜHENDİSLİĞİ BİLGİSAYAR UYGULAMALARI fprintf komutu text veya verinin ekranda göstermek veya bir dosyaya yazdırmak amacı ile kullanılır. Bu komutla (disp komutuna benzemez) çıkışın formatı ayarlanır. Numara formatları kontrol edilebilir. 1. fprintf komutu ile ekrana bir mesaj yazdırma; fprintf ( Ekranda Görüntülenen Mesaj ) >> fprintf(' Girilen parametre değerlerine göre problemin çözümü yoktur. Lütfen giriş verileri kontrol edin') Girilen parametre değerlerine göre problemin çözümü yoktur. Lütfen giriş verileri kontrol edin>> fprintf(' Girilen parametre değerlerine göre problemin çözümü yoktur.\n Lütfen giriş verileri kontrol edin \n') Girilen parametre değerlerine göre problemin çözümü yoktur. Lütfen giriş verileri kontrol edin Birden fazla fprintf komutu icra ediliyorsa, ekranda mesajlar otomatik olarak peş peşe görülür. 1. fprintf komutu ile ekrana bir mesaj yazdırma; fprintf ( Ekranda Görüntülenen Mesaj ) >> fprintf(' Problemin çözümü yoktur. Lütfen giriş verileri kontrol edin') Problemin çözümü yoktur. Lütfen giriş verileri kontrol edin >> fprintf(' Problemin çözümü yoktur. \n Lütfen giriş verileri kontrol edin \n ') Problemin çözümü yoktur. Lütfen giriş verileri kontrol edin fprintf(' Problemin çözümü yoktur. Lütfen giriş verilerini kontrol edin.') x=6; d=19+5*x; fprintf(' Bu programı sonra çalıştırmayı deneyin.') y=d+x; fprintf('farklı giriş değerleri kullanın.') >> Ders4Orn6 Problemin çözümü yoktur. Lütfen giriş verilerini kontrol edin. Bu programı sonra çalıştırmayı deneyin. Farklı giriş değerleri kullanın. 2. fprintf komutu ile yazı ve sayısal verinin birlikte ekrana yazdırılması; fprintf ( Ekranda Görüntülenen Mesaj %-5.2f ilave Mesaj, değişken_adı ) 2. fprintf komutu ile yazı ve sayısal verinin birlikte ekrana yazdırılması; Flag, seçim(opsiyonel) - Alana sadece sayıyı yazar + Sayının önüne işaretini de basar 0 Sayı alandan küçük ise sıfır ekler - 5.2 f % : işareti yazının içine yazılacak rakamın yerini gösterir. Alanın genişliği ve hassasiyeti (opsiyonel) -5.2f değişken_adı : sayının biçimini tanımlar : Hangi ismdeki değişkenin ekrana yazdırılacağı >> Ders4Orn7 1. Sayıyı giriniz, x1= 5 2. Sayıyı giriniz, x2= 6 3. Sayıyı giriniz, x3= 8 Girdiğinin bu üç sayının ortalaması 6.33 dir Dönüşüm Karakteri (Gerekli) e Küçük e, üslü sayı notasyonu ( 1.709098e+001). E Büyük E, üslü sayı notasyonu ( 1.709098E+001). f Sabit-nokta notasyonu ( 17.090980). g Küçük e üslü veya sabit-nokta notasyonun kısası G Büyük E üslü veya sabit-nokta notasyonun kısası i Tamsayı 1

3. fprintf komutu ile yazı ve birden fazla sayısal verinin birlikte ekrana yazdırılması; fprintf ( mesaj. %g %g %f ilave, değişken1, değişken2, değişken3 ) % Bu program ilk hızı ve atış açısı verilmiş bir merminin % yörüngesini hesaplar. % fprintf komutu ile ekrana metin ve sayısal değer yansıtılır. v=1584; % İlk hızı [km/h] teta=30; % Atış açısı [Derece] vmh=v*1000/3600; t=vmh*sind(teta)/9.81; d=vmh*cosd(teta)*2*t/1000; >> Ders4Orn8 Bir mermi 30.00 derece açı ve 1584.00 km/h ilk hızla atılırsa gideceği maksimum mesafe 17.091 km.dir fprintf('bir mermi %3.2f derece açı ve %4.2f km/h ilk hızla atılırsa gideceği maksimum mesafe %g km.dir\n ',teta,v,d) fprintf komutu vektörler de de kullanılır. Değişken bir vektör ise vektör elemanları ile ilgilenir. Eğer bir matris ise sütun sütun işlem yapılabilir. >> x=1:5; >> x=1:3:15; >> y=x.^(1/3); >> S=[x;y] S = 1.00 4.00 7.00 10.00 13.00 1.00 1.59 1.91 2.15 2.35 >> fprintf('eğer sayı %i ise küp kökü %f dir.\n',s) Eğer sayı 1 ise küp kökü 1.000000 dir. Eğer sayı 4 ise küp kökü 1.587401 dir. Eğer sayı 7 ise küp kökü 1.912931 dir. Eğer sayı 10 ise küp kökü 2.154435 dir. Eğer sayı 13 ise küp kökü 2.351335 dir. >> x=1:3:15; x = 1.00 4.00 7.00 10.00 13.00 >> >> fprintf('eğer sayı %i ise küp kökü %4.2f dir.\n',x) Eğer sayı 1 ise küp kökü 4.00 dir. Eğer sayı 7 ise küp kökü 10.00 dir. Eğer sayı 13 ise küp kökü >> >> fprintf('eğer sayı %i ise küp kökü %4.2f dir.\n',s) Eğer sayı 1 ise küp kökü 1.00 dir. Eğer sayı 4 ise küp kökü 1.59 dir. Eğer sayı 7 ise küp kökü 1.91 dir. Eğer sayı 10 ise küp kökü 2.15 dir. Eğer sayı 13 ise küp kökü 2.35 dir. 4. fprintf komutu ile sayısal olmayan verinin ekrana veya dosyaya yazdırılması; fprintf ( mesaj. %f %c %c ilave, S1, S2, S3 ) fprintf ( İşlemin Sonuç Değeri %d ve karakteri %c\n',30-17,'x'); >> fprintf('işlemin Sonuç Değeri %d ve karakteri %c\n',30-17,'x'); İşlemin Sonuç Değeri 13 ve karakteri x save fonksiyonu bir veri dosyasından bir matrise veri yazmak için veya bir veri dosyasına veri eklemek için kullanılır. Bu fonksiyonun çağırma veya kullanma biçimi; save dosya_adı matris_değişken_adı ascii -ascii nitelendiricisi düz metin veya veri dosyası oluşturmak için kullanılır. Örnek olarak önce rand fonksiyonu ile bir matris oluşturulmuş ve daha sonra bu matris save foksiyonu ile testverisi adı ile saklanmıştır. >> mymat = rand(2,3) mymat = 0.4565 0.8214 0.6154 0.0185 0.4447 0.7919 >> save testverisi.dat mymat -ascii mymat değişkeni adı altında oluşturulan verileri saklayan, testverisi.dat adında bir dosya oluşturur ve dosyayı MATLAB ın o andaki mevcut klasörüne (Current Folder) kaydeder. ascii biçimi dosyasını metin dosyası gibi saklanmasını sağlar. Böylece dosya notepad gibi metin düzenleyicilerinde de görüntülenebilir. Eğer bu ascii biçimi eklenmezse dosyadaki veri MAT dosyası olarak saklanır ve ancak MATLAB ortamında açılabilir. load bir MAT-dosyasındaki değişkenleri MATLAB çalışma ortamına yükler. Genelde ikili sayılar (binary) biçimdeki saklanan sıkıştırılmış MAT-dosyası (.mat uzantılı MATLAB dosyası) save komutu ile oluşturulabilir. MAT dosyası MATLAB ortamında yapısal diziler veya çift tamlıkta diziler şeklinde yüklenir. Bir önceki örnekte save komutu ile saklanan testverisi.dat dosyasını aşağıdaki şekilde yükleyebiliriz. >> clear >> load testverisi.mat -ascii >> who Your variables are:testverisi >> testverisi testverisi= 0.4565 0.8214 0.6154 0.0185 0.4447 0.7919 Burada clear fonksiyonu MATLAB alanındaki tüm değişkenleri temizlemek için kullanılmıştır. Böylece load komutu ile yüklenen verileri başka verilerle karışması önlenmiştir. load komutundan sonraki who fonksiyon komutu da MATLAB çalışma alanına yüklenen dosya adını görüntülemiştir. Daha sonra dosya adı çağırılınca bu dosyadaki değişkenler görüntülenmiştir. Burada ascii kodunda saklanan dosya yine ascii olarak çağrılmıştır. Bunun dışında load komutunun çeşitli kullanım veya çağırma biçimleri vardır. Bunlara help komutu veya diğer elektronik notlardan ulaşılabilir >> a=magic(4),b=ones(2,4)*-5.7 a = b = >> c=[8 6 4 2] c = >> save -ascii maydata.dat a b c >> load maydata.dat >> maydata maydata = Komut satırları sonucunda oluşturulan a b c değişkenleri mydata dosyasında saklanır ve daha sonra load komutu ile çağırıldığında; tüm veriler tek bir dosyada aktarılır. 2

MATLAB FONKSİYON DOSYALARI Fonksiyonlarla İşlem Yapmak >> a=magic(4);b=ones(2,4)*-5.7; >> c=[8 6 4 2]; >> save maydata a b c >> clear a b c >> load maydata >> maydata Undefined function or variable 'maydata'. >> a a = >> b b = >> c c = Buna karşılık, komut satırları sonucunda a b c değişkenleri maydata isimli dosyada.mat uzantılı olarak saklanır. load komutu ile de bu dosya içindeki a b c değişkenleri çalışma ortamına aktarılır MATLAB da çeşitli hesaplama işlemleri fonksiyon adı verilen hazır çözüm programları ile yerine getirilir. Çok sayıda olan ve günden güne sayısı artan bu fonksiyonlar diğer programlama dillerindeki (FORTRAN, BASIC, Pascal, Basic, C/C++ vb) altprogramlara (subroutine) veya yöntemlere eşdeğerdir. Kısaca MATLAB bir fonksiyonlar derlemesinden ibarettir denilebilir. Bu fonksiyonlar karekök alma, üst alma, sinus veya cosinus hesaplama gibi en basit temel matematik işlemlerden diferansiyel denklem çözümü, integral hesaplama işlemleri gibi en karmaşık matematik işlemlere kadar çeşitlilik gösterir. MATLAB içinde yer alan bu fonksiyonlar M-dosya fonksiyonları olarak bilinir ve bunların bir kısmı sistem içinde gömülü, kodları görüntülenemez olup diğer bir kısmı ise düze metin formatında olup bir metin düzleyicisinde kodları görüntülenebilir ve incelenebilir. MATLAB ortamında veya bir program içindeki hesaplama işlemlerinin büyük bir kısmı fonksiyonlarla yerine getirilir. Bir fonksiyonla işlem yapmak için bunun MATLAB ortamında veya program içinde tanıtılması veya çağrılması gerekir. Daha önceki bölümlerde de çeşitli şekillerde bazı fonksiyonlar tanıtılmış olup burada kısaca burada fonksiyon çağırma biçimleri verilecektir. Bir fonksiyonla hesaplama işleminde, işlem konusu giriş argümanı parantez içinde tanımlanır. Örneğin; max(a); tanıtımı ile max fonksiyonu önden tanıtımı yapılmış A giriş argümanına ait işlemi yerine getirir. Burada A basit bir sıkalar sayı, vektör veya matris olabilir. Bu örnekte max fonksiyonu A dizisindeki sayıların maksimum değerini bulur. Daha karmaşık işlemleri yerine getiren fonksiyonlarda giriş argümanı basit bir denklem veya başka bir fonksiyon da olabilir. Birden fazla giriş argümanı kullanılması halinde argümanlar arası virgül ile ayrılır. max(a,b); Fonksiyon çözüm çıkışı bir değişkene atanarak bir sonraki işlemden kullanılabilir veya saklanabilir. Aşağıda olduğu gibi, maxa=max(a,b); Fonksiyonlarla İşlem Yapmak Birden fazla çıkış argümanı kullanılması halinde çıkış argümanları köşeli parantezle tanımlanır. [maxa,location] = max(a); Çıkış argümanları virgüle ayrılabileceği gibi aralarına boşluk konarak da ayrılabilir. Yalnız giriş argümanları arasında mutlaka virgül kullanılmalıdır. Herhangi bir karakter seri girişi argümanı tek tırnak içinde tanılanır. disp('hello world'); Herhangi giriş ve çıkış argümanı gerektirmeyen fonksiyonlar sadece isimleri tanımlanır veya çağrılır. Örneğin clc fonksiyonu tanımı komut penceresinde (Command Window) yazıları siler-temizler. clf fonksiyonu tanımı figür penceresinde (Figure Window) grafiği siler. MATLAB' ta yer alan temel matematiksel işlem ve program hazırlamada kullanılan fonksiyonlar aşağıda olduğu gibi sınıflandırılabilir. M-dosyası olarak da bilinen fonksiyon dosyalarının hazırlanması ve kullanılması konusunda ayrıntılı bilgi bir sonraki bölümde yer almaktadır. Temel Matematiksel işlem fonksiyonları: Bu sınıfta temel matematiksel işlemlerin yürütülmesinde kullanılan trigonometrik, üstel; karmaşık ve yuvarlatma fonksiyonları yer alır. Bu fonksiyonların listesi ve işlevleri hakkında yardım almak için, help elfun Özel işlem fonksiyonları: Bu sınıfta bessel, gamma gibi özel ve koordinat dönüşüm fonksiyonları yer alır. Bu fonksiyonların listesi ve işlevleri hakkında yardım almak için, help specfun Matris ve lineer cebir işlem fonksiyonları: MATLAB'ın desteklediği matris fonksiyonları ile matris oluşturma ve matris işlemleri (toplama-çıkarma ve çarpma-bölme) yerine getirilir. Lineer cebir işlemleri ise lineer denklem çözümleri, özdeğer bulma, tekil değerler bulma ve matrisin çarpanlara ayırma (factorizations) işlemlerini kapsar. Bu fonksiyonların listesi ve işlevleri hakkında yardım almak için, help matfun Polinom ve aradeğer bulma işlem fonksiyonları: Bu fonksiyonlar ile bir polinomun köklerinin bulunması, değerlendirilmesi ve türev işlemleri yerine getirilir. Ayrıca bu sınıfta yer alan fonksiyonlar eğri uydurma ve kısmi kesirlere ayırma işlemlerinde de kullanılır. Bu fonksiyonların listesi ve işlevleri hakkında yardım almak için, help polyfun 3

Veri çözümleme ve istatistiksel işlem fonksiyonları: Bu sınıfta yer alan fonksiyonlar veri çözümlemesinde matris biçimindeki dizileri düzenleme, basit betimsel istatistiksel fonksiyon işlemleri, MATLAB içinde veri ön işlemlerini yerine getirme işlemlerini kapsar. Bunlara ilaveten bu fonksiyonlarla eğri uydurma, yinelemeli işlemler (regression), veri f iltreleme ve hızlı Fourier dönüşümü (FTT) işlemleri gibi basit istatistiksel işlemler de gerçeklenebilir. Bu fonksiyonların listesi ve işlevleri hakkında yardım almak için, help datafun Fonksiyon fonksiyonları: Bu fonksiyonlar sayısal diziler yerine matematiksel fonksiyonların çözüm işlemlerini yerine getirir. Bu fonksiyonların kullanımında kullanıcı tarafından hazırlanan özel fonksiyon dosyalarının hazırlanması gerekir. Bu sınıfta yer alan fonksiyonlar bir fonksiyonun eğrisini oluşturma, optimum yapma (enuygunlama) ve sayısal integral hesaplama işlemlerini yerine getirir. Bu fonksiyonların listesi ve işlevleri hakkında yardım almak için, help funfun MATLAB Düz Metin Dosyaları (Script) MATLAB programının en basit türü düz metin (script) programı olarak bilinir. Düz metin programı.m uzantılı bir dosya olup MATLAB komutları ve fonksiyon çağıran (tanımlayan) ardışık satırlardan oluşur. Bir düz metin programı komut hattından tekrarlı bir şekilde yürütülen hesaplamalar gibi geçerli bir dizi MATLAB komutunun yürütülmesini otomatik hale getirmek için kullanılır. Bu dosyalar çalışma alanındaki mevcut değişkenleri işler veya işlediği değişkenlerden yenilerini oluşturur. Bu dosyaların yürütülmesinden elde edilen sonuçlar da çalışma alanında kalır. Bu dosyalar MATLAB komut ortamında.m soneki kullanmaksızın dosya adını yazarak çalıştırılır. Düz metin program dosyası, yerleşik MATLAB fonksiyon ve kullanıcı tarafından oluşturulan fonksiyon dosyaları da dahil olmak üzere her hangi bir sayıda komut içerebilir. MATLAB Düz Metin Dosyaları (Script) Fonksiyon Dosyası Örneği Fonksiyon Dosyaları ve Programları Fonksiyon program dosyası ilk satırında function kelimesi bulunan.m sonekli bir M-dosyasıdır. Fonksiyon dosyası giriş argümanlarına karşılık gelen çözümü çıkış argümanları olarak sonuçlandırır. Fonksiyon dosyaları kendi çalışma alanındaki yerel değişkenleri işletir ve fonksiyon içinde yapılan hesaplamaların sonuçları çıkış argümanları olarak tanımlandığı taktirde alınır. MATLAB içinde bulunan tüm M-dosyaları fonksiyon dosyaları biçiminde olup bunlar M-dosyası olarak hazırlanan herhangi bir program içinde çağrılabilir. Gerçekte bunlar Fortran, BASIC, C ve benzeri programlama dillerinde kullanılan alt programlar (subroutines) gibi işlem görürler. Bir fonksiyon dosyası giriş ve çıkış argümanları tanımlayan bir fonksiyon (function) tanım satırı ile başlar. function kelimesinin bulunduğu bu satır olmadan bu dosya da düz metin dosyası gibi işlem görür. Fonksiyon dosyasının program başlığını teşkil eden fonksiyon tanım satırı aşağıda olduğu gibidir. function [çıkış değişkenleri]=fonksiyon_ismi(çıkış değişkenleri) Fonksiyon Dosyaları ve Programları function [çıkış değişkenleri]=fonksiyon_ismi(çıkış değişkenleri) Burada fonksiyon_ismi fonksiyonun yazıldığı dosya adı ile aynı (.m soneki olmaksızın) olmalıdır. Örneğin, eğer fonksiyon ismi deneme ise deneme ismi altında yazılmalı ve deneme.m olarak kaydedilmelidir. Herhangi bir fonksiyon M-dosyasının hazırlanması ile ilgili açıklayıcı bilgi aşağıda olduğu gibidir. function[x, y]=deneme(a, b, c) % Fonksiyon tanım satırı % H1 Line (H1 Satır) Fonksiyonun amacı belirleyen tek satırlık % Help Text (Yardım Metni) Fonksiyonun nasıl kullanılacağını % açıklayan bir veya daha fazla satırdan oluşan % yardım metni. Kullanıcı tarafında % "help <fonksiyon_isim>".yazılınca bu metin görüntülenir. % Fonksiyon gövdesi; normal olarak ilk boş satırdan sonra başlar % Comments (yorum) Fonksiyonun ne yaptığı, beklenen % girişler, beklenen çıkışlar hakkında açıklama % (dahili kullanım için). "help <fonksiyon_isim>". % yazılınca bu metin görüntülenmez x = deneme(a,b,c); % Fonksiyonunun MATLAB komut ortamında çağırılma (tanıtma) biçimi Fonksiyon dosyasının oluşturulmasını ve çalıştırılmasını aşağıda verilen basit bir örnekle açıklayabiliriz. Burada MATLAB'ta mevcut bir vektörün ortalamasını hesaplayan "ortalama.m" dosyasına ait bildirimler listesi verilmiştir. function y=ortalama(x) % ortalama(x) her bir % sütunda ortalama % değeri olan bir satır vektörüdür. [m,n]=size(x) if m = =1 m=n; end y=sum(x)/m; 4

Yukarıdaki şekilde, MATLAB Editor (metin düzenleyicisi) de hazırlanıp ve "ortalama.m" olarak saklanan (dosya adı ile fonksiyon adı aynı olmalı) yeni fonksiyon dosyasının komut penceresinde çağrılması herhangi bir MATLAB dosyasının çağırılmasından farklı değildir. Örneğin z, 1'den 99'a kadar tamsayıları gösteren bir vektör olsun, z=1:99; komutu ile z vektörü veya satır matrisi oluşturulmuş olur. Bu vektör içinde yer alan sayıların ortalama değeri ise aşağıda gösterildiği gibi "ortalama" ifadesini kullanmak suretiyle yapılır. veya ortalama(z) a=ortalama(z) Birinci durumda "z" matrisinde yer alan sayıların ortalama değerleri "ortalama.m" fonksiyon dosyası yolu ile hesaplanıp ekranda ans=50 şeklinde görüntülenecektir. İkinci durumda ise "z" ortalama değeri hesaplanıp görüntülendikten sonra aynı zamanda "a" değişkenine atanarak saklanacaktır. Bir fonksiyon dosyasının belli başlı bölümlerini ve özelliklerini örnek "ortalama.m" fonksiyon dosyası üzerinden aşağıdaki şekilde açıklayabiliriz. Birinci satır fonksiyon tanım satırı olup, fonksiyon adını, giriş ve çıkış argümanlarının sayısını ve sırasını tanımlar. Bu satır bulunmadığı zaman, dosya düz yazı dosyası gibi işlem görür. % işareti ile başlayan satırlar yardım açıklama satırlarıdır. Bu satırların biricisi 1.yardım (help 1) satırıdır. lookfor fonksiyonu veya tüm klasör yolu üzerinden yardım talebi olduğunda bir fonksiyon için MATLAB bu satırı görüntüler. Bundan sonraki satırlar yardım metnidir. Belli bir fonksiyon hakkında yardım istendiğinde MATLAB 1 yardım satırı ile birlikte tüm yardım metnini görüntüler. Bu satırlarda yazılanlar MATLAB tarafından icra edilmez. Fonksiyon gövdesi, % işareti ifade edilen satırlardan sonraki satırlardır. Fonksiyonun bu kısmı hesaplamaları yerine kod içerir ve herhangi çıkış argümanları için değerleri saptar. Fonksiyon dosyası içinde yer alan m, n ve y gibi değişkenler "ortalama" dosyasının çalışması sırasında kendi çalışma ortamında geçerli olup MATLAB çalışma ortamında görüntülenemez ve kullanılamazlar. MATLAB'ta bir fonksiyon içinde kullanılan değişkenler yerel (local) değişkenler ve MATLAB çalışma ortamında yer alan ve işletilen değişkenler de genel (global) değişkenler adını alır. Hesaplatılması gereken değişkenlerin fonksiyon dosyası içinde yer alan değişkenler cinsinden atanması şart değildir. Örneğimizde 1 den 99 a kadar olan tam sayılar, fonksiyon dosyası içinde yer alan x cinsinden değil de z cinsinden atanmıştır. Veriler x cinsinden de veya z dışındaki bir karakter olarak da atanabilirdi. 1 den 99 a kadar sayıları içeren z vektörü, "ortalama" içine geçirilerek veya kopya edilerek onun x adı ile bilinen yerel değişkeni haline gelir. Benzer şekilde çıkış argümanında fonksiyon dosyasında tanımlanan karakterle aynı olması gerekmez. Örneğimizde hesaplanan sonuç "a" şeklinde bir değişkene atanmıştır ki bu "ortalama" fonksiyon dosyasında "y" ile belirtilen bir değişkene atanmaktadır. Fonksiyon dosyaları hakkında daha ayrıntılı bilgi alma ve çeşitli MATLAB fonksiyon dosyalarını incelemek için MATLAB ortamında edit fonsiyon_adı yazılarak editörde yazım ve hazırlanış biçimleri görüntülenebilir. Yalnız bunların değiştirilmemesi gerekir. 5