Problem
If a certain amount of money (called the principal P ) is invested in a bank account, earning an interest rate i compounded annually, the total amount of money Tn that will be in the account after n years is given by:
Tn = P(1+i)n
Write a function that will receive input arguments for P, i, and n, and will return the total amount of money Tn. Also, give an example of calling the function.Solution
The above problem has been taken from the book Practical introduction to Matlab Programming by Stormy Attway. This is a very good book and a must read for every matlab programmer who wants to become a professional. This book is also for beginners if you want to start from scratch and become a professional.
I think the question is very explanatory by itself so that I don't have to give you explanation about the same. If you want to know more about the money deposited(principal), interest, total amount then you can go here: Interest rate - Wikipedia.
This problem is easy and you can solve it directly if you know what functions are. If you don't know what functions are then please refer to Matlab Function. Refer to the program first and then if you want a detailed explanation then refer to explanation section. Some of the concepts you need to know to solve this problem are as follows:
1) Functions in Matlab
2) Matlab Comments
3) variables in Matlab
4) Operator precedence in Matlab
5) Matlab fprintf
This problem is easy and you can solve it directly if you know what functions are. If you don't know what functions are then please refer to Matlab Function. Refer to the program first and then if you want a detailed explanation then refer to explanation section. Some of the concepts you need to know to solve this problem are as follows:
1) Functions in Matlab
2) Matlab Comments
3) variables in Matlab
4) Operator precedence in Matlab
5) Matlab fprintf
Program
1 2 3 4 5 6 7 8 9 10 11 | function total_amount = interest(principal, interest_rate, years) %This function will calculate the toatal amount %that the user should get after 'n' years. %Documentation of this function is as follows: %interest(principal, interest_rate, years) %You can calculate the total amount that will be returned. total_amount = principal*((1+interest_rate)^years); fprintf('for principal = %.3f \ninterest rate = %.3f \nyears = %.3f\n',principal, interest_rate, years) end |
Explanation
Line 1: Here I have initiated a function saying that the return value will be the total_amount variable and the function name will be interest. The parameters that are to be entered in the function are principal, interest_rate and years in the order.
Functions in Matlab |
Line 2-6: These are Matlab comments. But they have some specialty - You can see that after the comments are completed I have left a blank line which tell to the Matlab that these comments are not simply comments but they are documentation for the function. So by typing help interest you will get the comments as documentation.
help interest - getting the documentation of the function |
Line 8: As the value has to be returned is total_amount we are creating a variable to store the value of the required answer in the same variable name. We are converting the equation given in the question as Matlab equivalent and writing in the code.
Line 10: We are using the fprintf function to display the user input data only and not the output data because - anyways matlab is going to return.
Line 11: End to represent that the function is over upto here.
Line 11: End to represent that the function is over upto here.
Input/Output
interest calculations in Matlab |
Final Note
I have high lighted the above program using hilite.me.
I have tried to explain every part in this program in such a way that it is easy for everyone to understand. If you have any doubt or didn't understand anything then please do contact me or comment in the comment box below. You can contact me from here: contact me
Keywords: interest, principal, total_amount, bank, account