MATHLAB
MATHLAB
% Constants
K = 10^-146;
K1 = 10^-6.3;
K2 = 10^-10.3;
Kw = 10^-14;
Ka = 10^-1;
% Equilibrium equations
H = 10^(-pH);
CO2 = 10^(-pCO2);
% Column vector
f = f';
end
Now, let's create MATLAB function files for each of the root-finding methods (bisection, regula falsi,
Newton-Raphson, and Secant):
if nargin < 5
maxit = 100;
end
if nargin < 4
es = 0.0001;
end
iter = 0;
xr = xl;
ea = 100;
while (1)
xrold = xr;
xr = (xl + xu) / 2;
iter = iter + 1;
if xr ~= 0
end
if test < 0
xu = xr;
xl = xr;
else
ea = 0;
end
break
end
end
root = xr;
iterations = iter;
end
if nargin < 5
maxit = 100;
end
if nargin < 4
es = 0.0001;
end
iter = 0;
xr = xl;
ea = 100;
while (1)
xrold = xr;
iter = iter + 1;
if xr ~= 0
end
if test < 0
xu = xr;
xl = xr;
else
ea = 0;
end
break
end
end
root = xr;
iterations = iter;
end
if nargin < 4
maxit = 100;
end
if nargin < 3
es = 0.0001;
end
iter = 0;
xr = x0;
ea = 100;
while (1)
xrold = xr;
iter = iter + 1;
if xr ~= 0
end
break
end
end
root = xr;
iterations = iter;
end
if nargin < 5
maxit = 100;
end
if nargin < 4
es = 0.0001;
end
iter = 0;
ea = 100;
while (1)
iter = iter + 1;
if x2 ~= 0
end
break
end
x0 = x1;
x1 = x2;
end
root = x2;
iterations = iter;
end