Ana içeriğe atla

#12 DİZİLER

Dizi nedir?

Diziler ikiye ayrılır.Yerli diziler (behzat ç, leyla ile mecnun, ezel vs vs), yabancı diziler (game of thrones, shameless, spartacus vs vs.)afssfafsfaf şaka yaptım.

Diziler ikiye ayrılır.Vektör dizileri ve matris dizileri.Vektör dizileri tek boyutlu dizilerdir.Matris dizileri ise 2 veya daha çok boyutlu olabilirler.

Vektör Dizileri

x=[1 3 5 7 9] veya x=[1,3,5,7,9] şeklinde gösterilirler.

VEKTÖR               İŞLEM               SONUÇ
x=[1 3 5]                 y=x+2                y=[3 5 7]
c=[2 6 10]               y=x/2                  y=[1 3 5]

ÖRNEK 22: Birden ona kadar olan çift sayıların karekökünü bulunuz.

>>x=[2 4 6 8 10];
>>>> y=sqrt(x)

y =

    1.4142    2.0000    2.4495    2.8284    3.1623

ÖRNEK 23: 0 dan 90 dereceye kadar olan açıların 10 derece ara ile sinüslerini hesaplayınız.

>> x=0:10:90;
>> y=sin(pi/180*x)

y =

  Columns 1 through 8

         0    0.1736    0.3420    0.5000    0.6428    0.7660    0.8660    0.9397

  Columns 9 through 10

    0.9848    1.0000

ÖRNEK 24 : 1 den 5 e kadar olan sayıların kare köklerini bulunuz.

>> x=1:5;
>> sqrt(x)

ans =

    1.0000    1.4142    1.7321    2.0000    2.2361

ÖRNEK 25 : 0 dan 50 dereceye kadar olan açıların 10 ar derece ara ile cosinüslerini hesaplayınız.

>> y=cos((0:10:50)*pi/180)

y =

    1.0000    0.9848    0.9397    0.8660    0.7660    0.6428

ÖRNEK 26 : Yukarıdaki örneği değiştirerek açıları sinüslerini ve kosinüslerini tablo halinde gösteriniz.

>> x=0:10:50;
>> tablo=[x' sin(x*pi/180)' cos(x*pi/180)']

tablo =

         0         0    1.0000
   10.0000    0.1736    0.9848
   20.0000    0.3420    0.9397
   30.0000    0.5000    0.8660
   40.0000    0.6428    0.7660
   50.0000    0.7660    0.6428

ÖRNEK 27 : Yukarıdaki örneği bir MATLAB m-dosyası şeklinde yazınız ve tabloya başlık veriniz.İlk ve son değerleri klavyeden okuyunuz.

"new scripte tıklıyoruz."


Vektör elemanı yaratmanın başka bir yolu ise linspace komutudur.Bu komut ilk değeri, son değeri ve eleman sayısını alır, gerekli olan elemanları yaratır.

>> x=linspace(2,15,3)

x =

    2.0000    8.5000   15.0000

ÖRNEK 28 : Havaya fırlatılan bir havan topunun gideceği uzaklık formülü : d=(v^2*sin(2*teta))/g'dir. (v=ilk hız=100 m/s; g=yerçekimi ivmesi=9.8 m/s^2; açı=0:5:20).Uzaklık değerlerini tablo halinde göster.

>> g=9.8; v=10; teta=0:5:20;
>> d=v*v*sin(2*teta*pi/180)/g;
>> disp([teta' d'])
         0         0
    5.0000    1.7719
   10.0000    3.4900
   15.0000    5.1020
   20.0000    6.5591

OPERATÖR                           TANIMI
.*                                            Vektör çarpımı
./                                             Vektör bölümü
.^                                            Vektör güç operatörü
+                                             Vektör toplama
-                                              Vektör çıkarma

>> a=[3 5 7];
>> b=[4 6 9];
>> a.*b

ans =

    12    30    63

>> a./b

ans =

    0.7500    0.8333    0.7778

>> a+b

ans =

     7    11    16

>> a-b

ans =

    -1    -1    -2

>> a.^b

ans =

          81       15625    40353607

>> b*a
Error using  *
Inner matrix dimensions must agree.

>> b.*a

ans =

    12    30    63

>> b./a

ans =

    1.3333    1.2000    1.2857

ÖRNEK 29 : Pazarda satılan meyvelerin fiyatları şu şekildedir.
Meyve                              Fiyatı (TL, kilogram)
Elma                                   2.5
Armut                                 3
Muz                                    6
Şeftali                                1.75
Kivi                                   3.8
Erik                                    2.5

Pazardan 2 kg elma, 1.5 kg armut, 3 kg muz, 2 kilogram şeftali, 1 kilogram erik alırsak ne kadar öderiz?

>> x=[2.5 3 6 1.75 3.8 2.5];
>> y=[2 1.5 3 2 0 1];
>> toplam=sum(x.*y)

toplam =

   33.5000

>> %sum operatörü tüm elemanların toplamını alır.

Bir vektörün elemanlarını bulmak;

>> a=[3 9 12];
>> a(1)

ans =

     3

>> a(3)

ans =

    12

>> a(end)

ans =

    12

>> a(2)+a(3)

ans =

    21

>> a(2:3)

ans =

     9    12

>> a(1:end)

ans =

     3     9    12


Yorumlar

Bu blogdaki popüler yayınlar

#21 FPRINTF KOMUTU

MATLAB programlarında ekrana yazdırmak için disp komutunun kullanımını öğrenmiştik.disp oldukça basit olup kompleks ekrana yazı işlemlerinde yetersiz kalmaktadır.fprintf komutu ekrana yazmak için kullanılan çok daha genel ve çok daha güçlü bir komuttur.fprintf kullanarak ekrana her çeşit yazı ve sayı yazmamız oldukça kolaydır. >> fprintf('Bu bir test mesajıdır') Bu bir test mesajıdır>> Yeni satır için \n karakterini kullanmamız gerekir. >> fprintf('Bu bir test mesajıdır\n') Bu bir test mesajıdır >> >> fprintf('Satır1\nSatır2\nSatır3\nSatır4\n') Satır1 Satır2 Satır3 Satır4 >> Ekrana herhangi bir değişkenin değerini yazmak için format karakterlerini kullanmamız gerekir. FORMAT KARAKTERİ                                         TANIMI %c                                                                             karakter %d                                                                             tamsayı (i

#5 DISP KOMUTU

disp komutu ekrana bir yazı yazdırmamızı sağlar. >> disp('Merhaba') Merhaba Bazı durumlarda birden fazla değişkeni aynı satırda görmek isteriz.Bunun için köşeli parantez kullanırız. >>disp([x y z]) >> name='Selim'; >> disp(['Merhaba ' name]) Merhaba Selim

#13 FIND VE LENGTH KOMUTU

find komutu Bu komut ile herhangi bir vektör içerisindeki belirli şartlara uyan elemanları bulabiliriz. >> x=1:3:13 x =      1     4     7    10    13 >> z=find(x>5) z =      3     4     5 >> %3. 4. ve 5. elemanların istenen şarta uyduğunu gösteriyor. length komutu Bu komut herhangi bir vektörün eleman sayısını verir. >> p=[2 45 -2]; >> length(p) ans =      3