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



Benzer belgeler
Matlab da 2-boyutlu Grafik Çizimi. Arş. Gör. Mehmet Ali ÜSTÜNER

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

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Grafik Komutları. Grafik Türleri plot: çizgisel grafikler bar: sütun bar şeklindeki grafikler stem: sütun çizgisel grafikler pie: pasta grafikleri

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

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

Yukarıdaki program çalıştırıldığında aşağıdaki sonucu elde ederiz.

Koşul deyimleri: Koşul deyimleri döngülerle birlikte programcılıkta en çok kullanılan deyimlerdir. Matlab de kullanılan koşul deyimleri;

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

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

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

MATLAB de GRAFİK İŞLEMLERİ

AÇILIŞ EKRANI. Açılış ekranı temelde üç pencereye ayrılır:

MATLAB. Grafikler DOÇ. DR. ERSAN KABALCI

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

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

Bilgisayar Programlama MATLAB

6. ÇİZİM İŞLEMLERİ Boyutlu Eğri Çizimi x ve y vektörleri ayni boyutta ise bu vektörleri ekrana çizdirmek için plot(x,y) komutu kullanılır.

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

ALGORİTMA VE PROGRAMLAMA I

Fen ve Mühendislik Uygulamalarında MATLAB

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA MATLAB

Bölüm-4. İki Boyutta Hareket

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

MATLAB DA 2 BOYUTLU GRAFİK İŞLEMLERİ

Đlişkisel Operatörler

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

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

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

DENEY 1: Matlab de Temel Uygulamalar

BİLGİSAYAR PROGRAMLAMA DERSİ

UYGULAMALAR -2 Select case Yapısı: Select Case case case case case case is case Else End Select Örnek:

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

Fen ve Mühendislik Uygulamaları ile MATLAB

Internet Programming II

BİLGİSAYAR PROGRAMLAMA DERSİ

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

YUVARLAMA FONKSİYONLARI

BM202 SAYISAL ÇÖZÜMLEME

NAZMİYE DEMİREL ORTAOKULU BİLİŞİM TEKNOLOJİLERİ DERSİ 1. DÖNEM 6. SINIFLAR DERS NOTU EXCEL 2007 DERS NOTLARI

MatLab. Mustafa Coşar

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

Bilgisayar Programlama MATLAB

14 Şubat 2011 Pazartesi günü uygulamada çözdüğümüz 2. Soruyu, aynı sıra ile bu defa MATLAB kullanarak çözelim.

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

Program akıģı sırasında belirtilen satır numaralı yere gitmek için kullanılır. Genel formu: [<satır numarası>] GOTO <satır numarası 1> GOTO n

Bu soruda eğik şekilde belli bir hızda ve değişik açılarda atılan ve sonrasında yerden seken bir topun hareketini ifade eden kod yazılacaktır.

Bilgisayar Programlama MATLAB

MATLAB DE 2 BOYUTLU GRAFİK TÜRLERİ

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

4- ALGORİTMA (ALGORITHM)

3. KOŞUL YAPILARI 3.1. IF YAPISI 2

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

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

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

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

plot Nokta grafiği >> X = 0:100; >> Y1 = X +7.9; >> Y2 = (X * 4) -Y1;

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

Print Komutu ile Değişkenleri Yazdırmak

HAREKET HAREKET KUVVET İLİŞKİSİ

Akış Kontrol Mekanizmaları

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

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

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

GrafEq Grafik Çizim Programı (Ocak 2009)

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

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

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

Microsoft Office Excel 2007

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

C Konsol Giriş Çıkış Fonksiyonları

Word Otomatik Düzelt

STEM komutu ayrık zamanlı sinyalleri veya fonksiyonları çizmek amacı ile kullanılır. Bu komutun en basit kullanım şekli şöyledir: stem(x,y).

Bilgisayar Programlama

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

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

Uygulama 1) Sabit olarak belirlenen sayıda tekrar eden (5 kez) Visual Basic kaynak kodlarını yazınız.

BÖLÜM 3 OPERAT A ÖRLER

MODÜL 4 HESAP TABLOSU UYGULAMALARI 2

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

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

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

4. HAFTA ENM 108 BİLGİSAYAR DESTEKLİ TEKNİK RESİM. Yrd.Doç.Dr. İnan KESKİN.

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

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

EHM381 ANALOG HABERLEŞME DÖNEM PROJESİ

AGSoft Çocuk Gelişim Takip Programı Kullanım Kılavuzu

5/14/2015. Kaynaklar. Bilgisayar Programlama. Program. Programlamanın Amacı. Programlama Dili. Programlama Dilleri

Matematiksel Operatörler

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

PROGRAMLAMA DİLLERİ I

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

MATLAB MATLAB MAT LAB MAT LAB MATLAB

MatLab. Mustafa Coşar

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

FORMÜLLER VE FONKSİYONLAR

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

Transkript:

BİLGİSAYAR PROGRAMLAMA VE FİZİKTE PROGRAMLAMA DERSLERİ İÇİN MATLAB ÇALIŞMA NOTLARI Mehmet ÖZKAN input:bu komut kullanıcıdan veri girişi istiğinde kullanılır. Etkin ve etkileşimli bir program yazımında çok kullanışlıdır. Genel formatı; degisken_adi=input('ifade') şeklindedir. ÖRNEK:Program çalıştırıldığında bizden bir A değeri girmemizi istesin; >> A=input('Bir değer giriniz = ') Bir değer giriniz = 5 A = >> Gibi 5 ÖRNEK:A ve B gibi girilen iki sayıyı çarpan bir program yazmak istesek; A=input('A sayısının değerini girin = '); B=input('B sayısının değerini girin = '); SONUC=A*B A sayısının değerini girin = 12 B sayısının değerini girin = 5 SONUC = 60 :Atanan ya da girilen bütün değer ve tanımlamaları siler. ÖRNEK:A=5 ve B=3 olarak girdiniz ve C yi de A ve B nin toplamı şeklinde tanımladınız. Bu işlemlerin sonucunda A=5, B=3 ve C=8 olarak atanmış olur. Bundansonra siz yazana kadar yada bu derleri değiştirene kadar A,B ve C nin değerleri değişmez. Bu değerler yandaki Workspace penceresinde görülebilir. Clear yazıp enter e basıldığında yada program kodları içinde herhangi bir yere yazıldığıda komutu çalıştıktan önceki değerler silinir. Bu komut çalıştıktan sonra yeni değer girilene kadar yandaki Workspace penceresi boş görünür. >> A=5

A = 5 >> B=3 B = 3 >> C=A+B C = >> 8 Girilen değerler Workspace sayfasında görülür

Clear komutu çalıştıktan sonra girilen değerler Workspace sayfasından silinir. :Sadece komut penceresini temizler girdiğiniz yada atadığınız herhangi bir değer kaybolmaz.

disp:bu komutun çok çeşitli kullanımları olmasına rağmen bizim öğreneceğimiz iki kullanım şekli vardır bunlardan birincisi ekrana yzı yazdırmak ikincisi ise satırlar arasında satır boşluğu bırakmak. Kullanım şekli; disp(sayı) eğer ekrana rakam yazdıracaksak parentez içine sadece rakam yazılır. Disp( ifade ) Eğer ekrana bir harf, yazı ya da cümle yazdıracaksak parantez içerisine tırnak içinde yazdıracağımız ifadeyi yazarız.

ÖRNEK: İkinci kullanımında ise satırlar arasında boşluk bırakmak için kullanılır.

Yukarıda editör de yazılan program çalıştırıldığında aşağıdaki çıktıyı alırız. Yukarıda da görüldüğü gibi üstten üç satır ve ortadan üç satır boşluk bırakılmıştır.

if fonksiyonu: Genel yazım biçimi if mantıksal ifade işlem yada deyim şeklindedir. Eğer mantıksal ifade doğru ise deyim ya da işlem yapılır ve ile işlem sona erdirilir. İf ile mantıksal ifade arasında en az bir boşluk bırakılmalıdır. Daha doğrusu if ve sözcükleri mavi renkte olmalıdır. Eğer mavi renkte iseler her türlü yazım düzeni doğrudur. ÖRNEK:Editörde yazdığımız bir programda girilen sayının pozitif mi, negatif mi yosa sıfır mı olduğunu söyleyen programı yazınız. A=input('Bir sayı giriniz = '); if A<0 disp('girdiğiniz sayı negatif bir sayıdır') if A>0 disp('girdiğiniz sayı pozitif bir sayıdır') if A==0 disp('girdiğiniz sayı sıfır dır')

if else :Eğer karşılaştırılacak iki mantıksal ifade varsa bu fonksiyon kullanılabilir. Ancak aynı durum az önce anlatılan if.. yapısı ile de yapılabilir sadece iki defa if kullanmak gerekir. Şimdi yukarıdaki örneği sayının pozitif mi yoksa negatif mi olduğunu karşılaştıran programı yazalım. Burada karşılaştırılacak iki ifade var eğer birinci doğru ise ikinciyi yapma birinci yanlışsa ikinciyi yap şeklindedir. ÖRNEK: A=input('Bir sayı giriniz = '); if A<0 disp('girdiğiniz sayı negatif bir sayıdır') else disp('girdiğiniz sayı pozitif bir sayıdır') if elseif elseif else :Eğer karşılaştırılacak bir den fazla sınama varsa bu durumda elseif yapısı kullanılır. İf ileilgili ilk örneği bu fonksiyonla tekrar yapalım. ÖRNEK: A=input('Bir sayı giriniz = '); if A<0 disp('girdiğiniz sayı negatif bir sayıdır') elseif A>0 disp('girdiğiniz sayı pozitif bir sayıdır') else disp('yazığınız rakam sıfırdır.')

for :Kullanım şekli; for döngü_değişkeni=ifade şeklindedir. işlem ya da deyimler Örneğin döngü_değişkeni=m:j:n şeklinde ise burada m:j:n in anlamı m ilk değeri n son değeri ve j de artım miktarını gösterir. Her for döngüsü ile kapatılmalıdır. ÖRNEK:1 den 5 e kadar sayıların karelerini sırasıyla ekrana yazdıran programı yazalım. for a=1:1:5 x=a^2

ÖRNEK:Ortalamasını alacağımız değer sayısını girdikten sonra girilen değerlerin ortalamasını alan programı yazınız. N=input('ortalaması alınacak sayı miktarı = '); T=0; for a=1:1:n; S=input('Sayı gir = '); T=T+S; O=T/N

ÖRNEK: şeklinde 5X5 lik bir matris oluşturabilecek bir program yazınız. A=zeros(5,5); T=0; for i=1:1:5; for j=1:1:5; T=T+1; A(i,j)=T; A

plot:x-y Kartezyen koordinatlarında verilen x-y değerlerine göre grafik oluşturulur. ÖRNEK: y=x2 grafiğini çizdirelim. x=0:1:10; y=x.^2; plot(x,y ÖRNEK: x=-2 den 2 ye kadar 5 değer alsın ve bu değerlere karşılık y=x2 grafiğini çizdirelim. x=-2:1:2; y=x.^2; plot(x,y)

ÖRNEK: aynı soruyu x in 9 değer alması durumunda yapalım x=-2:0.5:2; y=x.^2; plot(x,y) Grafiklerden de anlaşılacağı gibi plot komutu grafik çizerken programın oluşturduğu her x değerine karşılık gelen y değerlerinin oluşturduğu noktaları birleştirmektedir. Bu neden le grafiğimizin ne kadar düzgün olmasını istiyorsak okadar çok nokta oluşturmalıyız bunu da ancak x değerlerinin sayısını artırmakla başarabiliriz. Yani x değeri -2 ile 2 arasında nekadar çok değer alabilirse okadar çok noktamız olur. Biz x i ister x=-2:1:2 program satırı ile x= -2,-1,0,1,2 şeklinde 5 elemanlı bir satır vektörü yaparız isterse, x=-2:0.5:2 satırı ile x= -2,-1.5,-1,0.5,0,0.5,1,1.5,2 Şeklinde 9 elemanlı bir satır vektörü yaparız böylece 9 x değerine karşılık gelen 9 y değeri oluşur ve program plot komutu ile 9 noktayı birleştirerek bir grafik çizer istersek aradaki artırma miktarını dahada küçülterek nokta sayısını daha da artırabiliriz.

ÖRNEK: x=-2:0.01:2; y=x.^2; plot(x,y) axis:grafik çizdirirken eksenleri ayarlamamızı sağlar; kullanım şekli; axis([x1 x2 y1 y2]) x1, x ekseninin 1. Değeri x2, x ekseninin 2. Değeri y1, y ekseninin 1. Değeri y2, y ekseninin 2. Değeri ÖRNEK: yukarıdaki y=x2 grafiğini çizen programda x ekseni-10 ile 10 arasında değişsin y eksenide -20 ile 20 arasında değişsin. x=-2:0.01:2; y=x.^2; plot(x,y) axis([-10 10-20 20])

hold on: çizdirilen grafik ekranının ekranda sürekli kalması sağlanır. Daha sonra çizilen grafikler de bu ekran üzerinde gözlenebilir. hold off: daha önce kullnılan bir hold on komutu varsa bunu iptal için kullanılır. pause:çizdirilen grafiğin ekran da nekadar süre durması gerektiğini belirleyebileceğimiz komut. Kullanım şekli Pause(süre) Eğer süreyi belirtmezseniz grafik ekranda sürekli durur. ÖRNEK:Belirlibir ilk hızı ve atış açısı verilen bir cismin çıkacağı max yüksekliği, uçuş süresini ve menzili veren bir program yazınız. V0=input('Atış hızını giriniz = '); A=input('Atış açısını giriniz = '); g=9.81; V0x=V0*cos(A); V0y=V0*sin(A); tu=2*v0y/g Ymax=V0y-tu/2-1/2*g*(tu/2)^2 Xm=V0x*tu

ÖRNEK:Belirli bir ilk hız ve atış açısı verilen bir cismin çizdiği eğik atış yörüngesini çizdiren programı yazınız? V0=input('Atış hızını giriniz = '); A=input('Atış açısını giriniz = '); g=9.81; V0x=V0*cos(A); V0y=V0*sin(A); tu=2*v0y/g Ymax=V0y-tu/2-1/2*g*(tu/2)^2 Xm=V0x*tu t=0:0.01:tu; y=v0y*t-1/2*g*(t).^2 x=v0x*t plot(x,y) ÖRNEK:Belirli bir ilk hızla ve açı ile atılan bir cismin t=0 dan t uçuş süresine kadar geçen sürede izlediği eğik atış yörüngesini çizen programı yazınız? (eksenler x=0 ile 100 y=0 ile 50 olsun) V0=input('Atış hızını giriniz = '); A=input('Atış açısını giriniz = '); g=9.81; V0x=V0*cos(A); V0y=V0*sin(A); tu=2*v0y/g Ymax=V0y-tu/2-1/2*g*(tu/2)^2 Xm=V0x*tu for s=0:0.01:tu t=0:0.01:s; y=v0y*t-1/2*g*(t).^2 x=v0x*t hold on axis([0 100 0 50]) plot(x,y) pause(0.1)

ÖRNEK:Belirli bir ilk hızla ve farklı üç açı ile atılan bir cismin t=0 dan tuçuş süresine kadar geçen sürede çizdiği eğik atış yörüngelerini farklı renklerde çizen program yazınız? CEVAP % Bu program aynı hızda farklı açılarda atılan bir cismin yapmış olduğu % eğik atış yörüngelerini çizer. V0=input('Atış hızını giriniz ='); %Atış açıları A1=input('1. Atış açısını giriniz ='); A2=input('2. Atış açısını giriniz ='); A3=input('3. Atış açısını giriniz ='); g=9.81; %Birinci açı için yörünge V0x=V0*cos(A1); V0y=V0*sin(A1); tu=2*v0y/g Ymax=V0y-tu/2-1/2*g*(tu/2)^2 Xm=V0x*tu hold on axis([0 100 0 50]) for s=0:0.05:tu; t=0:0.05:s; y=v0y*t-1/2*g*t.^2; x=v0x*t; plot(x,y,'b','linewidth',2) pause(0.1) %ikinci açı için yörünge V0x=V0*cos(A2); V0y=V0*sin(A2); tu=2*v0y/g Ymax=V0y-tu/2-1/2*g*(tu/2)^2 Xm=V0x*tu for s=0:0.05:tu; t=0:0.05:s; y=v0y*t-1/2*g*t.^2; x=v0x*t; plot(x,y,'k','linewidth',2) pause(0.1) %üçüncü açı için yörünge V0x=V0*cos(A3); V0y=V0*sin(A3); tu=2*v0y/g Ymax=V0y-tu/2-1/2*g*(tu/2)^2 Xm=V0x*tu for s=0:0.05:tu; t=0:0.05:s; y=v0y*t-1/2*g*t.^2; x=v0x*t; plot(x,y,'r','linewidth',2) pause(0.1)