MATLAB DERS NOTLARI

BÖLÜM 5
SCRIPT DOSYALARI (devam)

Prof. Dr. Asaf Varol

Prof. Dr. Asaf Varol MATLAB Ders Notları

1

Çıktıların bir dosyaya saklanması
• fopen komutu kullanılarak bir dosya açılır. • fprintf komutu kullanılarak açılan dosya üzerine yazma işlemi gerçekleştirilir. • fclose komutu kullanılarak,dosya kapatılır. fid=fopen(„dosya_adi‟,‟izin_kodu‟) fid, dosya tanımlayıcısı olarak adlandırılan bir değişkendir.
Prof. Dr. Asaf Varol MATLAB Ders Notları 2

İzin kodları
• „r‟ Okuma için dosya açılması, varsayılan durum • „w‟ yazma için dosya açılması • „a‟ „w‟ ye benzer, ancak şayet dosya önceden mevcutsa, yazma işlemi önceki dosyanın devamına eklenir. • fprintf(„fid, „metin %-5.2f ilave_metin‟,degisken_ismi) • Açılan dosyayı kapatmak için fclose(fid) kullanılır.
Prof. Dr. Asaf Varol MATLAB Ders Notları 3

Örnek
%Mile olarak verilen mesafeyi kilometreye çeviren program %Pound olarak verilen ağırlığı, Newton'a çeviren program clear all Vmph=10:10:100 Vkmh=Vmph.*1.609; TBL1=[Vmph;Vkmh]; Flb=200:200:2000, FN=Flb.*4.448; TBL2=[Flb;FN]; fid1=fopen('VmphtoVkm.txt','w'); fid2=fopen('FlbtoFN.txt','w'); fprintf(fid1,'Hiz Degistirme Tablosu \n\n'); fprintf(fid1,' mi/h km/h \n'); fprintf(fid1,' %8.2f %8.2f\n',TBL1); fprintf(fid2,'Kuvvet Degisim Tablosu\n \n'); fprintf(fid2,' Pound Newton \n'); fprintf(fid2,' %8.2f %8.2f\n',TBL2); fclose(fid1); Prof. Dr. Asaf Varol MATLAB Ders fclose(fid2); Notları

4

Veri alma gönderme işlemleri
• Diğer bilgisayar programları tarafından üretilen veya deneylerde kaydedilen kayıtların veri analizlerinde de MATLAB sıkça kullanılır. • Benzer şekilde MATLAB‟ın ürettiği sonuçlar da bazen diğer programlama dillerine transfer edilebilir.

Prof. Dr. Asaf Varol MATLAB Ders Notları

5

Excel ile alış-veriş
• degisken_ismi=xlsread(„dosya_adi‟) • dosya_adi, Excel dosyasının adıdır. Excel dosya dizini, ya mevcut dizin içinde olmalı yada arama yolu içinde yer almalıdır. • Şayet Excel dosyası birden fazla sayfadan oluşuyorsa, ilk sayfadaki verilen transfer edilir. • Şayet bir Excel dosyasının birkaç sayfası varsa, xlsread komutu, belirtilen bir sayfadan veri alması için aşağıdaki biçimde kullanılabilir. • degisken_ismi=xlsread(„dosya_adi‟,‟sayfa_ismi‟)
Prof. Dr. Asaf Varol MATLAB Ders Notları 6

Excel‟den veri alma
• Sadece verilerin bir kısmı alınacaksa, ilave argümanlar yazılarak bu işlem sağlanabilir.
degisken_ismi=xlsread(„dosyaadi‟,‟sayfa_adi‟,‟bolge‟)

• „bolge‟ spreadsheet‟in adreslerle tanımlanmış dikdörtgen bölgedir. Örneğin „C2:E5‟ bölgesi, 2,3,4 ve 5 satırları ve C, D ve E sütunlarından oluşur.
Prof. Dr. Asaf Varol MATLAB Ders Notları 7

Excel‟e veri gönderme
• xlswrite(„dosyaadi‟,dosya_adi • xlsread‟e benzer şekilde burada da „dosya_adi‟ ve „bolge‟ argümanları kullanılabilir.

Prof. Dr. Asaf Varol MATLAB Ders Notları

8

Excel‟den veri okuma
>> data=xlsread('Testdata1') data = 12 3 7 13 -6 0 5 6 8 1 -2 9 19 21 3

Prof. Dr. Asaf Varol MATLAB Ders Notları

9

MATLAB file menüsünden veri alınması

Prof. Dr. Asaf Varol MATLAB Ders Notları

10

Import Wizard

Prof. Dr. Asaf Varol MATLAB Ders Notları

11

Testdata2 verilerini alma işlemi

Prof. Dr. Asaf Varol MATLAB Ders Notları

12

Testdata2 verilerinin MATLAB‟a geçirilmesi

Prof. Dr. Asaf Varol MATLAB Ders Notları

13

Örnek problem
• Yarı çapı r olan silindirik bir silonun üstünde yarıçapı R olan bir yarım bir küre şeklinde bir kapak bulunmaktadır. Silindirik parçanın yüksekliği h olarak verilmektedir. • Verilen r, R ve V hacmine bağlı olarak silindirin H yüksekliğini bulan bir MATLAB programı yazınız. • r=30 cm, R=45 cm ve V= 200000 cm3 alınız.
Prof. Dr. Asaf Varol MATLAB Ders Notları 14

Verilenler

Prof. Dr. Asaf Varol MATLAB Ders Notları

15

Çözüm
theta=asin(r/R), h=R*(1-cos(theta)); Vkapak=pi*h^2*(3*R-h)/3; H=(V-Vkapak)/(pi*r^2); S=2*pi*(r*H+R*h); fprintf('H yuksekligi=%f cm.',H) fprintf('\n silonun yuzey alani= %f cm2',S)
Prof. Dr. Asaf Varol MATLAB Ders Notları 16

Komut penceresinde girişler ve hesap sonuçları
>> r=30;R=45;V=200000; >> theta = 0.7297

H yuksekligi=64.727400 cm. silonun yuzey alani= 15440.777753 cm2
Prof. Dr. Asaf Varol MATLAB Ders Notları 17

Kaynaklar
• Gilat, A.: MATLAB, An Introduction With Applications, 2nd Edition, John Wiley & Sons, Inc., 2005 • Celik, Ismail, B., “Introductory Numerical Methods for Engineering Applications”, Ararat Books & Publishing, LCC., Morgantown, 2001 • Fausett, Laurene, V. “Numerical Methods, Algorithms and Applications”, Prentice Hall, 2003 by Pearson Education, Inc., Upper Saddle River, NJ 07458 • Rao, Singiresu, S., “Applied Numerical Methods for Engineers and Scientists, 2002 Prentice Hall, Upper Saddle River, NJ 07458 • Mathews, John, H.; Fink, Kurtis, D., “Numerical Methods Using MATLAB” Fourth Edition, 2004 Prentice Hall, Upper Saddle River, NJ 07458 • Varol, A., “Sayisal Analiz (Numerical Analysis), in Turkish, Course notes, Firat University, 2001

Prof. Dr. Asaf Varol MATLAB Ders Notları

18

Sign up to vote on this title
UsefulNot useful