You are on page 1of 3

Sayısal Analiz Ara Sınav Ödevi

Öğrencinin adı, soyadı:


Nazlı Arslan

Öğrenci no:
22040101104

Dersin Hocası
Dr. Tolga Kudret Karaca

İstanbul Topkapı Üniversitesi

Sayısal Analiz Dersi Ara Sınav Ödevi

Nisan, 2023
ÖNEMLİ NOTLAR

1. ÖDEV 21 NİSAN 2023 SAAT 17:00 TARİHİNE KADAR https://topkapi.almscloud.com/


ÜZERİNDEN SİSTEME YÜKLENMELİDİR.
2. 1. MADDE’DE BELİRTİLEN TARİH SONRASINDA MAİL veya ELDEN TESLİM
ŞEKLİNDE ALINMAYACAKTIR.
3. TESLİM ESNASINDA YAZILMIŞ KODLAR VE SONUÇLAR HEM BU EVRAĞIN
İÇERİĞİNDE HEM DE .m (matlab) DOSYASI OLARAK https://topkapi.almscloud.com/
ÜZERİNDEN PAYLAŞILMALIDIR.

ÖDEV

1- (a-20 puan) f (x) = −12 − 21x + 18x 2 − 2,75x 3 fonksiyonunu “matlab” da


çizdirerek köklerini grafiksel olarak bulun.(b-25 puan) İkiye bölme metodu, (c-25 puan) Yer
değiştirme metodu ve (d-25 puan) Newton-Rapshon metodu, kullanarak fonksiyonun birinci
kökünü bulan matlab kodlarını ayrı ayrı yazın. (b) ve (c) için x𝑎 = −1 ve xü = 0 başlangıç
tahminlerini kullanın (Newton-Rapshon yöntemi için başlangıç değerini siz
belirleyebilirsiniz). Durdurma kriterini %1 olarak alın (yani yaklaşık bağıl hata %1 den küçük
olmalı 𝜀𝑎 < %1). (e-5 puan) Bu kullandığınız üç metodu da iterasyon sayısı, yaklaşık bağıl
hata bakımından karşılaştırın ve sonuçları raporlayın.

Önemli Not : %1 altında bağıl hata ile yakınsadığınız kökün doğru olduğuna emin olun.
Emin olmak için fonksiyonu, herhangi bir metodu kullanarak elle ya da matlab programının
kolay kök bulma yerleşik fonksiyonları yardımı ile çözün, elde ettiğiniz gerçek kökle
yazdığınız matlab kodu sonrası elde ettiğiniz kök tahminlerinizi karşılaştırın. Gerçek köke
yakınsanmayan matlab kodları zayıf olarak notlandırılacaktır.

% A şıkkı
x = linspace(-5, 5, 1000);
y = -12 - 21*x + 18*x.^2 - 2.75*x.^3;
plot(x, y);
grid on

% B şıkkı
f = @(x) -12 - 21*x + 18*x.^2 - 2.75*x.^3;
a = -1;
b = 0;
tol = 1e-6;
iter = 0;

while (b-a)/2 > tol


iter = iter+1;
c = (a+b)/2;
if f(c) == 0
break
elseif f(c)*f(a) < 0
b = c;
else
a = c;
end
end

fprintf('Birinci kök: %f\n', c)


% C şıkkı
f = @(x) -12 - 21*x + 18*x.^2 - 2.75*x.^3;

x1 = -1;
x2 = 0;

while abs(x2-x1) > 1e-6


x3 = x2 - f(x2)*(x2-x1)/(f(x2)-f(x1));
if f(x3)*f(x2) < 0
x1 = x2;
else
x2 = x3;
end
end

fprintf('Birinci kök: %f\n', c)

% D şıkkı
f = @(x) -12 -21*x + 18*x^2 - 2.75*x^3;
df = @(x) -21 + 36*x - 8.25*x^2;
x0 = 1;
tol = 1e-6;
maxiter = 100;
for i = 1:maxiter
fx = f(x0);
fpx = f(x0);
x1 = x0 - fx/fpx;
if abs(x1-x0) < tol
break;
end
x0 = x1;
end
disp(['Birinci kök: ', num2str(x1)]);

You might also like