a MATLAB script for a comparison of approximate error rates of four methods (please modify available codes for calculating each approximate error of each iteration) SECANT METHOD clear all close all clc f=@(x) (x^2-2); %Write your function f(x), where f(x)=0. % Root lies between in the interval (a, b). a=input('\n Enter left point of interval '); b=input('\n Enter right point of interval '); epsilon=input('\n Enter the error '); %error of tolerance you want. for exmple 0.001 or 0.0001 etc. err=abs(b-a); % compare err = abs(f(xr)) with err=abs(b-a)??? %xr if f(a)*f(b)>0
Write a MATLAB script for a comparison of approximate error rates of four methods (please modify available codes for calculating each approximate error of each iteration)
SECANT METHOD
clear all
close all
clc
f=@(x) (x^2-2); %Write your function f(x), where f(x)=0.
% Root lies between in the interval (a, b).
a=input('\n Enter left point of interval ');
b=input('\n Enter right point of interval ');
epsilon=input('\n Enter the error '); %error of tolerance you want. for exmple 0.001 or 0.0001 etc.
err=abs(b-a); % compare err = abs(f(xr)) with err=abs(b-a)???
%xr
if f(a)*f(b)>0
disp('wrong choice !')
else
while err > epsilon
xr=(a*f(b)-b*f(a))/(f(b)-f(a));
a=b;
b=xr;
err=abs(b-a);
root=xr;
end
fprintf('\n The root is %4.3f ',root);
end
BISECTION
clear all
close all
clc
%f =@(x) (x^3-1)
f=@(x) (x^3-1); %Write your function f(x), where f(x)=0.
% Root lies between in the interval (a, b).
a=input('\n Enter left point of interval ');
b=input('\n Enter right point of interval ');
epsilon=input('\n Enter the error '); %error of tolerance you want. for exmple 0.001 or 0.0001 etc.
err=abs(b-a); % compare err = abs(f(xr)) with err=abs(b-a)???
%xr
if f(a)*f(b)>0
disp('wrong choice !')
else
while err > epsilon
xr=(a+b)/2
a=b;
b=xr;
err=abs(b-a);
root=xr;
end
fprintf('\n The root is %4.3f ',root);
end
NEWTON RAPHSON
clc;
close all;
clear all;
syms x;
f=x^2-2
n=input(' enter required decimal places')
g=diff(f) %The Derivative of the Function
epsilon = 10^-(3) % precision
x0 = input('Enter the intial approximation:');
N=input(' the number of iteration')
for i=1:N
F=double(subs(f,x,x0)); %Calculating the value of function at x0
F_deriv=double(subs(g,x,x0)); %Calculating the value of function derivative at x0
y=x0-F/F_deriv; % The Formula
err=abs(y-x0);
if err<epsilon %checking the amount of error at each iteration
break
end
x0=y;
end
y = y - rem(y,10^-n); %Displaying upto required decimal places
fprintf('The Root is : %f; the number of iteration :%d ',y, i);
Trending now
This is a popular solution!
Step by step
Solved in 2 steps