Matlab Ufak Bir Program İçin Yardım
-
Hocalar. şu formülleri bir program haline getirmek istiyorum.
Bu nedir diye soran olursa bir yerin depremselliğinin istatistiksel olarak periyotlarınının gerçekleşme olasılığını hesaplayan bir dizi formül.
ben bunları matlab a dökmek istiyorum. yarımcı olur musunuz?
Verilenler a ve b
T değeri periyodu temsil ediyor. 10 20 30 40 yıllık periyotlar için kullanıyoruz. M de depremşn magnitüd ünü. Yani büüklüğünü.
Kısaca değişkenler a, b, T ve M geri kalanlar formül zaten.
Formüller
a'=a-log(b-ln(a)
a1'=a'-logT
n(M)=10^(a1-bM)
r(M)=a-e^(-n(M).T)
r(M) değerini hesaplıyoruz verilen a ve b değerlerine göre ve bulunan sonuç bize yüzdelik olarak olma olasılığını veriyor.
matlabda yapmak istediğim. Bu değişkenler girildikten sonra her M değerine göre tüm periyotlarda yani T değerinin 10 20 30 40 50 60 70 80 90 100 olduğu durumlar için hazırlayıp tablo oluştursun.
Bunu nasıl yaaprım?
-
Şöyle bir deneyebilir misiniz?
M = 1;
a = 1;
b = 1;
T = [10 20 30 40 50 60 70 80 90];
a_ = a - log10(b - log(a));
a1 = a_ - log10(T);
Nm = zeros(1, length(T));
Rm = zeros(1, length(T));
for i=1:length(T)
Nm(1, i) = 10 ^ (a1(1, i) - b*M);
Rm(1, i) = a - exp(-Nm(1, i) * T(1, i));
end
-
aercys bunu yazdı
Şöyle bir deneyebilir misiniz?
M = 1;
a = 1;
b = 1;
T = [10 20 30 40 50 60 70 80 90];
a_ = a - log10(b - log(a));
a1 = a_ - log10(T);
Nm = zeros(1, length(T));
Rm = zeros(1, length(T));
for i=1:length(T)
Nm(1, i) = 10 ^ (a1(1, i) - b*M);
Rm(1, i) = a - exp(-Nm(1, i) * T(1, i));
end
Hocam ilgin için teşekkür ederim.
Hesapladıklarını nerede göstericem. Tablo halinde vermesini sağlayabilir miyim?
-
ExpirE bunu yazdıaercys bunu yazdı
Şöyle bir deneyebilir misiniz?
M = 1;
a = 1;
b = 1;
T = [10 20 30 40 50 60 70 80 90];
a_ = a - log10(b - log(a));
a1 = a_ - log10(T);
Nm = zeros(1, length(T));
Rm = zeros(1, length(T));
for i=1:length(T)
Nm(1, i) = 10 ^ (a1(1, i) - b*M);
Rm(1, i) = a - exp(-Nm(1, i) * T(1, i));
end
Hocam ilgin için teşekkür ederim.
Hesapladıklarını nerede göstericem. Tablo halinde vermesini sağlayabilir miyim?
Tablo halinde vermesini nasıl istiyorsunuz hocam o kısmı anlayamadım. Workspace'te zaten bu Nm ve Rm değerlerini vektör (tablo) formunda görüntüleyebilirsiniz. Siz bu veriyi dışarı mı aktarmak istiyorsunuz?
-
aercys bunu yazdıExpirE bunu yazdıaercys bunu yazdı
Şöyle bir deneyebilir misiniz?
M = 1;
a = 1;
b = 1;
T = [10 20 30 40 50 60 70 80 90];
a_ = a - log10(b - log(a));
a1 = a_ - log10(T);
Nm = zeros(1, length(T));
Rm = zeros(1, length(T));
for i=1:length(T)
Nm(1, i) = 10 ^ (a1(1, i) - b*M);
Rm(1, i) = a - exp(-Nm(1, i) * T(1, i));
end
Hocam ilgin için teşekkür ederim.
Hesapladıklarını nerede göstericem. Tablo halinde vermesini sağlayabilir miyim?
Tablo halinde vermesini nasıl istiyorsunuz hocam o kısmı anlayamadım. Workspace'te zaten bu Nm ve Rm değerlerini vektör (tablo) formunda görüntüleyebilirsiniz. Siz bu veriyi dışarı mı aktarmak istiyorsunuz?
Evet hocam dışarı aktarmasını sağlayabilirmiyim txt halinde
-
ExpirE bunu yazdıaercys bunu yazdıExpirE bunu yazdıaercys bunu yazdı
Şöyle bir deneyebilir misiniz?
M = 1;
a = 1;
b = 1;
T = [10 20 30 40 50 60 70 80 90];
a_ = a - log10(b - log(a));
a1 = a_ - log10(T);
Nm = zeros(1, length(T));
Rm = zeros(1, length(T));
for i=1:length(T)
Nm(1, i) = 10 ^ (a1(1, i) - b*M);
Rm(1, i) = a - exp(-Nm(1, i) * T(1, i));
end
Hocam ilgin için teşekkür ederim.
Hesapladıklarını nerede göstericem. Tablo halinde vermesini sağlayabilir miyim?
Tablo halinde vermesini nasıl istiyorsunuz hocam o kısmı anlayamadım. Workspace'te zaten bu Nm ve Rm değerlerini vektör (tablo) formunda görüntüleyebilirsiniz. Siz bu veriyi dışarı mı aktarmak istiyorsunuz?
Evet hocam dışarı aktarmasını sağlayabilirmiyim txt halinde
kodun sonuna şu satırı ekleyin;
save('filename.txt','-ascii', 'Nm', 'Rm')
-
aercys bunu yazdıExpirE bunu yazdıaercys bunu yazdıExpirE bunu yazdıaercys bunu yazdı
Şöyle bir deneyebilir misiniz?
M = 1;
a = 1;
b = 1;
T = [10 20 30 40 50 60 70 80 90];
a_ = a - log10(b - log(a));
a1 = a_ - log10(T);
Nm = zeros(1, length(T));
Rm = zeros(1, length(T));
for i=1:length(T)
Nm(1, i) = 10 ^ (a1(1, i) - b*M);
Rm(1, i) = a - exp(-Nm(1, i) * T(1, i));
end
Hocam ilgin için teşekkür ederim.
Hesapladıklarını nerede göstericem. Tablo halinde vermesini sağlayabilir miyim?
Tablo halinde vermesini nasıl istiyorsunuz hocam o kısmı anlayamadım. Workspace'te zaten bu Nm ve Rm değerlerini vektör (tablo) formunda görüntüleyebilirsiniz. Siz bu veriyi dışarı mı aktarmak istiyorsunuz?
Evet hocam dışarı aktarmasını sağlayabilirmiyim txt halinde
kodun sonuna şu satırı ekleyin;
save('filename.txt','-ascii', 'Nm', 'Rm')
teşekkür ederim. Son olarak M = 1; için değilde 1 2 3 4 5 6 7 8 için hesaplaması sağlayabilir miyim peki? yani 1 den 9 a kadar hesaplasın.
-
Rica ederim hocam. M içinde birden çok değer hesaplatabilmeniz için vektör olarak tanımlamanız lazım. M = [1,2,3,...,N] gibi.
Formülde de;
Nm(1, i) = 10 ^ (a1(1, i) - b*M); yerine Nm(1, i) = 10 ^ (a1(1, i) - b*M(1, i)); şeklinde düzenleme yapmalısınız.