having trouble optimizing a NPV

조회 수: 13 (최근 30일)
jxl
jxl 2022년 10월 21일
답변: Sam Chak 2022년 10월 21일
So I am trying to find the optimization for r, however i can never get yval to equal 0
rinit=0.05;
[npvmin,yval]=fminsearch(@tsk,rinit);
function [npv]=tsk(r)
outlay=1000;
t=[0.25;0.5;0.75;1;1.25;1.5];
cf=[250;100;150;200;250;200];
asx = cf./((1+r).^t);
npv=sum(asx);
end

답변 (1개)

Sam Chak
Sam Chak 2022년 10월 21일
Hi @jxl
The function tsk(r) seems to be converging asymptotically to zero as .
r = linspace(0, 1000, 10001);
plot(r, tsk(r)), grid on, xlabel('r')
rinit = 0.05;
[npvmin, yval] = fminsearch(@tsk, rinit)
Exiting: Maximum number of function evaluations has been exceeded - increase MaxFunEvals option. Current function value: 0.000033
npvmin = 3.1691e+27
yval = 3.3320e-05
function [npv] = tsk(r)
outlay = 1000;
t = [0.25; 0.50; 0.75; 1.00; 1.25; 1.50];
cf = [250; 100; 150; 200; 250; 200];
asx = cf./((1 + r).^t);
npv = sum(asx);
end

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by