Denklemlerin köklerinin bulunmasında uygulanan metodlardan Hatalı Konum Metodu nu ele alacağız bu yazımızda.
Hatalı Konum Metodu Matlab Kodları -1 :
%Hatalı Konum Metodu fonksiyon=input('Fonksiyonu giriniz:','s'); f=inline(fonksiyon) %f adında bir inline fonksiyon tanımlanır x1=input('x1 değerini giriniz:'); xu=input('xu degerini giriniz:'); i=1; %iterasyon tol=0.00001; %tolerans clc fprintf('iter \t\t x1 \t\t xu \t\t xr \t\t y(xr) \n'); fprintf('----------------------------------------------------------------------------------------------------- \n'); xr=xu-f(xu)*(xu-x1)/(f(xu)-f(x1)); %while dongusunde f(xr) degerinin kontrolü için xr tek seferlik hesaplanir while abs(f(xr))>tol %f(xr) toleransdan büyük olduğu sürece aşağıdaki işlemleri yap xr=xu-f(xu)*(xu-x1)/(f(xu)-f(x1)); %xr değeri formulden hesaplanır fprintf('%g \t %g \t %g \t %g \t %g \n',i,x1,xu,xr,f(xr)); %değerler ekrana bastırılır i=i+1; if (f(x1)*f(xr)<0); xu=xr; else x1=xr; end end
Hatalı Konum Metodu Matlab Kodları – 2 :
%Hatalı Konum Metodu fonksiyon=input('Fonksiyonu giriniz:','s'); f=inline(fonksiyon) %f adında bir inline fonksiyon tanımlanır x1=input('x1 değerini giriniz:'); xu=input('xu degerini giriniz:'); tol=0.00001; clc fprintf('iter \t\t x1 \t\t xu \t\t xr \t\t y(xr) \n'); fprintf('----------------------------------------------------------------------------------------------------- \n'); for i=1:50 xr=xu-f(xu)*(xu-x1)/(f(xu)-f(x1)); fprintf('%g \t %g \t %g \t %g \t %g \n',i,x1,xu,xr,f(xr)); if abs(f(xr))<tol; break end if (f(x1)*f(xr)<0); xu=xr; else x1=xr; end end