Solve Symsum equation for implied discount rate

1 visualización (últimos 30 días)
peterhack
peterhack el 2 de Jul. de 2016
Comentada: peterhack el 3 de Jul. de 2016
Dear All,
I am trying to solve for a discount rate which sets the net present value to a specific value.
Stream = [-20000, 2000, 2500, 3500, -5000, 6500,...
9500, 9500, 9500];
syms x k real;
eqn = symsum(Stream(1,k)*(1+x)^-k,k,1, length(Stream)) == 5274;
solx = solve(eqn,x)
Could anyone help to get the exact number for x?
Thanks in advance!

Respuesta aceptada

Walter Roberson
Walter Roberson el 2 de Jul. de 2016
symsum() cannot be used for indexing. Create a vector of symbolic values and sum() that.
eqn = sum(Stream .* (1+x).^-(1:length(Stream))) == 5274
  1 comentario
peterhack
peterhack el 3 de Jul. de 2016
This did the trick. Additionally I have used vpasolve over a certain intervall to get the numeric value:
syms x k real;
eqn = sum(Stream .* (1+x).^-(1:length(Stream))) == 5274;
alpha = vpasolve(eqn,x,[0 1])

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Physics en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by