arkadaşlar numerik analiz dersinde hoca newton raphson ve yanlış pozisyon metodu (false position) ile tek boyutta denklem çözmemizi istedi. yazdığımız kodun aşağıdaki denklemleri çözmesi gerekiyormuş. denklemleri de ayrı bir dosyaya yazıp, dosyayı çağırınca denklemleri çözmesi gerekiyormuş. tolerans ve başlangıç değerini falan da girmemizi istiyormuş. ancak benim matlab bilgilerim çok zayıf. nerden nasıl başlayacağımı bilmiyorum yardımcı olursanız sevinirim.
çok teşekkür ederim hocam sağolun. ancak hoca denklemleri ayrı bir dosyadan çağırmamızı ve başlangıç değeri, tolarans gibi değerleri kullanıcıdan input olarak istememizi istiyor. bu ikisini yapamadım. alttaki kod newton raphson metodu. ayrı bir script açıp denklemleri yazdım ama 2 scripti bir arada kullanamadım.
x(1)=input('Enter Initial Guess:'); error=input('Enter allowed Error:'); f=inline(a) dif=diff(sym(a)); d=inline(dif); for i=1:100 x(i+1)=x(i)-((f(x(i))/d(x(i)))); err(i)=abs((x(i+1)-x(i))/x(i)); if err(i)<error break end end root=x(i)
< Bu mesaj bu kişi tarafından değiştirildi Meticulous -- 20 Mart 2017; 9:38:26 >
kusura bakmayın hocam tekrar rahatsız ediyorum. kodunuzu geliştirmeye çalışıyorum denklemleri, tolerans ve başlangıç değerlerini kullanıcıdan isteyecek şekilde ama hata alıyorum hocam acaba nerde yanlış yapıyorum?
clc a=input('Please enter a function: ' , 's'); epsilon = input('Please enter a tolerance: ');
f=inline('a','x');
i=0; x0=0; h=0.5;
while abs(f(x0))> epsilon x0=x0-(f(x0)*h/f(x0+h)-f(x0)); fprintf('x=%.7f\n',x0); i=i+1; end
nerden nasıl başlayacağımı bilmiyorum yardımcı olursanız sevinirim.
< Resime gitmek için tıklayın >
Denklemler:
x^2-2=0
x^4+2x^3-5x-4/3=0
e^(-x)-x=0
2x-sin(2x)+1=0
< Bu mesaj bu kişi tarafından değiştirildi Meticulous -- 18 Mart 2017; 16:3:39 >