Fen ve Mühendislik Uygulamaları ile MATLAB

Benzer belgeler
Bilgisayar Programlama MATLAB

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

Fen ve Mühendislik Uygulamalarında MATLAB

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

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

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

Fen ve Mühendislik Uygulamaları ile MATLAB

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

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

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ

Temel Bilgisayar Programlama

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

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

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

Bölüm: Matlab e Giriş.

Bilgisayar Programlama

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

ALGORİTMA VE PROGRAMLAMA II

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

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

Bilgisayar Programlama MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Bilgisayar Programlama MATLAB

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

DOSYA İŞLEMLERİ Programlama dilleri hafta -

MatLab. Mustafa Coşar

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

Bilgisayar Programlama MATLAB

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

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

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

Genel Programlama II

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

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

Bilgisayar Programlama MATLAB

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

BM202 SAYISAL ÇÖZÜMLEME

Ders 1 : MATLAB Programlama Ortamı

Yrd. Doç. Dr. Caner ÖZCAN

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

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

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

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

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

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

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

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

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

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

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

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

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

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

BAHAR YARIYILI MAK1010 MAKİNE MÜHENDİSLİĞİNDE BİLGİSAYAR UYGULAMALARI DERSİ FİNAL SINAV SORULARI

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

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

BİLGİSAYAR PROGRAMLAMA DERSİ

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

Program BagilHarfNotuHesabi.m clc; clear all; %Microsoft Excel Dosyalarını Matlaba okutmaya yarar. x=xlsread('veri.xls','b2:b37');

Eln 1002 Bilgisayar Programlama II

Örnek 1: 2 x = 3 x = log 2 3. Örnek 2: 3 2x 1 = 2 2x 1 = log 3 2. Örnek 3: 4 x 1 = 7 x 1 = log 4 7. Örnek 4: 2 x = 3 2 x 2 = 3

Klavyeden Basit Giriş/Çıkış İşlemleri

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

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

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

MATLAB ile ANALİZ (MIA)

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

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

BLG 1306 Temel Bilgisayar Programlama

Alt programlar- Deyim Fonksiyonları

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

C Programlama Dilininin Basit Yapıları

1- Temel MATLAB Fonksiyonları ve Programlama

EMM3208 Optimizasyon Teknikleri

Fonksiyonlar (Altprogram)

BİLGİSAYAR PROGRAMLAMA DERSİ

Fen ve Mühendislik Uygulamaları ile MATLAB

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

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

Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA II

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

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

R ile Programlamaya Giriş ve Uygulamalar

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

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

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

MatLab. Mustafa Coşar

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

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

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

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

PROGRAMLAMAYA GİRİŞ DERS 2

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

Transkript:

Fen ve Mühislik Uygulamaları ile MATLAB Doç. Dr. M. Akif CEVİZ Atatürk Üniversitesi Mühislik Fakültesi Makine Mühisliği Bölümü

Kullanıcı tanımlı fonksiyonlar Matlab da hazır tanımlı çok sayıda fonksison mevcuttur; sin, sqrt, sum. Şayet çeşitli Matlab komutlarını sıklıkla kullanıyorsanız, bu komutları bir fonksiyon haline getirebilirsiniz. Bu fonksiyonlar Matlab da tanımlı fonksiyonlar gibi çalıştırılabilir.

Kullanıcı tanımlı fonksiyonlar Yazım metodu function [out1, out2,...] = funname(in1, in2,...) Funname isimli bir bir fonksiyon oluşturur, in1, in2, giriş ifadelerini alır ve out1, out2, çıkış ifadelerini üretir. Kullanıcı tanımlı fonksiyon üretmek için: 1- İlk satır aşağıdaki gibi olmalıdır: function [output variables] = function_name(input variables); 2- m-dosyası nın adı, «function_name» ile aynı olmak zorundadır; 3- kullanıcı tanımlı fonksiyonlar, m-dosyasının adıyla çağrılırlar.

Örnek 1 Serbest düşen bir cismin son hızını hesaplayan fonksiyon yazınız Fonksiyon Dosyası (sonhiz.m) (altprogram) function v= sonhiz(g,h) v=sqrt(2*g*h); m_file (An aprogram) clc clear all g=9.81; h=10; v=sonhiz(g,h)

Örnek 2 Bir dairenin alan ve çevresini hesaplayan fonksiyon yazınız. Fonksiyon Dosyası (Dosya adı: circle.m) (Alt program) function [area,perimeter]=circle(r) area=pi*r^2; perimeter=2*pi*r; m_dosyası (Ana program) clc clear all R=1; [area,perimeter]=circle(r)

Örnek 3 İki nokta arası mesafeyi hesaplayan bir fonksiyon yazınız x1= birinci noktanın x koordinatı; x2= ikincinoktanın x koordinatı y1= birinci noktanın y koordinatı; y2= ikinci noktanın y koordinatı Fonksiyon dosyası (uzak.m) (Alt program) fundistance=sqrt((x2-x1).^2+(y2-y1).^2); ction distance= dis(x1,y1,x2,y2) M_dosyası (Ana Program) clc clear all x1=3; y1=4; x2=1; y2=2; distance= dis(x1,y1,x2,y2); fprintf('distance between two points=%g\n',distance);

Örnek 4 Aşağıdaki denklemi dışarıdan girilen x ve y değerlerine göre çözen bir fonksiyon yazınız. F(x,y)=x 2 y+x.y+ ln(x)+1 log 10 (y) +tan(x y )

Örnek 5 x in 0.1 er artımla 3 den 13 e kadar değerleri için aşağıdaki denklemi çözen ve x-y grafiğini çizen bir fonksiyon yazınız. Aşağıdaki değişkenler ana programda tanıtılmalıdır; a=5, b=6, and c=8

Çözüm 5 Ana m-file (Dosya adı: soru.m ) clc clear all x=3:0.1:13 a=5;b=6;c=8; y=deneme(a,b,c,x); plot(x,y) Function File (Dosya Adı: deneme.m) function y=deneme(a,b,c,x); y=a+(b*x.^2)/2+(c*exp(x)+2)/3;

Giriş Çıkış İfadeleri Programcılıkta ilerledikçe verilerinizi bilgisayara kaydetme ihtiyacı duyacaksınız. Matlab ve disk dosyaları arsında verilerinizin transfer edilmesi işlemleri; veri alma (diskten) ve veri gönderme (diske) isimleri ile adlandırılır. Veri miktarının fazla olduğu durumlarda, tamamının klavyeden girilmesi ve aynı veri ile tekrar tekrar uğraşmak zorlaşacaktır. Bu durumda dosyalar arasında veri alma veya gönderme işlemleri yapılır. Matlab a veri alma (diskten) ve Matlab dan veri gönderme (diske) işlemleri yapılabilir.

Dosya açma: fopen fopen, dosya açar veya açık dosya hakkında bilgi verir. Syntax ifade= fopen( dosya_adı, izin ) Bu satırile dosya_adı isimli tanımlanan izin ile açılır ve ifade ile tanımlanan dosya tanımlayıcıya eşitlenir. ifade-> dosya tanımlayıcı dosy_adı -> dosya ismi izin -> r,w,.., v.s.

Dosy Açma: fopen 'r' 'w' 'a' 'r+' 'w+' 'a+' Okuma için dosya açar (default). Yazma için yeni dosya açar veya oluşturur. Varsa mevcut verileri siler. Yazma için yeni dosya açar veya oluşturur. Mevcut verilere ilave eder. Okuma ve yazma için dosya açar. Okuma ve yazma için yeni dosya açar veya oluşturur. Varsa mevcut verileri siler. Okoma ve yazma için yeni dosya açar veya oluşturur. Mevcut verilere ilave eder.

Dosya Kapatma: fclose fclose bir dosyayı veya tüm açık dosyaları kapatır. Syntax durum = fclose(ifade); ifade-> dosya tanımlayıcı durum-> başarılı ise 0; değilse -1.

Verileri dosyaya yazma: fprintf Formatlı verileri dosyaya yazma Syntax: fprintf(ifade,format,a,...) fprintf (ifade, %format%format%format.,var_1,var_2,var_3,.)

Örnek 7 Aşağıdaki M vektörünü veri.dat isimli dosyaya yazan program yazınız. for döngüsü ile M=[1 2 3 4]; a=fopen('veri.dat','w'); fprintf (a,'%d %d %d %d',m); fclose(a); M=[1 2 3 4]; a=fopen('veri.dat','w'); for i=1:4 fprintf(a,'%d ',M(i)); fclose(a);

Örnek 8 Aşağıdaki M matrisini veri.dat isimli dosyaya yazan program yazınız. A=[1 5 11 ; 2 4 5]; a=fopen('veri.dat','w+'); for i=1:2 for j=1:3 fprintf(a,'%d ',A(i,j)); fclose(a); Atatürk University

Dosyadan veri okuma: fscanf fscanf: fscanf dosyadan formatlı verileri okumak için kullanılır. Syntax [deger, okunan_rakamların_sayısı] = fscanf(dosya_degiskeni, 'format', sayi); [value, number_of_values_read] = fscanf(file_variable, 'format', count); deger okunan_rakamların_sayısı sayi : alınan bilgi : Alınan rakamların sayısı : Okunması istenen rakam sayısı: n, [n, m], Inf

Örnek 9 Veri.dat isimli dosyadan tüm verileri alan ve b isimli dosyaya atayan program yazınız. 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 Atatürk University

Örnek 10 Veri.dat isimli dosyadan ilk iki veriyi alan ve b isimli değişkene atayn program yazınız. veri.dat 1 5 11 2 4 5 clear all clc a=fopen ('veri.dat', 'r' ); for i=1:2 b(i)=fscanf(a,'%d ',[1]); fclose(a); b Atatürk University

Bir dosyadan birden fazla değişkene veri atamak Veri.dat 1 10 3 12 4 14 5 15 6 16 7 18 Sol taraftaki dosyadan veri almak için, a = fopen('veri.dat', 'r'); b = fscanf(a, '%g %g', [2 inf]); fclose(a) Sonuç 1 3 4 5 6 7 10 12 14 15 16 18 Tsatırları değişkenlere atamak için c=b(1,:) d=b(2,:) Dorudan değişkenlere eşitlemek için a=fopen('veri.dat','r') for i=1:6 d(i)=fscanf(a,'%f',[1]); e(i)=fscanf(a,'%f',[1]); fclose(a) Atatürk University

Bir dosyadan birden fazla değişkene veri atamak Diğer metot Veri.dat 1 10 3 12 4 14 5 15 6 16 7 18 clc clear all a=fopen('veri.dat','r'); for i=1:6 for j=1:2 masa(i,j)=fscanf(a,'%g',[1,1]); fclose(a); k=(masa(:,1))' % tırnak işareti transpoz işlemidir t=(masa(:,2))'

SORU: Tabloda sıcaklık ve basınç verileri bulunmaktadır. Bu verileri ideal gaz denkleminde kullanarak özgül hacmi hesaplayan ve özgül hacmin 0.23 den büyük ve 0.33 den küçük olan değerlerini yeni bir dizi değişkenine atayan bir MATLAB programı yazınız. (R= 0.287 kj/kg.k) Deney no Basınç (kpa) Sıcaklık(K) 1 2200 1500 2 2400 2000 3 2600 2500 4 2800 3000 5 3000 3500 p v = R T (Basınç * Özgül hacim = Gaz sabiti * Sıcaklık) CEVAP: MATLAB Program clc clear all P=[2200 2400 2600 2800 3000]; T=[1500 2000 2500 3000 3500]; R=0.287; a=0; for i=1:5 v(i)=r*t(i)/p(i); if v(i)>0.23 & v(i)<0.33 a=a+1; vv(a)=v(i); vv Hafta 9-10 Atatürk University

%% dosya oluşturma clc clear all M=[2200 1500; 2400 2000;2600 2500;2800 3000;3000 3500]; a=fopen('veri.dat','w'); for i=1:5 for j=1:2 fprintf(a,'%g ',M(i,j)); fprintf(a,'\n'); fclose(a); %% Hepsini birden okutma clc clear all a=fopen('veri.dat','r'); b=fscanf(a,'%g',[2 inf]); fclose(a); T=b(1,:); P=b(2,:);

%% birer birer okutma clear all clc a=fopen('veri.dat','r'); for i=1:5 T(i)=fscanf(a,'%g',[1]); P(i)=fscanf(a,'%g',[1]); fclose(a); %% işlemler R=0.287; a=0; for i=1:5 v(i)=r*t(i)/p(i); if v(i)>0.23 & v(i)<0.33 a=a+1; vv(a)=v(i); vv Hafta 9-10 Atatürk University

Örnek 10 Bir kargo şirketinde, ücretlirme paket ağırlığına göre yapılmaktadır. Taban fiyat, 2 kg a kadar 5 TL olup ondan sonraki her kilo başına 0.5 TL ilave yapılarak hesaplanmaktadır. Eğer paket ağırlığı 35 kg dan fazlaysa, hesaplanan ücrete ilave 10 TL alınmakta ve 50 kg dan fazla tek paketler, işçi sağlığı açısından kabul edilmemektedir. Kullanım kolaylığı açısından paket ağırlığını kg cinsinden alıp, ücreti hesaplayan ve aşağıdaki formatta veri.dat isimli dosyaya yazdıran bir MATLAB programı yazınız. (Paket ağırlıklarını tam sayı alınız) Ağırlık (kg) Ücret(TL) 1 5 2 5 3 5.5 4 6 50 39 Atatürk University