Added new files for Numerical Analysis

This commit is contained in:
2018-09-22 15:27:54 -04:00
parent 52997050f5
commit 3b669a2979
7 changed files with 197 additions and 0 deletions

30
Secant.m Normal file
View File

@@ -0,0 +1,30 @@
function [xList, errorList] = Secant(f, p0, p1, errorAllowed)
%
%Secant(f, p0, p1, errorAllowed)
%This function find the root of a function using the Secant Method
%
pkg load symbolic;
warning('off','OctSymPy:sym:rationalapprox');
maxIt = 50;
cnt = 2;
q0 = double(subs(f,p0));
q1 = double(subs(f,p1));
currentError = errorAllowed + 1;
p = 0;
while((cnt <= maxIt) && (currentError >= errorAllowed))
p = p1 - (q1 * (p1 - p0))/(q1 - q0);
currentError = abs(p - p1);
%Add the x and error values to memory
xList(end+1) = p;
errorList(end+1) = currentError;
%Setup for the next run
++cnt;
p0 = p1;
q0 = q1;
p1 = p;
q1 = double(subs(f,p));
end
end