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
Mesaj 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.
Mesaj 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,218,247
Mesajlar
11,042,449
Üyeler
197,412
Son üye
ugurrrceee
Geri
Top