Skip to main content

Total Amount after n years - bank interest calculation using Matlab

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

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
I have saved this file as interest.m on my local computer.

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 - How to create functions in Matlab
Functions in Matlab
Here the variable is the one that is going to be returned and the name is the function name. Parameters can be any number of variables that you want the user to give input.
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 function to get the documentation of the function - help interest
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.

Input/Output

interest, total amount calculation in Matlab
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

Popular posts from this blog

Making a quiz web app with python and flask

Edit : When you are creating a web app with h tml templates, then y ou will have to sa ve the html file in templates folder in the Current Wor ki ng Directory( CWD). If you save the file in the C W D directl y you will get a TemplateNotFound error. Thank you Udhay for pointing it out.   In this post we will create a quiz website using python . I will be using the flask framework . After reading this tutorial you will learn form submission , flask templates , python code in flask templates , shuffling the questions and options with the random module and few others.  Please note that this tutorial is not big as it seems to be. Some of the code has been rewritten to maintain consistency and also font size is somewhat big so that your eyes won't get stressed reading this tutorial. Also the content has not occupied the full width of the page. In this tutorial I am assuming that you are having a very basic understanding of the flask framework . Please refer the documentation

Problem 11 Project Euler Solution with python

Largest product in a grid In the 20×20 grid below, four numbers along a diagonal line have been marked in red. 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40 04 52 08 83 97 35 99 16 07

Problem 60 Project Euler Solution with python

Prime pair sets The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes and concatenating them in any order the result will always be prime. For example, taking 7 and 109, both 7109 and 1097 are prime. The sum of these four primes, 792, represents the lowest sum for a set of four primes with this property. Find the lowest sum for a set of five primes for which any two primes concatenate to produce another prime. This problem is j u st a brute force problem. If you have come here because you don't know the limit upto which you will h ave to gener ate the prime numbers t hen go ahe ad and t r y with 10,000 . When I first start ed solving the problem I chose 1 million(beca use most of the problem s on project E uler have this limit ), but it took very long for the computer to fin d the solution. After searching on the internet then I found many people choosing 10, 000 so I have changed my in put f rom 1 million to 10000 and the output was f ast. He