%ikinci dereceden türevi verilen denklemleri çözerken iki tane birinci
%türeve parçalayarak çözülür burda z brinci dereceden türev t ikinci dereceden türev olmak üzre t(1) ve t(başka değer) veriliyor
%amaç verilen t degerlerinden yola çıkarak z(1) degerini bulmak
%f fonksiyon dosyasını f.m olarak açmayı unutmayın!!!
disp('baslangıc degerlerini giriniz:t(x)=p ve t(k)=l formatında olmalı' );
x=input('x:');
p=input('p:');
k=input('k:');
l=input('l:');
h=input('h:');
n=(k-x)/h;
t(1)=p;
buyukdeger=0;
kucukdeger=0;
a=0;
b=0;
z(1)=input('z için tahmini degeri girniz:');
while(1)
for i=1:n
t(i+1)=t(i)+z(i)*h;
z(i+1)=z(i)+(f(t(i)))*h%/verilen tahmini degrden yola çıkılarak yapılır
end
if(a==1 && b==1)% bir buyuk bir kucuk deger bulmuşsa yetr demek
break;
end
if(t(n+1)>l)
buyukdeger=t(n+1)
zbuyuk=z(1)
if(b==0)%kucuk deger bulmamışsan git kucuk degr bul
disp('daha kucuk bir z tahmini degeri girniz:')
z(1)=input('z(1):');
end
a=1;%kucuk deger buldugunu kanıtlamak için
else
kucukdeger=t(n+1)
zkucuk=z(1)
if(a==0)%buyuk degr bulmamışsan git buyuk deger bul
disp('daha buyuk bir z(1) degeri girniz');
z(1)=input('z(1):');
end
b=1;%kucuk degr bulduğunu kanıtlamak için
end
end
z(1)=zkucuk+((zbuyuk-zkucuk)/(buyukdeger-kucukdeger))*(l-kucukdeger);
fprintf('znin gercek degeri=%f',z(1));
f FONKSİYONU
%ikinci türevin denklemi
function y=f(t);
y=0.01*t-0.2;
OUTPUT
baslangıc degerlerini giriniz:t(x)=p ve t(k)=l formatında olmalı
x:0
p:40
k:10
l:200
h:2
z için tahmini degeri girniz:17
buyukdeger =231.8144
zbuyuk =
17
daha kucuk bir z tahmini degeri girniz:
z(1):16
buyukdeger =
221.0112
zbuyuk =16
daha kucuk bir z tahmini degeri girniz:
z(1):12
kucukdeger =177.7984
zkucuk =12
znin gercek degeri=14.055095
Basit Oyunlar / Uygulamalar
7 yıl önce
Hiç yorum yok:
Yorum Gönder