GizemliFonksiyon.m function GizemliFonksiyon(n)

Slides:



Advertisements
Benzer bir sunumlar
Seramik Dental İmplantlar
Advertisements

BİYOGAZ HAZIRLAYANLAR : HAKAN DEMİRTAŞ
BÖLÜM 5 . KÜTLE BERNOULLI ENERJI DENKLEMİ
HAZIRLAYANLAR AYHAN ÇINLAR YUNUS BAYIR
Yeniliği Benimseyen Kategorilerinin Bütüncül ve Analitik Düşünme Açısından Farklılıkları: Akıllı Telefonlar için Bir İnceleme Prof. Dr. Bahtışen KAVAK,
Doç. Dr. Hatice Bakkaloğlu Ankara Üniversitesi
Newton’un Hareket Yasaları
19. VE 20. YÜZYILDA BİLİM.
Enerji Kaynakları-Bölüm 7
AKIŞKANLAR DİNAMİĞİ BÖLÜM 8 . BORULARDA AKIŞ.
İŞGÜCÜ PİYASASININ ANALİZİ
BRÜLÖR GAZ KONTROL HATTI (GAS TRAİN)
SES DONANIMLARI Ayşegül UFUK Saide TOSYALI
İŞLETİM SİSTEMİ İşletim Sistemi Nedir İşletim Sisteminin Görevleri
Tıbbi ve Aromatik Bitkilerin Hayvansal Üretimde Kullanımı
MUHASEBE YÖNETMELİĞİ KONFERANSI
Bu sitenin konusu kıyamete kadar hiç bitmeyecek
DUYUŞ VE DUYUŞSAL EĞİTİMİN TANIMI
ÇOCUKLARDA BRONŞİOLİT VE PNÖMONİ
Alien hand syndrome following corpus callosum infarction: A case report and review of the literature Department of Neurology and Radiology, Yantai Yuhuangding.
Parallel Dağılmış İşlemci (Parallel Distributed Processing)
TANJANT Q_MATRİS Aleyna ŞEN M. Hamza OYNAK DANIŞMAN : Gökhan KUZUOĞLU.
ADRESLEME YÖNTEMLERİ.
Diksiyon Ödevi Konu:Doğru ve etkili konuşmada
AZE201 ERKEN ÇOCUKLUKTA ÖZEL EĞİTİM (EÇÖE)
ÇUKUROVA ÜNİVERSİTESİ KARATAŞ TURİZM İŞLETMECİLİĞİ VE OTELCİLİK
EĞİTİMDE YENİ YÖNELİMLER
BAĞIMLILIK SÜRECİ Prof Dr Süheyla Ünal.
FACEBOOK KULLANIM DÜZEYİNİN TRAVMA SONRASI STRES BOZUKLUĞU, DEPRESYON VE SOSYODEMOGRAFİK DEĞİŞKENLER İLE İLİŞKİSİ  Psk. Asra Babayiğit.
BİLİŞİM TEKNOLOJİLERİ NEDİR?
PSİKO-SEKSÜEL (RUHSAL) PSİKO-SOSYAL
Sinir Dokusu Biyokimyası
Can, H. (1997). Organizasyon ve Yönetim.
Bölüm 9 OPERASYONEL MÜKEMMELİYETİ VE MÜŞTERİ YAKINLAŞMASINI BAŞARMA: KURUMSAL UYGULAMALAR VIDEO ÖRNEK OLAYLARI Örnek Olay 1: Sinosteel ERP Uygulamalarıyla.
ERGENLİKTE MADDE KULLANIMI
Şeyda GÜL, Fatih YAZICI, Mustafa SÖZBİLİR
MOL HESAPLARINDA KULLANILACAK BAZI KAVRAMLAR:
AKIŞKANLAR MEKANİĞİ 3. BASINÇ VE AKIŞKAN STATİĞİ
GAZLAR Yrd. Doç. Dr. Ahmet Emin ÖZTÜRK. GAZLAR Yrd. Doç. Dr. Ahmet Emin ÖZTÜRK.
Engellerin farkında mıyız?
CEZA MUHAKEMESİ HUKUKU
DİSİPLİN HUKUKU.
İZMİR.
ACİL YARDIM ve AFET YÖNETİMİ ÖĞRENCİLERİNİN KARAR VERME DÜZEYLERİ
Yazar:ZEYNEP CEREN YEŞİLYURT Danışman: YRD. DOÇ. DR
TEMEL MAKROEKONOMİ SORUNLARI VE POLİTİKA ARAÇLARI
IMPLEMENTATION OF SOME STOCK CONTROL METHODS USED IN BUSINESS LOGISTICS ON DISASTER LOGISTICS: T.R. THE PRIME MINISTRY DISASTER AND EMERGENCY MANAGEMENT.
Mikrodalga Sistemleri EEM 448
Örnekler Programlama Dillerine Giriş
Modülasyon Neden Gereklidir?
A416 Astronomide Sayısal Çözümleme - II
İSTATİSTİK II Hipotez Testleri 1.
4.BÖLÜM ÇAĞDAŞ BÜYÜME MODELLERİ
Ayçiçeği Neden Stratejik Ürün Olmalı?
Aydınlanma Işığın doğası ile ilgili bilgilerin tarihsel süreç içindeki değişimini farkeder. a. Dalga ve tanecik teorisinden bahsedilir,
Final Öncesi.
Sayısal Haberleşme.
ULUSLARARASI FİNANS.
Elektrik Enerjisi Üretimi, Dağılımı ve Depolanması
İÇ ORGANLARIN YAPISI VE İŞLEYİŞİ
DENK KUVVET SİSTEMLERİ
Dil Materyalleri ve Çalışmaları Doç. Dr. Müdriye YILDIZ BIÇAKÇI
Sosyal Bilimler Enstitüsü
Anlamsal Web, Anlamsal Web Dilleri ve Araçları
Hazırlayan; Görkem Baygın Yabancı Dil / M Şubesi 21 Maddede İngiliz Dili Edebiyatı Okumak Ne Demektir?
FURKAN EĞİTİM VAKFI TEFSİR USULÜNE GİRİŞ
BİN AYDAN DAHA HAYIRLI GECE KADİR GECESİ
Tarımsal nüfus ve tarımda istihdam
AKIŞKANLAR MEKANİĞİ 3. BASINÇ VE AKIŞKAN STATİĞİ
Emir ÖZTÜRK T.Ü. F.B.E. Bilg. Müh. A.B.D. Y.L. Semineri
Sunum transkripti:

GizemliFonksiyon.m function GizemliFonksiyon(n) clc; if (n<2)||(n>20) disp('Beklenen Aralikta Bir Giris Degil.'); return; end for i=1:n if (i==1)||(i==n) for j=1:n fprintf('#'); %Ekrana # Bas fprintf('\n'); else fprintf('@'); %Ekrana @ Bas for j=2:(n-1) fprintf(' '); %Ekrana Bosluk Bas fprintf('@\n'); Yanda verilen GizemliFonksiyon.m adlı fonksiyon m-dosyası genel olarak nasıl bir iş yapar? Komut penceresinde çalıştırılan GizemliFonksiyon(10) nasıl bir ekran çıktısı verir? Çözüm: Fonksiyon içerisinde n gördüğünüz her yere 10 rakamını yerleştirip sanki MATLAB programıymışsınız gibi  fonksiyonu satır satır işletmelisiniz. 1

İKİ BOYUTLU DİZİLER (MATRİSLER) İki boyutlu dizi (matris) denildiğinde aklınıza kare bulmaca veya satranç tahtası gelmelidir.

MATLAB’DE İKİ BOYUTLU DİZİLER (MATRİSLER) VE size Fonksiyonu

MATRİS ELEMANLARINA İNDİS İLE ULAŞMA Virgül ile ayrılmış iki indis kullanıldığına dikkat ediniz (satır indisi ve sütun indisi). Tek boyutlu dizilerde ise tek bir indis kullandığımızı da hatırlayınız.

İPUCU Kendisine M adındaki bir matrisi parametre olarak alan bir fonksiyon m-dosyası matrisin boyutuyla ilgili bir işlem yapıyorsa size(M) fonksiyonunu muhakkak kullanmak zorundadır. (Bu fonksiyona komut penceresinden nasıl bir vektörün parametre olarak aktarılacağı peşinen bilinemez çünkü.)

İPUCU Bir matris içerisinde iç içe 2 for döngüsü kullanılarak kolaylıkla gezilebilir. Dıştaki döngü (i ile kontrol edilen döngü) satır indislerini ve içteki döngü (j ile kontrol edilen döngü) sütun indislerini temsil amacıyla kullanılabilir. [satirSayisi sutunSayisi]=size(M); toplam=0; for i=1:satirSayisi for j=1:sutunSayisi toplam=toplam+M(i,j); end disp(toplam); Bu program ne iş yapar?

MATRİSLERDE İŞLEMLER Aşağıdaki matris işlemlerini MATLAB zaten kolayca gerçekleştirmektedir. Ama bizim amacımız bu işlemleri şimdiye kadar öğrendiğimiz programlama yapıları ile kendimizin yazabilmesidir. Matrislerin Bir Skalerle Çarpımı Matrislerde Toplama ve Çıkarma Matrislerde Çarpma Matrislerin Transpozu

Matrislerin Bir Skalerle Çarpımı Kendisine parametre olarak aldığı bir M matrisinin her bir elemanını yine kendisine parametre olarak aldığı bir k skaleri ile çarpan ve elde ettiği N matrisini geriye döndüren bir MATLAB fonksiyonunu MatrisiSkalerleCarp.m adındaki fonksiyon m-dosyasının içerisine yazınız. function N=MatrisiSkalerleCarp(M,k) N=[ ];%Baslangicta Bos Bir Matris [satirSayisi sutunSayisi]=size(M); for i=1:satirSayisi for j=1:sutunSayisi N(i,j)=M(i,j)*k; end KOMUT PENCERESİ >>MatrisiSkalerleCarp([1 2;3 4],6) ans= 6 12 18 24

Matrislerde Toplama ve Çıkarma İşlemi Kendisine parametre olarak aldığı bir M matrisi ile yine kendisine parametre olarak aldığı bir N matrisini toplayarak elde ettiği T matrisini geriye döndüren bir MATLAB fonksiyonunu IkiMatrisiTopla.m adındaki fonksiyon m-dosyasının içerisine yazınız. İki matrisin toplanabilmesi veya çıkarılabilmesi ancak ve ancak boyutlarının (yani satır ve sütun sayılarının) eşit olması ile mümkündür. function T=IkiMatrisiTopla(M,N) T=[ ];%Baslangicta Bos Bir Matris [satirSayisiM sutunSayisiM]=size(M); [satirSayisiN sutunSayisiN]=size(N); if (satirSayisiM==satirSayisiN)&&(sutunSayisiM==sutunSayisiN) for i=1:satirSayisiM%Veya satirSayisiN for j=1:sutunSayisiM%Veya sutunSayisiN T(i,j)=M(i,j)+N(i,j); end KOMUT PENCERESİ >>IkiMatrisiTopla([1 2;3 4],[5 6;7 8]) ans= 6 8 10 12

Matrislerde Çarpma İşlemi A ve B gibi iki matrisin çarpılabilmesi için A matrisinin sütun sayısının B matrisinin satır sayısına eşit olması gerekmektedir. A matrisi mxn, B matrisi nxk ise bu çarpma işlemi sonucunda elde edilecek C matrisinin boyutu mxk olacaktır. A=[1 2 1;0 3 -1]; B=[1 2; 1 5;2 3]; if size(A,2) ~= size(B,1) disp('Carpim Illegal'); return; end C=zeros(size(A,1),size(B,2)); for i=1:2 for j=1:2 for k=1:3 C(i,j)=C(i,j)+A(i,k)*B(k,j); disp(A); disp(B); disp(C); Örnek

Matrislerde Transpoz İşlemi Transpoz, matrislerde satır ile sütunun yer değiştirmesi işlemidir. Yani A=2x3’lük bir matrisin transpozu alındığı zaman B=AT=3x2’lik bir matris elde edilir. A=[1 3 0; 4 2 -3]; B=[ ]; [m n]=size(A); for i=1:n %A’nin Sutunu for j=1:m %A’nin Satiri B(i,j)=A(j,i); end disp(A); disp(B); B =AT 1 4 3 2 0 -3 A = 1 3 0 4 2 -3 Komut satırında A' yı test ediniz. Hangi metod daha kolay ? 

BİR KARE MATRİSİN ANA KÖŞEGENİ (Kuzey Batı – Güney Doğu Köşegeni) Köşegen Üzerindeki Elemanlar (i==j) Üst Üçgen Bölgedeki Elemanlar (j>i) İç Döngü Değişkeni (j) 𝑴= 𝟒 𝟒 −𝟏𝟓 𝟑 𝟐𝟕 𝟏 𝟕𝟖 𝟗 𝟏𝟔 −𝟕 𝟏𝟐𝟑 −𝟗 𝟐𝟓 𝟑𝟒 𝟐 𝟒 𝟓𝟖 𝟑𝟒 𝟒𝟐 𝟓𝟔 −𝟔𝟓 𝟏𝟏𝟐 𝟐 𝟖 𝟑 Dış Döngü Değişkeni (i) Alt Üçgen Bölgedeki Elemanlar (i>j)

BİR KARE MATRİSİN İKİNCİL KÖŞEGENİ (Kuzey Doğu – Güney Batı Köşegeni) Üst Üçgen Bölgedeki Elemanlar (i+j)<(n+1) Köşegen Üzerindeki Elemanlar (i+j)==(n+1) İç Döngü Değişkeni (j) 𝑴= 𝟒 𝟒 −𝟏𝟓 𝟑 𝟐𝟕 𝟏 𝟕𝟖 𝟗 𝟏𝟔 −𝟕 𝟏𝟐𝟑 −𝟗 𝟐𝟓 𝟑𝟒 𝟐 𝟒 𝟓𝟖 𝟑𝟒 𝟒𝟐 𝟓𝟔 −𝟔𝟓 𝟏𝟏𝟐 𝟐 𝟖 𝟑 Dış Döngü Değişkeni (i) Alt Üçgen Bölgedeki Elemanlar (i+j)>(n+1)

UYGULAMA Kendisine parametre olarak aldığı bir M kare matrisinin ana köşegeni üzerindeki elemanlarının aritmetik ortalamasını bularak geriye döndüren bir MATLAB fonksiyonu yazınız. (İç içe 2 for döngüsüne ihtiyaç duyulur mu? Tek for döngüsü ile çözüme ulaşabilir miyiz?) UYGULAMA Kendisine parametre olarak aldığı bir M kare matrisinin ikincil köşegeni üzerindeki elemanlarının geometrik ortalamasını bularak geriye döndüren bir MATLAB fonksiyonu yazınız. (İç içe 2 for döngüsüne ihtiyaç duyulur mu? Tek for döngüsü ile çözüme ulaşabilir miyiz?)

UYGULAMA Aşağıdaki gibi bir ekran çıktısı verecek EkranaRakamBas.m adında bir fonksiyon m-dosyası yazınız. (Fonksiyonunuz kendisine hiçbir argüman almayacak ve geriye yine hiçbir değer çevirmeyecektir.) EKRAN ÇIKTISI >>EkranaRakamBas() 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 function EkranaRakamBas() clc; for i=1:9 %Satir Sayisi for j=1:(10-i) %Sutun Sayisi fprintf('%d ', j); end fprintf('\n'); %Bir Alt Satirin Basina Git 15

UYGULAMA Aşağıdaki gibi bir ekran çıktısı verecek EkranaRakamBas.m adında bir fonksiyon m-dosyası yazınız. (Fonksiyonunuz kendisine hiçbir argüman almayacak ve geriye yine hiçbir değer çevirmeyecektir.) EKRAN ÇIKTISI >>EkranaRakamBas() 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 7 7 7 8 8 9 16

UYGULAMA Aşağıdaki gibi bir ekran çıktısı verecek EkranaRakamBas.m adında bir fonksiyon m-dosyası yazınız. (Fonksiyonunuz kendisine hiçbir argüman almayacak ve geriye yine hiçbir değer çevirmeyecektir.) 9x9’luk bir kare matrisin ana köşegene göre alt üçgen bölgesinde (ana köşegen dahil) (if i>=j) j’leri, üst üçgen bölgesinde ise boşluk karakterlerini ekrana basan bir çözüm işe yarar mı? EKRAN ÇIKTISI >>EkranaRakamBas() 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 17

UYGULAMA K=[-4 3 0;2 0 4 ] matrisindeki sıfırların sayısını ve yerini (satır ve sütun numaralarını) ekrana basan bir MATLAB düzyazı m-programı yazınız. K=[-4 3 0;2 0 4 ];%Rastgele Matris Icinde Sıfır Arayin [m n]=size(K); sifirSayisi=0;%Sayac for i=1:m for j=1:n if K(i,j)==0 sifirSayisi=sifirSayisi+1; fprintf('K(%d,%d)=0\n',i,j); end disp(K); fprintf('K Matrisindeki SIFIR Sayisi=%d\n',sifirSayisi);

KİTAPTAKİ 186-233 ARASI UYGULAMALARI BİRLİKTE YAZALIM VE ÇALIŞTIRALIM.