Diyelim ki bunları data diye bir değişkene kopyalama-yapıştırma ile atadın.
Bir fonksiyon olarak şunu yazabilirsin.
yil_listesi=unique(data(:,1));
yil_sayisi=size(yil_listesi,1);
%Bu komut yılları listeler ve kaç yıl olduğuna bakar, eğer arada atlama yapmıyorsa buna gerek yok.
ortalamalar=zeros(yil_sayisi,1);
for i=1:yil_sayisi
yil=yil_listesi(i);
suzulmus_liste=yil_listesi(yil_listesi(1,:)==yil,:);
ortalamalar(i)=mean(suzulmus_liste(:,5));
end
Fonksiyonun çıktısı ortalamalar olur.
Editleyip komutları tek tek açacağım.
Edit:
yil_listesi=unique(data(:,1));
data değişkeninin 1. sütununu komple alır. (: işareti MATLAB'de tüm anlamına gelir) data(:,1) ile data değişkeninin 1. sütununu elde ederiz. unique komutu ise tekrarsız olarak o sütunda verilen dataların listelenmesini sağlar. Sonuç olarak yıl listesi şöyle bir vektördür.
yil_listesi =
1960
1961
1962
.
.
.
1990
yil_sayisi=size(yil_listesi,1);
size komutu matrislerin boyutunu verir. 1 dersek satır sayısı, 2 dersek sütun sayısı olur. Burada 1 dediğimiz için yil_listesi değişkenindeki satırları sayarak kaç tane yıla ait verimiz olduğuna bakıyoruz. Böylece arada atlama yapan yıllar varsa, bunları görebiliyoruz.
ortalamalar=zeros(yil_sayisi,1);
Bu komutla ortalamalar değişkenini oluşturuyoruz (initialization). "yil_sayisi kadar satırı ve bir sütunu olan bir sütun vektörüdür" diyoruz.
for i=1:yil_sayisi
end
Tüm yıllar için ayrı ayrı ortalama hesaplayacağım.
yil=yil_listesi(i);
i. sıradaki yıl hangisiyse listeden o yılı çekiyorum.
suzulmus_liste=data(data(:,1)==yil,:);
Bunu parçalara böleyim.
data(:,1)==yil
Bu bir sorgu (== kullanımından bunu anlıyoruz). "Eğer yil_listesi'nin tüm satırlarında birinci sütunun değeri ilgili yıla eşitse" diyor
data(data(:,1)==yil,:);
Yukarıdaki eşitse sorgusundan sonra eşit olan tüm satırları aldırıyoruz. : bu sefer sütunlar için kullanılıyor. Ve onu suzulmus_liste diye bir değişkene atıyoruz. BÖylelikle sadece o yılın verileri kalmış oluyor datadan.
ortalamalar(i)=mean(suzulmus_liste(:,5));
Süzülmüş listenin 5. sütununun ortalamasını alıp, i. yılın ortalaması olarak yazdırıyoruz.
0