/*Calcula a raiz da função
V(i)= -C+sum[pj(1+i)^{-j}], j=1:12, com pj fixo.
pelo método de Newton-Raphson
Marcos R Pinnto
*/
clear;
function newton_raphson(C, pj, n, x0, e1)
//C capital
//pj é o valor da prestação fixa
//n é o número de períodos
//x0 1a aproximação dada pelo usuário
//e1 epsilon 1
function [y]=f(x)
SP = 0;
for j=1:n
SP = SP+(1+x)^(-j);
end
y=-C+pj*SP;
endfunction
function [dy]=df(x)
sp = 0;
for j=1:n
sp = sp-j*(1+x)^(-j-1);
end
dy=pj*sp;
endfunction
x=0;
while abs(f(x0))>e1
x = x0 - f(x0)/df(x0);
x0 = x;
end
printf('\nEm percentual, a taxa de juros periódica é %g',100*x);
endfunction
/*Exemplo: Calcular a taxa implícita de juros sobre R$ 500,00 a serem
pagos em 12 prestações iguais de R$ 55,00.
Use a função da seguinte forma:
newton_raphson(500,12,55,0.01,0.0001)
*/