2012-12-08 58 views
2

你必須對我容易,我是新來的matlab和SO。我有一個使用matlab求解器計算內部收益率(IRR)的問題。我看到在matlab中的財務工具箱有一個功能,但我不相信我已經安裝了它,並不想在他們的網站上獲得試用版。Matlab內部收益率

鑑於我的特定IRR計算的簡單性,我認爲在matlab中簡單編碼會很容易。這是相同的現金流每年,所以我投入MATLAB如下:

syms x k; 
IRR = solve(investment == yrSavings* symsum((1+x)^-k,1, nYears)); 

它不會失敗,其實給出了許多。唯一的問題是結果不正確!我手動輸入IRR,它永遠不會等於投資。使用wolframalpha我找到了實際的解決方案,返回並手動輸入wolframalpha的答案,symsum函數返回正確的結果。我不確定解決者有什麼問題!

回答

2

您的公式編寫方式的符號假設是您使用x作爲迭代變量。我相信你想用k。試試這個:

syms x k; 
IRR = solve(investment == yrSavings* symsum((1+x)^-k,k,1, nYears)); 
+0

這個修好了!謝謝!讓我搖頭,我沒有接受。 現在開始篩選出複雜的解決方案:) – Sooji

+0

不要忘記接受答案 – PearsonArtPhoto

+1

'syms x k real'將避免複雜的解決方案。 –