Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
MATLAB’ de Programlama
VIII (Dizilerle ilgili örnekler) Hafta 8 Matlab Ders Notları
2
Matrislerde Tranzpoz İşlemi
Transpoz, matrislerde satır ile sütunun yer değiştirilmesi işlemidir. Yani A=3x2’lik birmatrisin transpozu alındığı zaman B=AT=2x3’lük bir matris elde edilir. A = A=[1 3 0; ]; for i=1:2 for j=1:3 B(j,i)=A(i,j); end B B =AT Hafta 8 Matlab Ders Notları
3
Örnek 1 Beş işçinin 1 ay boyunca çalışma cetveli verilmiştir.
Ücret değerleri Milyon TL göstermektedir. İŞÇİLER 1 2 3 4 5 Saat Ücreti 1.2 2.5 4.5 Çalışılan saat 153 160 157 165 150 Ürün Adeti 1100 1250 1000 1200 a) Her bir işçi bir ayda ne kadar para kazanmıştır? b) İşverenin bu aya ait toplam maaş ödemesi kaç liradır? c) Ne kadar ürün üretilmiştir? NOT: Saat ücretleri, çalışılan saat ve ürün adeti bir dizi olarak oluşturulacak. Hafta 8 Matlab Ders Notları
4
Çözüm 1 saatucret = [ ]; csaat = [ ]; urun = [ ]; uruntoplam = 0; odenenmaas = 0; for i=1:5 maas(i) = saatucret(i) * csaat(i); uruntoplam = uruntoplam + urun(i); odenenmaas = odenenmaas + maas(i); fprintf ('%d. işçinin maaşı=', i); disp(maas(i)) end uruntoplam odenenmaas Hafta 8 Matlab Ders Notları
5
Örnek 2: 5 öğrencinin 1 dersten aldıkları vize ve final notlarını alarak herbir öğrencinin ortalamalarını hesaplayan ve aşağıdaki formata göre yazdıran programı yazınız. Sıra Vize Final Ortalama 1. Öğrenci 2. Öğrenci : : : : Hafta 8 Matlab Ders Notları
6
Çözüm 2: for i=1:5 fprintf('%d. öğrencinin vize notu=', i); vize(i)=input(' '); fprintf('%d. öğrencinin final notu=', i); final(i)=input(' '); ort(i)=(vize(i)+final(i))/2; end fprintf( 'sıra vize final ortalama\n'); fprintf('==== ==== ===== ========\n'); fprintf('%d. Öğrenci %g %g %f\n', i, vize(i), final(i),ort(i)); Hafta 8 Matlab Ders Notları
7
Örnek 3: 3x2 boyutunda bir B matrisinin elemanları okutularak bu matrisin sıfırdan küçük elemanlarını tek boyutlu bir y dizisine aktaran programı yazınız. k=1; for i=1:3 for j=1:2 fprintf( ’B(%d,%d)=’ ,i , j) B(i,j)=input(' '); if B(i,j) < 0 y(k)=B(i,j); k=k+1; end y İki boyutlu dizinin elemanlarının girişi (okutulması) Hafta 8 Matlab Ders Notları
8
Örnek 4: 2x3 boyutunda bir A (A=[ ; ]) matrisinin elemanları program içerisinde girilerek bu matrisdeki sayıların ortalamasını ve pozitif sayıların karekökleri toplamını bulan programı yazınız. A=[ ; ]; koktoplam=0; toplam=0; for i=1:2 for j=1:3 toplam=toplam+A(i,j); if A(i,j) > 0 koktoplam=koktoplam+sqrt(A(i,j)); end ortalama = toplam / (i*j) koktoplam Hafta 8 Matlab Ders Notları
9
Örnek 5: B=[-45 0 5 10 -91 2]; k=6; for i=1:6 C(k)=B(i); k=k-1; end C
B=[ ] dizisinin elemanlarını tersten yazdırarak başka bir diziye aktaran programı yazınız. B=[ ]; k=6; for i=1:6 C(k)=B(i); k=k-1; end C Hafta 8 Matlab Ders Notları
10
Örnek 6: K=[-4 3 0 ; 2 0 4 ]; adet=0; for i=1:2 for j=1:3 if K(i,j)==0
K=[ ; ] matrisindeki sıfırların sayısını ve yerini (satır ve sütun numaralarını) veren programı yazınız. K=[ ; ]; adet=0; for i=1:2 for j=1:3 if K(i,j)==0 adet=adet+1; i,j end adet Hafta 8 Matlab Ders Notları
11
Ödev: A=[ ] dizisi veriliyor. Bu dizinin en küçük ve en büyük elemanlarını bulan programı yazınız. Not: A dizisinin en büyük ve en küçük elemanları iki ayrı FOR döngüsü içinde bulunacaktır. Hafta 8 Matlab Ders Notları
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.