Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
352
Tıklama
0
Öne Çıkarma
MATLAB Newton-Raphson ve yanlış pozisyon metoduyla ilgili yardım
M
8 yıl
Yarbay
Konu Sahibi

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.


< 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 >

F
8 yıl
Çavuş

M
8 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: FKY

Belki yardımcı olur
< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >

ç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 >

M
8 yıl
Yarbay
Konu Sahibi

quote:

Orijinalden alıntı: FKY

Belki yardımcı olur
< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >

hocam yazdığınız kodu inceliyorum da şuanda. 4. satırdaki h=0.5 ile 7. satırdaki türevli kısmı anlamadım. bu iki kısmı açıklarsanız çok memnun olurum.



M
8 yıl
Yarbay
Konu Sahibi

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

fprintf('root=%.7f',x0);




Bu mesajda bahsedilenler: @FKY
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.