Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

MATLAB’ de Programlama

Benzer bir sunumlar


... konulu sunumlar: "MATLAB’ de Programlama"— Sunum transkripti:

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ı


"MATLAB’ de Programlama" indir ppt

Benzer bir sunumlar


Google Reklamları