MATLAB'da yaşadığım sorun

MigrosJET

80+ Bronze
Katılım
9 Ocak 2021
Mesajlar
688
Reaksiyon skoru
227
Bisection metodu ile verilen fonksiyonun belirli bölgelerdeki kökünü bulmaya çalışıyorum. Kökünü doğru şekilde buluyor ancak her adımda hesapladığı xnew değerlerini fonksiyonun kendi grafiği üzerinde göstermek istiyorum. Nasıl yapabilirim?
Kod:
function [xnew,step]=kokbulma(xleft,xright)
f=inline('x*(exp(x))-cos(x)','x');
a=xleft; b=xright; step=1;
xnew=(a+b)/2; fa=f(a);
error=100;

while (error>0.005)
fnew=f(xnew);
if sign(fnew) == sign(fa)
        a = xnew;
        fa = fnew;
else
        b = xnew;
        fb = fnew;
end
step=step+1;  x_old=xnew;  xnew=(a+b)/2;
error=abs(xnew-x_old)/xnew*100;
plot(xnew,f)
end
return;
end
Mesajlar otomatik olarak birleştirildi:

Bisection metodu ile verilen fonksiyonun belirli bölgelerdeki kökünü bulmaya çalışıyorum. Kökünü doğru şekilde buluyor ancak her adımda hesapladığı xnew değerlerini fonksiyonun kendi grafiği üzerinde göstermek istiyorum. Nasıl yapabilirim?
Kod:
function [xnew,step]=kokbulma(xleft,xright)
f=inline('x*(exp(x))-cos(x)','x');
a=xleft; b=xright; step=1;
xnew=(a+b)/2; fa=f(a);
error=100;

while (error>0.005)
fnew=f(xnew);
if sign(fnew) == sign(fa)
        a = xnew;
        fa = fnew;
else
        b = xnew;
        fb = fnew;
end
step=step+1;  x_old=xnew;  xnew=(a+b)/2;
error=abs(xnew-x_old)/xnew*100;
plot(xnew,f)
end
return;
end
18. satıra plot(xnew,f) yazdığımda hata veriyor, ezplot(f) yazdığımda sadece fonksiyonun grafiğini çiziyor. Benim bu grafiğin üstünde hesaplanılan her yeni xnew değerini göstermem gerekiyor.
Mesajlar otomatik olarak birleştirildi:

Hallettim, plot yerine bunları yazdım:
ezplot(f)
hold on
plot(xnew,fnew,'b--*')
 
Son düzenleme:
Yeni mesajlar Yeni Konu Aç  

   

SON KONULAR

Forum istatistikleri

Konular
1,185,674
Mesajlar
10,689,473
Üyeler
188,146
Son üye
silem
Geri
Top