Matlab internal rate of return

You can post your problem related to MATLAB Projects here. We will try our best to help you out.
Post Reply
Lucille
Posts:15
Joined:Mon Feb 20, 2017 12:04 pm
Matlab internal rate of return

Post by Lucille » Mon Feb 20, 2017 12:24 pm

You'll have to be easy on me, I am new to matlab and SO. I am having an issue using the matlab solver to calculate internal rate of return(IRR). I saw that the financial toolbox in matlab had a function for this, however I don't believe I have it installed and did not want to get the trial version on their site.

Given the simple nature of my particular IRR calculation, I figured it would be easy enough to simply code in matlab. It is the same yearly cashflow, so what I put into matlab was as follows:

Code: Select all

syms x k;
IRR = solve(investment == yrSavings* symsum((1+x)^-k,1, nYears));
It doesn't fail, and in fact gives a number. The only problem is the the result is incorrect! I type in the IRR manually and it never equals the investment. Using wolframalpha I found the actual solution, went back and manually typed in wolframalpha's answer, and the symsum function returned the correct result. I'm not sure what's up with the solver!

Junaid_Shahid
Posts:110
Joined:Tue Feb 14, 2017 9:00 am

Re: Matlab internal rate of return

Post by Junaid_Shahid » Mon Feb 20, 2017 12:25 pm

Lucille wrote:
Mon Feb 20, 2017 12:24 pm
You'll have to be easy on me, I am new to matlab and SO. I am having an issue using the matlab solver to calculate internal rate of return(IRR). I saw that the financial toolbox in matlab had a function for this, however I don't believe I have it installed and did not want to get the trial version on their site.

Given the simple nature of my particular IRR calculation, I figured it would be easy enough to simply code in matlab. It is the same yearly cashflow, so what I put into matlab was as follows:

Code: Select all

syms x k;
IRR = solve(investment == yrSavings* symsum((1+x)^-k,1, nYears));
It doesn't fail, and in fact gives a number. The only problem is the the result is incorrect! I type in the IRR manually and it never equals the investment. Using wolframalpha I found the actual solution, went back and manually typed in wolframalpha's answer, and the symsum function returned the correct result. I'm not sure what's up with the solver!
The way you have the formula written, the symbolic assumption is that you are using x as the iterator variable. I believe you want to use k. Try this:

Code: Select all

syms x k;
IRR = solve(investment == yrSavings* symsum((1+x)^-k,k,1, nYears));
Read More: FINANCIAL CALCULATIONS IN MATLAB

Post Reply