10 Ocak 2010 Pazar

shooting problem

%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

Hiç yorum yok:

 
Facebook

Bizi takip edin!

ESOGÜ Bilişim GünleriESOGÜ Bilişim Günleri