AKT 305 Aktüeryal Yazılımlar - Murat BÜYÜKYAZICI
Hacettepe Üniversitesi Fen Fakültesi
AKT 305 Aktüeryal Yazılımlar
ÖDEV 2
Not: Programlarınızı matlab’da yazıp çalıştırın, çalışan program kodlarını bu
word dosyasında ilgili sorunun altına kopyalayarak ve dosya adını kendi
ad_soyad olacak biçimde değiştirerek e-posta ile [email protected]
adresine gönderiniz. E-posta’nın subject kısmına akt305 yazmayı unutmayınız.
Soru 1 Elemanları 0-1 aralığından tekdüze (uniform) dağılımlı rasgele
sayılardan oluşan MxN boyutlu bir A matrisi oluşturun (rand(M,N). A
matrisinin elemanlarını 0.2 ile karşılaştırın. 0.2’den küçük olanlara
karşılık -1, eşit olanlara karşılık 0 ve büyük olanlara karşılık 1
değerlerinden oluşan bir B matrisi elde edin. Bunun için M ve N
girdileri, A ve B çıktıları olan bir fonksiyon yazın.
Soru 2 Verilen x=[4 1 6] ve y=[6 2 7] vektörlerini kullanarak aşağıdaki
matris ve vektörleri tek bir skript içerisinde elde ediniz.
a)
a(i,j)= x(i)*y(j)
b)
b(i,j)= x(i)/y(j)
c)
c(i)=x(i)*y(i)
d)
d(i,j)= x(i)/(2+x(i)+y(j))
e)
e(i,j)= 1/min(x(i),y(j))
Soru 3 0-1 aralığından tekdüze (uniform) dağılımlı rasgele sayılar
üreten rand komutunu kullanarak aşagıdaki işlemleri yapan skriptleri
ayrı ayrı yazınız:
a) Toplamları 20 (veya daha fazla) edene kadar rand komutu ile en
az kaç tane rasgele sayı üretilmelidir. Başka bir ifadeyle
program, toplamları 20’ye ulaşıncaya kadar peş peşe rasgele
sayılar üreterek toplayacak. Toplam 20’yi geçer geçmez o ana
kadar kaç tane rasgele sayı üretmiş olduğunu verecek.
b) 0.8 ile 0.85 arasında bir rasgele sayı üretene kadar rand
komutu ile en az kaç tane rasgele sayı üretilmelidir. Başka
bir ifadeyle program, 0.8 ile 0.85 arasında bir rasgele sayı
üretinceye kadar peş peşe rasgele sayılar üretecek, bu
aralıkta bir rasgele sayı üretildiğinde duracak ve o ana kadar
kaç tane rasgele sayı üretmiş olduğunu verecek.
Not: 0.8<x<0.85 koşulu matlab’da (0.8<x)&(x<0.85) biçiminde
belirtilir.
AKT 305 Aktüeryal Yazılımlar - Murat BÜYÜKYAZICI
Hacettepe Üniversitesi Fen Fakültesi
Yukarıda her iki şıktaki deneme de rasgele sayılarla yapılmaktadır.
Dolayısıyla, her denemede farklı sonuçlar elde edilebilir. Bu nedenle a
ve b şıklarındaki programlarınızın her birini 100 denemenin sonuçlarını
bir
vektöre
kaydedip
vektör
ortalamalarını
verecek
biçimde
geliştiriniz. Ayrıca, tabulate(vektor_adi) fonksiyonunu kullanarak
(nasıl kullanılacağını bilmiyorsanız matlab command window’da help
tabulate
yazarak
öğrenebilirsiniz)
100
denemenin
kaçında
hangi
sayıların elde edildiğini (sıklıkları) da görebilirsiniz.
Soru 4 Bir’den büyük herhangi bir n tam sayısı girdi olarak
verildiğinde sayı bir oluncaya kadar eğer; sayı çift ise, sayıyı yarısı
olarak; tek ise, sayıyı üç katının bir fazlası ile değiştirerek bir
dizi sayı elde eden bir fonksiyon yazınız. Dizi tamamlanıncaya kadar (1
sayısını elde edene kadar) kaç sayı elde edildiğini, bir başka ifadeyle
dizinin uzunluğunu hesaplayınız.
Örneğin başlangıçta verilen sayı 5 ise (1 den büyük tam sayı), 5 tek
sayı olduğu için dizinin ikinci elemanı 3*5+1=16, 16 çift sayı olduğu
için dizinin üçüncü elemanı 8, biçiminde 1 sayısı elde edene kadar dizi
aşağıdaki gibi elde edilir;
5, 16, 8, 4, 2, 1.
Bu örnekte elde edilmesi gereken dizi uzunluğu yukarıdaki dizinin eleman
sayısı olan 6’dır.
Yukarıda bir girdili (n) fonksiyon olarak yazılan programın, 2’den 30’a
kadar
tüm
sayılar
için
aynı
şekilde
dizileri
üreterek
dizi
uzunluklarını hesaplayacak ve her bir dizi uzunluğunu bir vektöre
kaydedecek biçimde geliştirilmiş biçimini bir skript olarak yazınız. Bu
skript ayrıca x ekseninde 2 ile 30 arasındaki tam sayıları, y ekseninde
ise karşılık gelen dizi uzunluklarını veren bir plot grafik çizdirsin.
İyi Çalışmalar 
Download

AKT 305 Aktüeryal Yazılımlar ÖDEV 2